当前位置:网站首页 > Java基础 > 正文

java零基础学习之运算符



算术运算符:

运算符 说明 例子 结果 + 加法-相加运算符两侧的值 9+9 18 - 减法-左操作数减去右操作数 10-8 2 * 乘法-相乘操作符两侧的值 7*8 56 / 除法-左操作数除以右操作数 9/9 1 % 取余-左操作数除以右操作数的余数 11%9 2 ++

自增(前):先运算后取值

自增(后):先取值后运算

a=2;b=++a;

a=2;b=a++;

a=3;b=3

a=3;b=2

--

自减(前):先运算后取值

自减(后):先取值后运算

a=2;b=--a;

a=2;b=a--;

a=1;b=1

a=1;b=2

算术运算符注意事项:

(1)对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分。

int x = 10/3;//结果是3

(2)当对一个数取模时,可以等价a%b=a-a/b*b,这样我们看到取模的一个本质运算。

(3)当自增当做一个独立语言使用时,不管是++i;还是i++;都是一样的。

关系运算符(比较运算符):

运算符 说明 例子 结果 == 检查如果两个操作数的值是否相等,如果相等则条件为真。 8==7 false != 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 8!=7 true < 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 8<7 false > 检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 8>7 true <= 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 8<=7 false >= 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 8>=7 true

关系运算符注意事项:

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

(2)比较运算符"=="不能误写成"="。==是关系运算符,判断是不是相等,一个=是赋值

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

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

逻辑运算符:

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

a b a&b a&&b a|b a||b !a a^b true true true true true true false false true fasle false false true true false true false true false false true true true true false false false false false false true

false

逻辑运算规则:

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

(2)   a&&b : &java零基础学习之运算符& 叫短路与:规则:当 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

&& 和 &基本规则:

对于&&短路与而言,如果第一个条件为 false ,后面的条件不再判断

对于&逻辑与而言,如果第一个条件为 false ,后面的条件仍然会判断

//&&短路与 使用 int age = 50; if(age > 20 && age < 90) { System.out.println("&&短路与的使用"); } //&逻辑与使用 if(age > 20 & age < 90) { System.out.println("&逻辑与的使用"); }

&& 和 &使用区别:

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

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

(3)   开发中, 我们使用的基本是使用短路与&&, 效率高

|| 和 | 基本规则:

||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高

| 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低

// 短路或|| 的使用 int age = 50; if(age > 20 || age < 30) { System.out.println("短路或|| 的使用"); } // 逻辑或| 的使用 if(age > 20 | age < 30) { System.out.println("逻辑或| 的使用"); }

|| 和 | 使用区别:

(1)   ||短路或:如果第一个条件为 true,则第二个条件不会判断,最终结果为 true,效率高

(2)   | 逻辑或:不管第一个条件是否为 true,第二个条件都要判断,效率低

(3)   开发中,我们基本使用 ||

! 取反 基本规则:

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

//! 操作是取反 T->F , F -> T  System.out.println(60 > 20); //T  System.out.println(!(60 > 20)); //F

^ 基本规则:

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

//a^b: 叫逻辑异或,当 a 和 b 不同时,则结果为 true, 否则为 false  boolean b = (10 > 1) ^ ( 3 > 5); System.out.println("b=" + b);//T

赋值运算符:

赋值运算符就是将某个运算后的值,赋给指定的变量。

赋值运算符的分类:

基本赋值运算符:        eg:  int a = 10;

赋值运算符的特点:

(1)   运算顺序从右往左   int   num =   a + b + c;

int num = 20; int num2= 78 * 34 - 10; int num3 = a;

(3)   复合赋值运算符等价于下面的效果。比如:a+=3;等价于 a=a+3; 其他类推

(4)   复合赋值运算符会进行类型转换。

byte b = 3; b += 2; // 等价 b = (byte)(b + 2); b++;// b = (byte)(b+1);

三元运算符:

语法:

条件表达式 ? 表达式 1: 表达式 2;

使用规则:

1. 如果条件表达式为 true,运算后的结果是表达式 1;

2. 如果条件表达式为 false,运算后的结果是表达式 2;

3. 表达式 1 和表达式 2 要为可以赋给接收变量的类型(或可以自动转换)

4. 三元运算符可以转成 if--else 语句

运算符优先级:

类别 操作符 关联性 符号 () , ; . {} 从左到右 乘、除、余 * / % 从左到右 加、减 + - 从左到右 移位 >> >>> << 从左到右 关系 > >= < <= 从左到右 相等 == != 从左到右 按位与 & 从左到右 按位异或 ^ 从左到右 按位或 | 从左到右 逻辑与 && 从左到右 赋值 = + = - = * = / =%= >> = << =&= ^ = | = 从右到左 条件 ?: 从右到右

运算符优先级规则:

(1)运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序。

(2)只有单目运算符、赋值运算符是从右向左运算的。

(3)不要背,使用多了,就熟悉了

总结:①(),{}等②单目运算 ++--③算术运算符④位移运算符⑤比较运算符⑥逻辑运算符⑦三元运算符⑧赋值运算符

版权声明


相关文章:

  • java基础要学多久2024-11-14 10:58:03
  • java巨基础百度云2024-11-14 10:58:03
  • java基础笔试程序题2024-11-14 10:58:03
  • java gui程序设计基础2024-11-14 10:58:03
  • 尚硅谷java基础2024-11-14 10:58:03
  • java基础架构和业务架构2024-11-14 10:58:03
  • java编程基础工具2024-11-14 10:58:03
  • java基础考点2024-11-14 10:58:03
  • java基础类型初始值2024-11-14 10:58:03
  • java基础的深度问题2024-11-14 10:58:03