运算符
-
java支持如下运算符:
-
算数运算符:+,-,*,/,%,++,--
-
赋值运算符:=
-
关系运算符:>,<,>=,<=,==,!=,instanceof
-
逻辑运算符:&&,||,!
-
位运算符:&,|,^,~,>>,<<,>>>
-
条件运算符:?:
-
拓展赋值运算符:+=,-=,*=,/=
public class Demo01 { public static void main(String[] args) { //二元运算(Ctrl+d:复制当前行到下一行) int a=10; int b=20; int c=30; int d=40; System.out.println(a+b); System.out.println(a-b); System.out.println(a*b); System.out.println(a/b);//输出为0,小数精度丢失 System.out.println(a/(float)b);//输出为0.5 long a1=123123123L; int b1=1234; short c1=12; byte d1=2; System.out.println(a1+b1+c1+d1);//输出为long类型(运算中最大类型) System.out.println(b1+c1+d1);//输出为int类型 System.out.println(c1+d1);//输出为int类型(byte,short,char自动转换为int类型) //关系运算符,返回值为true,false,布尔型 System.out.println(a==b); System.out.println(a>=b); System.out.println(a<=b); System.out.println(a!=b); //一元运算符,自增,自减 //q++:使用之后加一,++q:使用之前加一 int q=3; int w=q++; //q=q+1; //w=q++ :先把q的值赋给w,再对q加一 //q=q+1 int e=++q; //e=++q:先对q加一,再把q的值赋给e System.out.println(q); System.out.println(w); System.out.println(e); //幂运算,2^3,使用Math工具类实现 double a2= Math.pow(2,3); System.out.println(a2); //逻辑运算符,与或非(短路) boolean a3=true; boolean b3=false; System.out.println(a3&&b3);//两个都为真才输出true System.out.println(a3||b3);//两个都为假才输出false System.out.println(!(a3));//取反 //短路解释 int c3=3; boolean d3=(c3<3)&&(c3++<5);//c3<3为假,则直接短路结束后面的自增语句 System.out.println(d3); System.out.println(c3);//c3=3 Demo01 demo01=new Demo01();//实例化一个对象 demo01.Demo2();//使用对象调用方法 } public void Demo2() { //在计算机内部都是用0,1二进制表示数的,位运算即为数字的二进制表示在每一位上都进行与或运算 /*(0:false,1:true) 位运算符&,|,^,~,>>,<< a= 0011 1100 b= 0000 1101 a&b= 0000 1100(有0即为0,全1才为1) a|b= 0011 1101(有1即为1,全0才为0) a^b= 0011 0001(异或:相同为0,不同为1) ~a= 1100 0011(取反) <<:数字的二进制表示中的1左移 2<<2=8: 2*2*2=8 2=0000 0010 8=0000 1000 */ System.out.println(2 << 2);//输出8 //三元运算符?: //x?y:z(若x==true则返回y,否则返回z) int score=20; String type=score<60?"及格":"不及格"; System.out.println(type);//输出不及格 } }
-
-
优先级(括号可改变优先级)
优先级 运算符 结合性 1 (),[],{} 从左向右 2 !,+,-,~,++,-- 从右向左 3 *,/,% 从左向右 4 +,- 从左向右 5 <<,>>,>>> 从左向右 6 <,<=,>,>=,instanceof 从左向右 7 ==,!= 从左向右 8 & 从左向右 9 ^ 从左向右 10 | 从左向右 11 && 从左向右 12 || 从左向右 13 ?: 从右向左 14 =,+=,-=,/=(拓展赋值运算符) 从右向左
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程