`
god_sky
  • 浏览: 141562 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 运算符

    博客分类:
  • java
阅读更多

package com.sky.basic;


public class Operator {
 
 /**
  * 计算运算符:+,-,*,/;
  * @author sky
  */
 private void computOperator(){
  int a=8;
  int b=5;
  //对于除法运算,根据基本类型的自动转换规则,当除数和被除数都是整数时,得到的结果
  //也是整数。因此8/5得到的是1,而不是1.6
  int f=a/b;
  double g=a/b;
  System.out.println("\n\t f=a/b = "+f+"; (g=a/b = )"+g);
  //只要除数和被除数中有一个为double或者float,结果就不同了,8/5.0得到是1.6
  double h=a/(b*1.0d);
  float i=a/(b*1.0f);
  System.out.println("\n\t h=a/(b*1.0d)="+h+"i=a/(b*1.0f)= "+i);
 }
 
 /**
  * 比较运算符:==;<;>;!=;<=;>=;
  */
 private void compareOperator(){
  int a=5;
  int b=10;
  System.out.println("\n\t (a==b)="+(a==b));
  System.out.println("\n\t (a<b) ="+(a<b));
  System.out.println("\n\t(a>b)="+(a>b));
  System.out.println("\n\t(a!=b)="+(a!=b));
  System.out.println("\n\t(a<=b)="+(a<=b));
  System.out.println("\n\t(a>=b)="+(a>=b));
  System.out.println("\n\t(a=b)="+(a=b));
 }

 /**
  * 位运算符:&;|;^;~;>>;>>>;<<;
  */
 private void bitOperator(){
  byte a=23;//"00010111"
  byte b=6; //"00011010"
  //按位与,两个运算数都为1时,结果为1,其余结果为0;
  int c=a&b;//"00010010";
  System.out.println("\n\t (c=a&b)="+c);
  //按位或,两个运算数都为0是结果为0,其余结果为1;
  int d=a|b;//"00011111"
  System.out.println("\n\t (d=a\b)="+d);
  //按位异或,两个运算数相同时结果0,不同时为1;
  int e=a^b;//"00001101";
  System.out.println("\n\t (e=a^b)="+e);
  //按位非,0变1,1变0
  int f=~a;//"11101000";
  //注意:java采用二进制补码存储数字,整数的原码和补码一致
  //对于负数,符号不变,将原码取反然后加1,得到补码,
  //补码"11101000"对应的源码是"10011000"即-24;
  System.out.println("\n\t f"+f);
  //右移,左边空出以符号位填充
  int g=a>>1;//"00001011"
  System.out.println("\n\t (g=a>>1)="+g);
  //右移,左边空出以0填充
  int h=a>>>1;//"00001011"
  System.out.println("\n\t (h=a>>>1)="+h);
  //对负数操作时,>>和>>>得到的结果会不一样
  System.out.println("\n\t (-24>>1) ="+(-24>>1)+";(-24>>>1)="+(-24>>>1));
  //左移
  int i=a<<1;//"00101110"=46
  System.out.println("\n\t (a<<1)="+(a<<1));
 }
 
 /**
  * 布尔运算符:&&;||;!;&;|;^;
  */
 private void booleanOperator(){
  boolean b1=true;
  boolean b2=true;
  boolean b3=false;
  //&&运算符:对运算数进行与运算,当所有运算数都为true时,结果为true,
  //否则结果为false
  if(b1&&b2&&b3){
   System.out.println("\n\t变量b1,b2,b3的值都为true");
  }else{
   System.out.println("\n\t变量b1,b2,b3中至少有一个值为false");
  }
  //注意&&是短路与,意思是:当对运算数的表达式进行从左到右运算时,若遇到有运算
  //数的值为false,则结束运算,将结果置为false
  int i=2;
  int j=0;
  if(b3&&((j=i)==2)){
  }
  System.out.println("\n\t j = "+j);
  if(b1&&((j=i)==2)){
  }
  System.out.println("\n\t j = "+j);
  //||运算符:对运算数进行或运算,当所有运算数都为false时,结果为false,否则结果为true
  if(b1||b2||b3){
   System.out.println("\n\t变量b1,b2,b3中至少有一个的值为true");
  }else{
   System.out.println("\n\t变量b1,b2,b3的值都为false");
  }
  //同样,||是短路或,意思是:当对运算数的表达式进行从左到右运算时,若遇到
  //有运算数的值为true,就结束运算,将结果置为true;
  if(b1||((j=j-1)==1)){
  }
  System.out.println("\n\t j = "+j);
  if(b3||((j=j-1)==1)){
  }
  System.out.println("\n\t j = "+j);
  //!运算符:对运算数的值进行取反运算,运算数位true,取反为false
  if(!b1){
   System.out.println("\n\t变量b1为false,因为b1取反后的值为true");
  }else{
   System.out.println("\n\t变量b1为true,因为b1取反后的值为false");
  }
  //&运算符,和&&一样,对运算数做与操作,不同的是它不是短路的,它会运算完所有的运算数表达式
  if(b3&((j=i)==2)){
   System.out.println("\n\tb3&((j=i)==2):true");
  }else{
   System.out.println("\n\tb3&((j=i)==2):false");
  }
  System.out.println("\n\t j="+j);
  if(b1&((j=j-1)==0)){
  }
  System.out.println("\n\t j="+j);
  //|运算符,和||一样,对运算数进行或操作,但它不是短路
  if(b1|((j=1)==2)){
   System.out.println("\n\t b1|((j=1)==2):true");
  }else{
   System.out.println("\n\t b1|((j=1)==2):false");
  }
  System.out.println("\n\t j = "+j);
  if(b3|((j=j-1)==1)){
  }
  System.out.println("\n\t j = "+j);
  //^运算符,对运算数做异常或操作,相同为false,不同为true
  if(b1^b2){
   System.out.println("\n\t变量b1,b2的值不同");
  }else{
   System.out.println("\n\t变量b1,b2的值一样");
  }
 }
 
 /**
  * 赋值运算符:=;+=;*=;&=;|=;^=;
  */
 private void evalueOperator(){
  //=是最常见的赋值运算符
  int i=5;//变量i 的赋值为5
  //+=运算符是先将运算符左边的运算数的值加上右边的运算数的值
  //将结果再赋值给运算符左边的运算数
  i+=3;//等价于i=i+3;
  i-=3;//等价于i=i-3;
  i*=3;//等价于i=i*3;
  i/=3;//等价于i=i/3;
  i&=3;//等价于i=i&3;
  System.out.println("\n\t(i&3) = "+i);
  i|=3;//等价于i=1|3;
  System.out.println("\n\t(i|=3) = "+i);
  i^=3;//等价于i^=3;
  System.out.println("\n\t (i^=3)="+i);
 }
 
 /**
  * 其他运算符:三元运算符;++;--;-;
  */
 private void otherOperator(){
  int i=5;
  //++是将运算数加1
  //++i表示先将i加1后再进行运算
  if(i++==5){
   System.out.println("\n\t 表达式(i++==5)的值为true");
  }else{
   System.out.println("\n\t 表达式(i++==5)的值为false");
  }
  System.out.println("\n\t i="+i);
  //i++表示先进行运算,再讲i的值加1
  i=5;
  if(++i==5){
   System.out.println("\n\t 表达式(++i==5)的值为true");
  }else{
   System.out.println("\n\t 表达式(++i==5)的值为false");
  }
  System.out.println("\n\t i = "+i);
  //--将运算数减1,同样,--i是将i减1,再进行运算;i--是先进行运算,再将i减1
  i--;
  --i;
  //可以用三目运算符替代简单的if语句
  //格式是:x=a?b:c;如果a的值为true,则将b的值赋予x,否则将c的值赋予x。
  int x=(i>=0)?i:-i;//将一个减号-和数字连用,是取数字的负数
  System.out.println("\n\t i的绝对值为:"+x);
 }
 

 public static void main(String[] args) {
  Operator operator=new Operator();
  System.out.println("\n\t 计算运算符方法的输出:");
  operator.computOperator();
  System.out.println("\n\t 比较运算符方法的输出:");
  operator.compareOperator();
  System.out.println("\n\t 位运算符方法的输出:");
  operator.bitOperator();
  System.out.println("\n\t 布尔运算符方法的输出:");
  operator.booleanOperator();
  System.out.println("\n\t 赋值运算符方法的输出:");
  operator.evalueOperator();
  System.out.println("\n\t 其他运算符方法的输出:");
  operator.otherOperator();
 }

}

分享到:
评论

相关推荐

    java运算符小程序

    Java运算符是编程语言中用于执行特定操作的关键符号,它们在Java程序中起着至关重要的作用,帮助我们处理数据和控制程序流程。在这个"java运算符小程序"中,我们可以探索和学习Java中的各种运算符及其用法。 1. **...

    java运算符优先级表

    非常详细的java运算符优先级表,帮助记住优先级顺序

    28.java运算符.zip

    28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符.zip28.java运算符...

    Java运算符介绍.pptx.pptx

    Java运算符是编程语言中不可或缺的部分,它们帮助程序员执行各种计算和逻辑判断。在Java中,运算符主要分为四大类:算术运算符、关系运算符、逻辑运算符和位运算符。 1. **算术运算符** - 加法运算符 (+):将两个...

    04-JAVA运算符思维导图

    JAVA运算符思维导图,便捷整理思路,算数运算符、连接运算符、赋值运算符、扩展赋值运算符、三目运算符、逻辑运算符、关系运算符

    javaJava运算符+(优先级、目数)

    Java运算符+(优先级、目数)

    java运算符与优先级

    java运算符与优先级,完善版本。 谢谢,

    Java运算符+(优先级、目数)+.doc

    Java运算符是编程中至关重要的组成部分,它们用于执行各种计算和逻辑操作。了解运算符的优先级和目数对于编写高效、准确的代码至关重要。在Java中,运算符按照其功能分为不同的类别,并且有不同的结合性和目数。 1....

    java运算符大全

    Java运算符是编程语言中用于执行特定计算或操作的符号。了解这些运算符对于编写高效、清晰的Java代码至关重要。以下是对Java运算符及其优先级的详细解释: 1. **点运算符** (.): 用于访问类的成员,如属性和方法。...

    Java运算符优先级

    ### Java运算符优先级详解 在Java编程语言中,了解并正确使用运算符优先级对于构建高效、可读性强的程序至关重要。虽然建议在实际开发过程中通过使用括号来明确表达式的计算顺序,而非依赖于复杂的优先级规则,但...

    Java运算符的使用

    Java运算符是编程中不可或缺的部分,它们用于执行各种计算和逻辑操作。Java提供了四大类运算符:算术运算符、位运算符、关系运算符和逻辑运算符。 1. **算术运算符**: - `+`:加法运算,可用于整数、浮点数的相加...

    java 运算符学习笔记 java 运算符学习笔记

    java 运算符学习笔记

    JAVA 运算符的基本了解与使用

    Java 运算符可以分为以下几类:算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、三元运算符等。 1. 算术运算符 算术运算符是最基本的运算符,包括加法 (+)、减法 (-)、乘法 (*)、除法 (/)、取余 (% )...

    java运算符优先级.doc

    Java 运算符优先级和异常处理 Java 是一种面向对象的编程语言,它提供了丰富的运算符和异常处理机制,以帮助开发者更好地编写程序。在本文中,我们将详细介绍 Java 运算符的优先级和常见的异常类型,以及它们的解决...

    Java 运算符 动力节点Java学院整理

    Java运算符是编程语言中不可或缺的部分,它们用于执行各种计算、比较和逻辑操作。在Java中,运算符主要分为四大类:算数运算符、关系运算符、逻辑运算符和位运算符。 **算数运算符** 包括加(+), 减(-), 乘(*), 除(/...

    JAVA运算符.pdf

    JAVA运算符是Java编程语言中用于执行各种计算的特殊符号和字符。运算符可以是单一的符号,如加号(+),也可以是关键字,如`instanceof`。Java语言支持多种类型的运算符,主要可以分为以下几类: 1. 算术运算符:...

    java运算符优先级[整理].pdf

    Java 运算符优先级 Java 运算符优先级是指 Java 语言中各种运算符的执行优先级顺序。正确理解运算符优先级对于编写正确的 Java 程序至关重要。 以下是 Java 运算符优先级的详细说明: 1. 点运算符(.) 点运算符...

    java运算符流程控制数组基础题目

    在Java编程语言中,运算符、流程控制和数组是核心概念,它们构成了程序的基本结构。...通过解决相关的题目,开发者可以更好地掌握Java运算符、流程控制和数组的使用,从而编写出更高效、更清晰的代码。

Global site tag (gtag.js) - Google Analytics