一元整型操作符
“-” 取反
int a = 10;
int c =-a; //把对变量a取反的结果-10赋值给c
二元整型操作符
int a =13/5; //a=2
int b=13%5; //b=3
int a =-13/5; //a=-2
int b=-13%5; //b=-3
“>>”算术右移位操作符
int a1= 12 >>1; //变量a1的取值为6
int a2=-12 >> 2; //变量a2的取值为-3
“>>>”逻辑右移位操作符
操作符“>>>”是逻辑右移位操作符,也称为不带符号右移位操作符,在移位的过程中,二进制的开头增加的位都是0。
int a1= 12 >>>1; //变量a1的取值为6
int a2=-12 >>>2; //变量a2的取值为1073741821
短路(short circuit)操作符和非短路操作符
“&&”和“||”是短路(short circuit)操作符,“&”和“|”是非短路操作符,
它们的区别是:
对于短路操作符,如果能根据操作符左边的布尔表达式就能推算出整个表达式的布尔值,将不执行操作符右边的布尔表达式。 对于非短路操作符,始终会执行操作符两边的布尔表达式。
对于“&&”操作符,当左边的布尔表达式的值为false时,整个表达式的值肯定为false,此时会忽略执行右边的布尔表达式,
例如: int output=10;
boolean b1 = false;
if((b1==true) && ((output+=10)==20))
{ System.out.println("HELLOl! "+output); }
else{
System.out.println("Hi! "+output); }
以上程序的输出结果为"Hi! 10"
int output=10;
boolean b1 = false;
if((b1==true) & ((output+=10)==20))
{ System.out.println("HELLO! "+output); }
else{ System.out.println("Hi! "+output); }
这段程序的打印结果为“Hi! 20”。
判断年份是否是闰年
isBissextile( int year) 判断year参数给定的年份是否是闰年
1)若某个年份能被4整除但不能被100整除,则是闰年。
2)若某个年份能被400整除,则也是闰年
public boolean isBissextile(int year){
if((year%4==0) && (yeaar%100!=0)||(year%400==0))
return true;
else
return false;
}