二.运算符

二.运算符

运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。

1.算术运算符

算术运算符是对数值类型的变量进行运算的,在 Java 程序中使用的非常多

 

++: 如果是变量前缀:先对此变量加 1,再执行其他的操作。 如果是变量后缀:先执行当前语句的其他操作,再对此变量加 1

--: 如果是变量前缀:先对此变量减 1,再执行其他的操作。 如果是变量后缀:先执行当前语句的其他操作,再对此变量减 1

public static void main(String[] args) {
    // /使用
    System.out.println(10 / 4); //从数学来看是 2.5, java 中 2
    System.out.println(10.0 / 4); //java 是 2.5
    // 注释快捷键 ctrl + /, 再次输入 ctrl + / 取消注释
    double d = 10 / 4;//java 中 10 / 4 = 2, 2=>2.0
    System.out.println(d);// 是 2.0
    // % 取模 ,取余
    // 在 % 的本质 看一个公式!!!! a % b = a - a / b * b
    // -10 % 3 => -10 - (-10) / 3 * 3 = -10 + 9 = -1
    // 10 % -3 = 10 - 10 / (-3) * (-3) = 10 - 9 = 1
    // -10 % -3 = (-10) - (-10) / (-3) * (-3) = -10 + 9 = -1
    System.out.println(10 % 3); //1
    System.out.println(-10 % 3); // -1
    System.out.println(10 % -3); //1
    System.out.println(-10 % -3);//-1
    //++的使用
    //
    int i = 10;
    i++;//自增 等价于 i = i + 1; => i = 11
    ++i;//自增 等价于 i = i + 1; => i = 12
    System.out.println("i=" + i);//12
    /*
    作为表达式使用
    前++:++i 先自增后赋值
    后++:i++先赋值后自增
    */
    int j = 8;
    //int k = ++j; //等价 j=j+1;k=j;
    int k = j++; // 等价 k =j;j=j+1;
    System.out.println("k=" + k + "j=" + j);//8 9
}

2. 关系运算符(比较运算符)

1) 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false

2) 关系表达式 经常用在 if 结构的条件中或循环结构的条件中

 

1) 关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false。

2) 关系运算符组成的表达式,我们称为关系表达式。 a > b

3) 比较运算符"=="不能误写成"="

 

3.逻辑运算符

用于连接多个条件(多个关系表达式),最终的结果也是一个 boolean 值。

1) 短路与 && , 短路或 ||,取反 !

2) 逻辑与 &,逻辑或 |,^ 逻辑异或

 

1) a&b : & 叫逻辑与:规则:当 a 和 b 同时为 true ,则结果为 true, 否则为 false

2) a&&b : && 叫短路与:规则:当 a 和 b 同时为 true ,则结果为 true,否则为 false

3) a|b : | 叫逻辑或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

4) a||b : || 叫短路或,规则:当 a 和 b ,有一个为 true ,则结果为 true,否则为 false

5) !a : 叫取反,或者非运算。当 a 为 true, 则结果为 false, 当 a 为 false 是,结果为 true

6) a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false

 

&& 和 & 使用区别

1) &&短路与:如果第一个条件为 false,则第二个条件不会判断,最终结果为 false,效率高

2) & 逻辑与:不管第一个条件是否为 false,第二个条件都要判断,效率低

 

4.赋值运算符

赋值运算符作用是将一个值赋给一个变量,运算顺序从右到左

5.三元运算符

X ? Y : Z X 为 boolean 类型表达式,先计算 x 的值,若为 true,整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。

 

6.运算符优先级

posted @ 2021-10-26 21:33  brysjs  阅读(153)  评论(0)    收藏  举报