Java运算符
运算符
- 在计算过程中一定要注意取值范围,并选用合适的数据类型
int a = 10;
int b = 20;
System.out.println(a/(double)b);//a/b得出的结果为小数,要在得到结果前将数据类型转换为double类
- 在进行计算时,包含了比int类型进制高的数据类型,得出的结果为当前最高进制的数据类型
- 在比int类型低时,输出的都是int类型
System.out.println(a+b+c+d+e);//long
System.out.println(b+c+d);//int
System.out.println(c+d);//int
System.out.println(a+b+c+d);//int
a++和++a的区别
- a++是先把a的值赋给变量主,之后再自增也就是a=a+1,而++a是先自增,之后再赋值给变量主
int a = 10;
int b =a++;//此时先把a=10赋值给b,所以b=10,之后a再自增
//a=a+1;这个为隐藏操作
//a=a+1;这个为隐藏操作
int c = ++a;//a先自增也就是a=a+1,之后再把a的值赋给c
System.out.println(a);//12
System.out.println(b);//10
System.out.println(c);//12
幂运算
//幂运算 很多运算,我们会运用一些工具类来操作
double pow = Math.pow(2, 3);
System.out.println(pow);
逻辑运算符
- &&:与 ||:或 !:非
// 与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//false 逻辑与运算:两个变量都为真,结果为真
System.out.println("a || b:"+(a||b));//true 逻辑或运算:两个之中有一个为真,则结果为真
System.out.println("!(a && b):"+!(a && b));//true 如果是真,则为假,如果为假,则为真
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);//false 在运算到c<4时,发现为false,则结果直接返回false,并没有运算c++<4
System.out.println(c);//5
位运算符
/*
A = 0011 1100
B = 0000 1101
---------------------
A&B = 0000 1100 //与运算 A与B对比,当都为1时,输出1,其余都为0
A|B = 0011 1101 //或运算 只要其中一方为1,则输出结果为1
A^B = 0011 0001 //只要两者相同,输出结果为0,不相同则输出结果为1
~B = 1111 0010 //每一位取反即可
2*8 = 16 2*2*2*2
效率高!!!
<< // *2 向前进1位
>> // /2 向后退1位
2*8 = 2<<3
0000 0010 2
0001 0000 16//1的位置往前移了三位
*/
扩展赋值运算符
int a = 10;
int b = 20;
a+=b;//a = a+b
a-=b;//a = a-b
System.out.println(a);
//字符串连接符
System.out.println(""+a+b);//1020 在输出语句时,先遇到字符类型如String类,会把+识别成连接符,从而输出
System.out.println(a+b+"");//30 先遇到运算符+则会先进行和计算,从而输出
三元运算符
//三元运算符
//x ? y : z
//如果 x==true,则结果为y,否则结果为z
int score = 50;
String s = score < 60 ? "不及格" : "及格";
System.out.println(s);//不及格
优先级
总的来说,一元运算符>二元运算符>三元运算符,在计算结果时,我们总是习惯性的添加(),而()是运算之中优先级最高的!!各位也不用刻意去记,只要计算前正确使用()即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!