java day3
运算符
1,算术运算符“+”,“-”,“x(乘)”,“/”,“%”,“++”,“–”
例题:
int a = 8
int b = (a++)+(++a)+(a*10)
system.out.println(b);
在这里 b = 8 + 10 + 100
int i = 0 ;
i = ++i;
System.out.println(i);
i = i++;
(注意:a++ 和 ++a 的区别)
2,赋值运算 =、+=、-=、 *=、/= 、 %=
(注意:运算次数)
3,关系运算符 ==、!=、>、 <、 >=、 <=
试题一:输出结果为?
int x = 10;
int y = 10;
boolean flag = (x == y);
System.out.println(flag);
flag = (x = y);
System.out.println(flag);
true
程序报错,无法把int 转换成 flag。
4,逻辑运算符
&(与)、&&(短路与)、|(或) 、||(短路或)、!(非)、^(异或)
5,三目运算符/三元运算符
int a=5;
System.out.println((a<5)?10.9:9);//9.0(注意:返回返回值9.0)
三目运算符的返回值规则:
a.值1和值2都是数字字面量,向上转型并返回
b.值1和值2都是变量,向上转型并返回
c.值1是数字字面量,值2是变量的情况
数字字面量如果在变量所属类型的取值范围里,按照变量类型返回
数字字面量如果不在变量所属类型的取值范围里,按照数字字面量返回
- 位运算符: & 、 |、 ^ 、 <<、 >>、 >>>
如 4*8 = 32;
高效的运算便是让4向左移动四位;
作业
- 键盘输入两个数字,获取出最大值
- 用最有效率的方式计算出4*8的结果
- int a = 21,获取出(a++) + (–a) * (a+=2)的结果
: