Java 一元、二元运算符、三目条件运算符(三元运算符) |
您所在的位置:网站首页 › java运算符怎么定义 › Java 一元、二元运算符、三目条件运算符(三元运算符) |
运算符可以是一元、二元或三元的。 一元运算符有1个操作数。例如,递增运算符"++"就是一元运算符。 二元运算符有2个操作数。例如,除法运算符"/"有2个操作数。 三元运算符有3个操作数。例如,条件运算符"?:"具有3个操作数。 运算符的行为还可能因所提供的操作数的数量而异。减法运算符"-"既是一元运算符又是二元运算符。对于减法运算符,如果只提供一个操作数,则该运算符会对操作数取反并返回结果;如果提供两个操作数,则减法运算符返回这两个操作数的差。例如: // 将减法运算符用作一元运算符(取反运算符) trace(-5); // -5 // 将减法运算符用作二元运算符 trace(9-3); // 6Java 语言支持如下运算符: 算术运算符: +,-,*,/,%,++,-- 赋值运算符 = 关系运算符: >,=,>,>(了解!!!) 条件运算符 ?: 扩展赋值运算符:+=,-=,*=,/=
一元运算符 int a = 3; int b = a++; //执行完后,b=3。先给b赋值,再自增。 int c= ++a; //执行完后,c=5。先自增,再给b赋值
注意:java中的乘幂处理: int a = 3^2; //java中不能这么处理, ^是异或符号。 double b = Math.pow(3,2); Math类提供了很多科学和工程计算需要的方法和常数。 二元运算符 整数运算: 如果两个操作数有一个为Long, 则结果也为long 没有long时,结果为int。即使操作数全为shot,byte,结果也是int. 浮点运算: 如果两个操作数有一个为double,则结果为double. 只有两个操作数都是float,则结果才为float.
取模运算 其操作数可以为浮点数,一般使用整数。如:5.9%3.9=2.000000004 要点: 负数%负数=负数; 负数%正数=负数; 正数%负数=正数;
注:一般都是正整数运算,不用考虑这么细! 布尔逻辑表达符 逻辑与:&&和&,逻辑或:||和|,逻辑非:!。 逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。 逻辑与只要有一个为false, 则直接返回false. 逻辑或只要有一个为true, 则直接返回true; boolean c = 1>2&&2>(3/0); 位运算符 (了解) ~-- 取反 & -- 按位与 | -- 按位或 ^ -- 按位异或 :右移运算符 >>>:无符号移位运算符
右移一位相当于除2取商。 左移一位相当于乘2。 int a = 3*2*2; int b =32; 扩展运算符
运算符 用法举例 等效的表达式 += a += b a = a+b -= a -= b a = a-b *= a *= b a = a*b /= a /= b a = a/b %= a %= b a = a%b 字符串连接符 “+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。 int c = 12; System.out.println("c="+ c); 三目条件运算符(三元运算符) 三目条件运算符,语法格式: x ? y : z 其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。 举例: int score = 80; int x = -100; String type = score < 60 ?"不及格" :"及格"; intflag = x > 0 ? 1 : (x == 0 ? 0 : -1); System.out.println("type= " +type); System.out.println("flag= "+flag); 运算符优先级的问题
R to L . ( ) { } ; , ++ -- ~ ! (data type) L to R * / % L to R + - L to R > >>> L to R = instanceof L to R == != L to R & L to R ^ L to R | L to R && |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |