你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Java 2实用教程(第五版)第三章复习——运算符、表达式和语句

2021/12/29 1:04:19

1 算术运算符

+-* / %(加减乘除,取余),双目运算符,其中加减优先级较低为4,后三个优先级为3(优先级决定表达式中的运算顺序)

由算术运算符和括号连起来的符合java语法规则的式子称作算术表达式(同理其他运算符)

要注意:
-26%3的值为-2
26%-3的值为2
两个整数相除,小数部分直接舍去
8/3=2

2 自增自减运算符

(++)(--),单目运算符,单目运算符的优先级是要比双目运算符的优先级要高的

a++是先用a的值进行计算,然后再加一;
++a是先自身加上1,再进行运算
eg: int a=4; 
y=a++;//y=4,a=5
x=++a;//x=5,a=5
同理(--)也是一样
int f=2;
int m=2;
int z=f*m++;//z=2*2=4,m=3;
int x=(f*m++)+m;//x=2*3+4=10; m=4
int y=(f*++m)+m;//y=2*5+5=15;m=5;

3 关系运算符

>
<
>=
<=
!=
==
前四个优先级为6,后两个优先级为7
都是双目运算符

4 逻辑运算符

与&&
或||
非!
其中非的优先级最高为2
与和或优先级分别为11,12
都是双目运算符

5 赋值运算符

(=)优先级为14,双目运算符

6 instanceof 运算符

java特有的双目运算符

对象 instanceof 类名

当对象是类或子类创建的对象时,结果为true,否则是false

7 位运算符

按位非~(单目运算符,其他都是双目运算符)
    与& 
    或|
   异或^

c=~a;a的位0变为1,1变为0
c=a&b;a,b对应位只有都是1,c对应位才是1,其他为0
c=a|b;a,b对应位只有都是0,c对应位才是0,其他为1
c=a^b;a,b对应位若相同,c对应位为0,否则为1

位运算符也可以作为逻辑运算符,但两边都要算完
eg: int x=1; boolean c=(y=1)==0 && (x=6)==6
这时候左边已经是false了,所以c一定是false后面的不用算了
这时候输出x的值为1;

int x=1; boolean c=(y=1)==0 & (x=6)==6
这时候是位运算符,两边都要算完,输出x的值为6;

8 条件表达式

作为if语句的简写
 y=(x>0)?1:-1
这代表x>0时y=1;x<=0时,y=-1

9 break和continue

在循环体内,如果在执行一次循环时,执行了break语句,那么整个循环体就要结束,不管循环次数有没有结束,整个循环体都要结束。

而如果在执行一次循环时,执行了continue,那么只要结束本次循环,continue之后的语句也不能执行。

10 例题求100以内质数

方法一:质数除了1和本身外没有其他约数。所以说约数和=约数+1;

方法二:质数 i 在[2,i-1]这个范围内没有约数