=:赋值
将等号右边的值赋值给左边的变量
+=:加等
int a = 10;
int b = 2;
//a = a + b;
a += b;
-=:减等
int a = 10;
int b = 2;
//a = a - b;
a -= b;
*=:乘等
int a = 10;
int b = 2;
//a = a * b;
a *= b;
/=
%=
注意:等号两边数据类型要相同
三目运算符
语法:
条件表达式?值1:值2
逻辑:
当条件表达式为true,取值1,当条件表达式为false,取值2
注意:
值1与值2数据类型要相同
可以使用变量
例子:
根据年龄判断是否成年?
int age = 18;
String str = age >= 18?"成年人":"未成年";
练习:
获取两个数的最大值
int a = 10;
int b = 20;
System.out.println(a > b?a:b);
获取三个数的最大值
int a = 10;
int b = 20;
int c = 19;
//int max = a > b ? a : b;
//max = max > c ? max : c;
//System.out.println(max);
System.out.println((a > b ? a : b) > c ? (a > b ? a : b) : c);
位运算符(了解)
&
int a = 3;
int b = 2;
int c = a&b;
a 11
b 10
c 10 2
|
int a = 3;
int b = 2;
int c = a|b;
a 11
b 10
c 11 3
!
int a = 3;
!a
a 11
a 00 0
^
int a = 3;
int b = 2;
int c = a^b;
a 11
b 10
c 01 1
<<
int a = 3;
a << 2;
a 11
a 1100 12
>>
int a = 3;
a >> 2;
a 11
a 00 0
数据类型转换
小类型转换为大类型
自动转换
int num = 10;
long l = num;
注意:小类型与大类型运算,结果为大类型
double d = 10 + 0.0;
大类型转换为小类型
强制类型转换
语法格式:小类型 变量名 = (小类型) 要转换的变量或数据;
long l = 10l;
int a = (int)l;
int i = 128;
byte b = (byte)i;
注意:强制转换会导致数据丢失
练习:
char c = 'a';
int i3 = c;
小写字母对应的数字:97~122
大写字母对应的数字:65~90