基本运算符
运算符(Operator)
- java支持如下运算符:
- 算数运算符+,—,*,/ (取余) , % , ++ , --
- 赋值运算符:=
- 关系运算符:>, < , >= ,<= , == .!=instanceof(不等于)
- 逻辑运算符:&&(与), ||(或) ,!(非)
- 位运算符 :&, |, ^ ,~ ,>> ,<<,>>>(了解)
- 条件运算符:?,:
- 扩展运算符:+=,-= ,*= /=
快捷键:ctrl+d 复制当前行到下一行。
二元运算符
//二元运算符
int a=10;
int b=20;
int c=30;
int d=5;
System.out.println(a+b);
System.out.println(b-a);
System.out.println(c*d);
System.out.println(c/d);
输出结果:
关系运算符返回结果:
//关系运算符返回结果:
int a=10;
int b=20;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);//不等于
输出结果:
自增运算
- ++(自增运算符) --(自减运算符) 一元运算符
int a= 3;
int b=a++;//执行完这行代码后,先给b赋值,再自增
// a=a+1
System.out.println(a);
// a++ a=a+1
int c=++a;//执行完这行代码前,先自增,再给c赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
输出结果
工具类运算
eg.幂运算
double pow = Math.pow(2, 3);//2的三次方
System.out.println(pow);
输出结果
逻辑运算符
- 与(&&) 或(||) 非(!取反)
boolean a=true ;
boolean b=false;
System.out.println("a&&b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为真
System.out.println("a||b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果才为真
System.out.println("!(a&&b):"+!(a&&b));//如果是真,则变为假;如果是假,则变为真
短路运算
例一:
int c=5;
boolean d=(c<4)&&(c++<4);//c++将不会被运行
System.out.println(d);
System.out.println(c);
输出结果:
例二:
int c=2;
boolean d=(c<4)&&(c++<4);//c++运行
System.out.println(d);
System.out.println(c);
输出结果:
原因: 在与运算过程中,如果第一个值是错误的,则后面的程序将不会运行
位运算:
根据每一位上的数值计算
eg.
A=0011 1100
B=0000 1101
---------------------------------------------------------------------------------------------
A&B= 0000 1100 //每个位上的数值都为1,其对应位的数值才为1,否则为0
A|B= 0011 1101 //两个位上都为0,对应位才为0,否则为1
A^B= 0011 0001 //每一位相同为0;不相同为1
~B= 1111 0010 //每一位取反
-
<<---左移
---右移
System.out.println(2<<3); //左移三位
输出结果:
解释:
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 0101 5
0000 0110 6
0000 0111 7
0000 1000 8
......
0001 0000 16
如上,2的二进制表示为 0000 0010,1向左移三位,则表示为16(二进制为 0001 0000)
可简便记为 左移一位*2,右移一位/2
扩展运算符:
int a=30;
int b=10;
a+=b; //a=a+b;
/*
同理:
a-=b a=a-b
a*=b a=a*b
*/
System.out.println(a);
输出结果
字符串连接符
int a=10;
int b=20;
System.out.println(""+a+b);
System.out.println(a+b+"");
输出结果:
原因:
计算机运行遵循从左向右,如果""在前面,后面的int变量被转化为字符串输出
如果 ""在int 变量后面,a+b 先被运行
三目运算符
x ? y : z;
如果x==true; 则结果为y ;否则为z;
eg.
int score=61;
String type=score<60?"不及格":"及格";
System.out.println(type);
输出结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理