Java基本语法–运算符
这里只是概括了Java基本语法运算符,还有一些我自己理解不深的,我都拿代码自己去应验,要是理解不深或者理解不了的,可以拿代码自己去应验理解,自己动手去操作、理解,相信肯定会比看懂更好。
1. 算术运算符
+ - * / % ++a a++ --a a-- “”+""
int a1=10;
int b1=++a1;
System.out.println(a1+" "+b1);
int a2=10;
int b2=a2++;
System.out.println(a2+" "+b2);
a3=++a1 //先自增1 后运算
b3=a2++ //先运算 后自增1
System.out.println(a3+" "+b3);
2. 赋值运算符
= += -= *= /= %=
int num=137;
int bai =num/100;
int shi =num%100/10;//num/10%10
int ge=num%100%10;
System.out.println(bai);// 1
System.out.println(shi);// 3
System.out.println(ge);// 7
int i1=10,i2=10,i3=10,i4=10,i5=10;
i1+=2;
i2-=2;
i3*=2;
i4/=2;
i5%=2;
// i5=i5+2 //编译失败
i5+=2 //不会改变变量本身的数据类
System.out.println(i1);
System.out.println(i2);
System.out.println(i3);
System.out.println(i4);
System.out.println(i5);
3. 比较运算符(关系运算符)
只能是运用于布尔型的变量
4. 逻辑运算符
区分&与&&:
//相同点1:&与&&的运算结果相同
//相同点2:当符号左边是true时,二者会执行符号右边的运算
//不同点:当符号左边是false时,&会执行符号右边的运算,&&不再执行符号右边的运算。
区分 |与 ||:
//相同点1:|与|| 的运算结果相同
//相同点2:当符号左边是false时,二者都会执行符号右边的运算
//不同点:当符号左边是true时,|继续执行符号右边的运算,||不再执行符号右边的运算
开发中推荐使用短路
boolean ab1 =false;
int num1=10;
if(ab1 & (num1++ > 0)){
System.out.println("谈");
}else{
System.out.println("宇");
}
System.out.println(num1);
boolean ab2 =false;
int num2=10;
if(ab2 && (num2++ > 0)){
System.out.println("谈");
}else{
System.out.println("宇");
}
System.out.println(num2);
//区分&与&&
boolean ab3 =true;
int num3=10;
if(ab3 | (num3++ > 0)){
System.out.println("1我是");
}else{
System.out.println("2我吗");
}
System.out.println("3 "+num3);
boolean ab4 =true;
int num4=10;
if(ab4 || (num4++ > 0)){
System.out.println("我是yu");
}else{
System.out.println("我吗tan");
}
System.out.println("4 "+num4);
//区分 |与 ||
5. 位运算符
操作的都是整形的数据。
“>>” 在一定范围内,每向左移一位,相当于 *2
“<<” 在一定范围内,每向右移一位 ,相当与 /2
6. 三元运算符
1.条件表达的结果为boolean类型。
2 .根据条件表达式真或假,决定执行表达式1还是表达式2
如果表达式为true,则执行表达式1。
如果表达式为false,则执行表达式2。
3.表达式1和表达式2要求类型是一致的。
4.三元运算符可以嵌套使用。
5.凡是可以使用三元运算符的地方都可以改写为if-else
int m=12;
int n=5;
int max = (m >n)? m : n;
System.out.println(max);
double num = (m > n)? 3:3.9;
System.out.println(num);
n=12;
String maxStr = (m>n)? "m大" :((m==n)?"一样大": "n大");
System.out.println(maxStr);
System.out.println("*********************");
int n1=3;
int n2=1;
int n3=2;
int maxStr1=(n1>n2)? n1 : n2;
int maxStr2=(maxStr1>n3)? maxStr1 : n3;
System.out.println(maxStr2);