Java 赋值预算和比较运算
赋值运算
基本语法
符号:=
当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制类型转换原则进行处理。
支持连续赋值。
扩展赋值运算符: +=、 -=、*=、 /=、%=
赋值运算符 |
符号解释 |
+= |
将符号左边的值和右边的值进行相加操作,最后将结果赋值给左边的变量 |
-= |
将符号左边的值和右边的值进行相减操作,最后将结果赋值给左边的变量 |
*= |
将符号左边的值和右边的值进行相乘操作,最后将结果赋值给左边的变量 |
/= |
将符号左边的值和右边的值进行相除操作,最后将结果赋值给左边的变量 |
%= |
将符号左边的值和右边的值进行取余操作,最后将结果赋值给左边的变量 |
int i1 = 10; long l1 = i1;//在自动类型转换 int i2 = i1; //连续赋值 int a1 = 2; int b1 = 2; //直接声明 int a2, b2; a2 = b2 = 2; int a3 = 3, b3 = 3; //举例说明 int m1 = 10; m1 += 5; //等价于 m1 = m1 + 5; System.out.println(m1); //实现变量 +2 short s1 = 10; s1 += 2; short s2 = 10; // s2 = s2 + 2; 编译报错:得到的结果是int类型,jvm 进行强制类型转换,将 int 转换为 short s2 = (short) (s2 + 2); System.out.println(s2); ; //实现变量+1 //写法1 int num = 10; num++; System.out.println(num); //写法2 int num1 = 10; num1 += 1; System.out.println(num1); //写法3 int num2 = 11; num2 = num2 + 1; System.out.println(num2);
练习1
short S = 3; // S = S + 3;//编译出错:S + 3 是返回结果是 int 类型 S += 3;//正常运行,+= 不改变数据类型,结果还是 short int i = 1; i *= 0.1; // 注意: *= 不改变原有数据类型,1 *0.1 = 0.1,原有类型是 int <所以 将0.1 转换为 int 类型的值就是0; System.out.println(i); i++; System.out.println(i);//1 int m = 2; int n = 3; n *= m++; // 你= n*m++;= 3 * 2 ++ = 6 System.out.println("m " + m);//3 System.out.println("n " + n);//6 int n1 = 10; n1 +=(n1++) + (++n1);// n = n1 + (n1++)+(++n1) System.out.println(n1);//32
比较(关系)运算符
- 比较运算符的结果都是boolean型,也就是要么是true,要么是false。
- > < >= <= :只适用于基本数据类型(除boolean类型之外) == != :适用于基本数据类型和引用数据类型
- 比较运算符“==”不能误写成“=”
示例
int i1 = 21; int i2 = 12; System.out.println(i1 == i2); //false System.out.println(i1 != i2); //true System.out.println(i1 >= i2); //true System.out.println(i1 = i2); // 12 boolean b1 = false; boolean b2 = true; System.out.println(b1 == b2);// false System.out.println(b1 = b2);// true if (b1 == true) { System.out.println("结果是真的"); } else { System.out.println("结果是假的"); }