今天学习了Java的各类运算符及数据类型转换
一、算术运算符
运算符 | 含义 |
+ | 求和 |
- | 相减 |
* | 乘积 |
/ | 商(取整除或取商) |
% | 求余数(求模) |
++ | 自加一 |
-- | 自减一 |
++:单目运算符,自加1的操作,如果放在前面,先自加,再参加运算
如果放在后面,先参加运算,再自加
--:单目运算符,自减1的操作,如果放在前面,先自减,再参加运算
如果放在后面,先参加运算,再自减
public class OperatorDemo{
public static void main(String[] args){
int a = 1;
int b = 2;
System.out.println(a + b);
System.out.println(a - b);
System.out.println(a * b);
System.out.println(a / b);
System.out.println(a % b);
System.out.println(a++);
System.out.println(--b);
}
}
二、赋值运算符
一个等于号=是赋值,两个等号==是关系运算符
三、扩展运算符
扩展赋值运算符:+=,-=,*=,/=
//扩展运算符
int c = 10;
//c加2的操作
//两种写法得到的结果是一样的,所以建议大家都使用扩展运算符
//c = c + 2;
c += 2;
四、关系运算符
关系运算符: >,<,>=,<=,==,!=
前面几个就是数学中常用的大于,小于,大于等于,小于等于,这些就不需要再多说
“==”表示左边的值与右边的值是否相等
“!=”表示输出结果与!后面的结果相反
//关系运算符
System.out.println(4 > 5);
System.out.println(4 < 5);
System.out.println(4 >= 5);
System.out.println(4 <= 5);
System.out.println(4 == 5);
System.out.println(4 != 5);
五、逻辑运算符
逻辑运算符:&&,&,||,|
/*
逻辑运算符:
&&:短路与,自左向右执行,如果第一个表达式返回false,那么后面的表达式就不再执行
&:逻辑与,自左向右执行,不管第一个表达式返回true还是false,后面表达式都会执行
||:短路或,自左向右执行,如果第一个表达式返回true,那么后面的表达式就不再执行
|:逻辑或,自左向右执行,不管第一个表达式返回true还是false,后面表达式都会执行
*/
System.out.println( 2 > 3 && 5 > 4);
int i = 1;
//System.out.println( 2 > 3 && i++ > 1);
//System.out.println(i);//1
System.out.println( 2 > 3 & i++ > 1);
System.out.println(i);//2
System.out.println( 2 > 3 || 5 > 4);
System.out.println(!false);
System.out.println(!true);
System.out.println(!(2 > 3));
六、位运算符
位运算符: &,|,^,~ , >>,<<,>>> (了解!!!)
>>:有符号右移,对正数而言,右移几位就是除几个2
<<:有符号左移,对正数而言,左移几位就是乘几个2
>>>:无符号右移
对于这些位运算符我不是特别了解,今天老于讲的我也不是听的很懂,所以这点我就不解释啦,仅作了解。
七、条件运算符
条件运算符 ?:
条件运算符:又叫三目运算符,当第一个表达返回为true,则取?后面的值,第一个表达式返回为false,则取:后面的值
System.out.println(2 < 3 ? 2 : 3);\\2
System.out.println(false ? false : true ? false : true);\\false
八、基本数据类型的转换
基本数据类型之间的转换:
1、自动转换(隐式转换)
赋值运算符=左边数据范围大,右边数据范围小,并且一般是同一种数据类型的情况下,则会发生自动转换
2、强制转换
赋值运算符=左边数据范围小,右边数据范围大,并且一般是同一种数据类型的情况下,则必须使用强制转换
语法:(datatype)
强制转换可能会有数据精度的丢失
byte bb = 10;
//bb = (byte)(bb + 2);
bb += 2;
System.out.println(bb);