Java运算符
算术运算符
区别:
- 
int a = 10 
 System.out.println(++a);//11
 System.out.println(a);//11
- 
int b = 10 
 System.out.println(b++);//10
 System.out.println(b);//11
 注:在(C:\Program Files\Java\jdk1.8.0_60\jre\lib)中的rt.jar压缩包中的(rt.jar\java\io)的(PrintStream.class)文件中有具体细节。
关系运算符
">"  大于
">="  大于等于
"<"  小于
"<="  小于等于
"=="  等于
"!="  不等于
关系运算符的运算结果一定是布尔类型:true/false
逻辑运算符
逻辑与和短路与
- 逻辑与
 int x = 10
 int y = 8
 System.out.println(x < y & ++x < y);
 System.out.println(x);//11
- 短路与
 int x = 10
 int y = 8
 System.out.println(x < y && ++x < y);//++x < y没有被执行
 System.out.println(x);//10
 (某些方面来看,短路与更加智能,由于后面的表达式可能不执行,所以执行效率较高。实际开发中更常用)
 (但是在某些特殊业务中,要求两边式子全部执行,这时要用逻辑与)
 //x < y 结果是false,整个表达式结果已经确定是false,所以后面的表达式没有再执行,这种现象被称为短路现象。
 //短路与才会有短路现象,逻辑与不会存在短路现象。
- 什么情况下会发生短路或?
 第一个表达式执行结果是true,会发生短路或。
- 什么情况下会发生短路与?
 第一个表达式执行结果是false,会发生短路与。
赋值类运算符
- 基本的赋值运算符:=
- 扩展类的赋值运算符(+=  -=  *=  /=  %=)不改变运算结果类型,假设最初这个变量的类型是byte类型,无论怎么追加或追减,最终该变量的数据类型还是byte类型。
 ①
 byte i = 10;
 i += 5;//等同于:i = (byte)(i + 5)
 ②
 int k = 10;
 k += 5;//等同于:k = (int)(k + 5)
 ③
 long x = 10L;
 int y = 20;
 y += x;//等同于:y = (int)(x + 5)
字符串连接算术运算符
- +运算符在Java中的两个作用:
 ①加法运算(求和):数字+数字--->【求和】
 ②字符串的连接:数字+“字符串”--->“字符串”【字符串连接】
 注:在一个表达式当中可以出现多个“+”,在没有小括号的前提下,遵循自左向右的顺序进行依次运算。
 例:
 int a = 10;
 int b = 20;
 System.out.println(a + "+" + b + "=" + (a+b));//10+20=30
三元算术运算符
- 语法规则:
 布尔表达式 ?表达式1:表达式2
- 执行原理:
 当布尔表达式的结果是true的时候,选择表达式1作为整个表达式的执行结果。
 当布尔表达式的结果是false的时候,选择表达式2作为整个表达式的执行结果。
 例①:
 boolean sex = true;
 char a = sex ? '男' : '女'; //不能加双引号(“”)
 System.out.println(a); //男
 例②
 boolean sex = true;
 System.out.println(sex ? '男' : "女"); //输出男,因为print里面可以放字符串也可以放字符。
 例③
 boolean sex = true;
 String s = sex ? "男的" : "女的";
 System.out.println(s); //男的
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号