Java运算符、表达式与语句
public class Test{
public static void main(String args[]){
int num = 22 ;
System.out.println("第一次输出:num = " + num) ;
num = num - 3 ; // 修改变量内容
System.out.println("第二次输出:num = " + num) ;
boolean b = false ;
int x = 10 ;
int y = -30 ;
System.out.println("b = " + b + ", !b = " + !b) ; // 取反
System.out.println("x = " + x + ", -x = " + -x) ; // 使用符号
System.out.println("y = " + y + ", +y = " + +y) ; // 使用正号
int i = 10 ;
int j = 3;
System.out.println(i + " + " + j + " = " + (i+j)) ; // 加法操作
System.out.println(i + " - " + j + " = " + (i-j)) ; // 减法操作
System.out.println(i + " * " + j + " = " + (i*j)) ; // 乘法操作
System.out.println(i + " / " + j + " = " + (i/j)) ; // 加法操作
System.out.println(i + " % " + j + " = " + (i%j)) ; // 取模操作
System.out.println("3 > 1 = " + (3 > 1)) ; // 使用大于号
System.out.println("3 < 1 = " + (3 < 1)) ; // 使用小于号
System.out.println("3 >= 1 = " + (3 >= 1)) ; // 使用大于等于号
System.out.println("3 <= 1 = " + (3 <= 1)) ; // 使用小于等于号
System.out.println("3 == 1 = " + (3 == 1)) ; // 使用等于号
System.out.println("3 != 1 = " + (3 != 1)) ; // 使用不等于号
if(5>2){
System.out.println("条件成立:5大于2") ;
}
if(true)
System.out.println("直接写的true") ;
if((3+6)==(3-6)){
System.out.println("这是不可能成立的!") ;
}
int a = 3 , b1 = 3 ; // 定义两个变量a和b
int x1 = 6, y1 = 6 ; // 定义两个变量x和y
System.out.println("a = " + a) ;
System.out.println("\t a++ = " + (a++) + " , a = " + a) ; // 先计算后自增
System.out.println("b = " + b1) ;
System.out.println("\t ++b = " + (++b1) + " , b = " + b1) ; // 先自增后计算
System.out.println("x = " + x1) ;
System.out.println("\t x-- = " + (x1--) + " , x = " + x1) ; // 先计算后自减
System.out.println("y = " + y1) ;
System.out.println("\t --y = " + (--y1) + " , y = " + y1) ; // 先自减后计算
boolean a2 = true ;
boolean b2 = false ;
System.out.println("a || b = " + (a2 || b2)) ;//短路或
System.out.println("a | b = " + (a2 | b2)) ;//or 或
System.out.println("a && b = " + (a2&& b2)) ;//短路与 如果第一个为假,则不在判断
System.out.println("a & b = " + (a2 & b2)) ;//and 与
int score = 50 ; // 定义成绩
if((score<0)||(score>100)){
System.out.println("输入的成绩有错误!") ;
}
if((score<60)&&(score>49)){
System.out.println("成绩不及格,准备补考吧!") ;
}
//发生异常,程序不再执行下去
// int x3 = 10 / 0 ; // 定义变量
// System.out.println("x = " + x3) ;//异常
// if(10!=10&10/0==0){
// System.out.println("条件满足") ;
// }
//
if(10!=10&&10/0==0){ //条件为假,不满足,不执行
System.out.println("条件满足") ;
}
// if(10==10|10/0==0){
// System.out.println("条件满足") ;
// }
if(10==10||10/0==0){
System.out.println("条件满足") ;
}
int result1 = 3 + 5 + 4 * 6 - 7 ;
int result2 = (3 + 5 + 4) * (6 - 7) ;
System.out.println("3 + 5 + 4 * 6 -7 = " + result1) ;
System.out.println("(3 + 5 + 4) * (6 - 7) = " + result2) ;
int x4 = 3 ; // 3的二进制数据: 00000000 00000000 00000000 00000011
int y4 = 6 ; // 6的二进制数据: 00000000 00000000 00000000 00000110
System.out.println(x4 & y4) ; //与: 00000000 00000000 00000000 00000010
System.out.println(x4 | y4) ; //或: 00000000 00000000 00000000 00000111
System.out.println(x4^ y4) ; //异或: 00000000 00000000 00000000 00000101
int x5 = -3 ; // 应该以补码的形式存在,补码 = 反码 + 1
System.out.println(~x5) ;
int x6 = 3 ; // 3的二进制数据: 00000000 00000000 00000000 00000011
System.out.println(x6 + "左移2位之后的内容:" + (x6<<2)) ; // 000000 00000000 00000000 0000001100
int x7 = 3 ; // 3的二进制数据: 00000000 00000000 00000000 00000011
int y7 = -3 ; // -3的二进制数据: 11111111 11111111 11111111 11111101
System.out.println(x7 + "右移2位之后的内容:" + (x7>>2)) ;
System.out.println(y7 + "右移2位之后的内容:" + (y7>>2)) ;
int x8 = 3 ; // 3的二进制数据: 00000000 00000000 00000000 00000011
int y8 = -3 ; // -3的二进制数据: 11111111 11111111 11111111 11111101
System.out.println(x8 + "右移2位之后的内容:" + (x8>>>2)) ;//如果不够将以0来填充空出来的位数
System.out.println(y8 + "右移2位之后的内容:" + (y8>>>2)) ;
int a3 = 5 ,b3 = 8 ;
System.out.println("改变之前的数是:a = " + a3 + ",b = " + b3 ) ;
a3 += b3 ; // 等价于a = a + b ;
System.out.println("改变之后的数是:a = " + a3 + ",b = " + b3 ) ;
int a4 = 10 ,b4 = 6 ;
System.out.println("改变之前的数是:a = " + a4 + ",b = " + b4 ) ;
a4 -= b4++ ; // 等价于a = a + b ;
System.out.println("改变之后的数是:a = " + a4 + ",b = " + b4 ) ;//a=4,b=7
char ch = 'a' ;
short a5 = -2 ;
int b5 = 3 ;
float f = 5.3f ;
double d = 6.28 ;
System.out.print("(ch / a5) - (d / f) - (a5 + b5) = ") ;
System.out.println((ch / a5) - (d / f) - (a5 + b5)) ;
}
};