操作符
1.1操作符接受一个或多个参数,并生成一个新值
几乎所有的操作符都只能操作"基本类型"
1.2优先级:
规则:先乘除后加减
例:
public static void main(String[] args) { int x=1,y=2,z=3; int a=x+y-2/2+z; int b=x+(y-2)/(2+z); System.out.println(a+" "+b); //a=5 b=1 }
+ 代表字符串的连接,string+非string类型的元素,会将非string类型的元素转为String
1.3赋值
"=" 将右边的值赋给左边的变量,
对基本类型使用a=b,实际是将b的内容复制给a,修改a时,对b不会受影响
对对象"赋值"的时候,对一个对象进行操作时,我们真正操作的是对对象的引用,将一个对象赋值给另一个对象 实际是将引用从一个地方复制到另一个地方
public static void main(String[] args) { Assignment a1=new Assignment();// Assignment a2=new Assignment();// a1.level=9; a2.level=47; System.out.println(a1.level+" "+a2.level);//9 47 a1=a2; System.out.println(a1.level+" "+a2.level);//47 47 a1.level=27; System.out.println(a1.level+" "+a2.level);//27 27 }
由于赋值操作的是一个对象的引用,所以修改a1,a2也改变,原本a1的对象9则被垃圾回收器处理掉 这就是别名现象
算术操作符
Random对象生成随机数
只需调用nextInt()和nextFloat()即可
自动递增和自动递减 a++ a-- 先赋值,再计算
++a --a 先计算,再赋值
关系操作符
==和!= 比较的是对象的引用
equals( ) 比较的是对象的时机内容
逻辑操作符
& :按位与
&& 短路与
| 按位或
|| 短路或
三元操作符
****?--:--
类转换操作符
自动类型转换:从小到大
强制类型转换:从大到小
截尾和舍人
浮点型转为整数型 默认 截尾,如果想要舍人,则可以使用java.lang.Math中的round()方法