java基本运算符
基本运算符
JAVA语言支持如下运算符:
- 算数运算符:+,-,*,/,%,++,--
public static void main(String args[]){
//++ ,-- 自增自减去 一元运算符
int a=10;
int b;
System.out.println(a++);// 值为10:++放右边表示本次过后下次再加1
b=a;
System.out.println(b);// 值为11
System.out.println(++b);//为12:++放右边表示本次就加1
//Ctrl+d 复制当前行到下一行
int a=10;
int b=20;
int c=a-b;
System.out.println(a+b);//输出值:30
System.out.println(a+b+"=a+b");//输出值:30=a+b 注:先运算再连接
System.out.println("a+b="+a+b);//输出值:a+b=1020 注:字符串在前,+号已成了字符串链接符号
System.out.println("a-b="+c);//输出值: a-b=-10
c=a*b;
System.out.println("a*b="+c);//输出值: a*b=200
c=a/(b);
System.out.println("a/b="+c);//输出值: a/b=0 int无 小数位
System.out.println("a/b="+(double)c);//输出值: a/b=0 已计算,再转换,晚了
System.out.println(a/(double)b);//输出值:运算前 0.5, 计算前转换
System.out.println(a%3);//输出值:输出值1 ,取余数,求模
/*输出结果
30
30=a+b
a+b=1020
a-b=-10
a*b=200
a/b=0
a/b=0.0
0.5
1
*/
}
//-------------------------------------
/**
* @author xujb
* 运算拓展
* */
public class Demo2 {
public static void main(String args[]){
long a=123123123123123L;
int b=128;
short c=32767;
byte d =9;
System.out.println(a+b+c+d);//long :123123123156027 有一个为long其结果也为long,如果没有就是int类型
System.out.println(b+c+d); //int 32904
System.out.println(c+d); //int 32776 如果没long,不管否有int类型都为int
}
}
- 赋值运算符=
- 关系运算符:>,<,>=,<=,==,!= instanceof
public static void main(String args[]){
//逻辑运算符 && 与 ,|| 或 , ! 非(取反)
boolean a=false;
boolean b=true;
System.out.println("a&&b="+(a&&b));//输出:a&&b=false 逻辑与:两个为真才为真
System.out.println("a||b="+(a||b)); //输出:a||b=true 逻辑或:有一个为真才为真
System.out.println("!(a&&b)="+(!(a&&b))); //输出:!(a&&b)=true 如果为真则取假,如果为假取真
System.out.println("-------短路运算判定--短路与:第一个为假,则结果为假。后面的不再运行-----------");
int d=8;
boolean f=(d>9)&&(++d)<9;
System.out.println(d);//输出结果:8 前面为假,后续不再执行
System.out.println(f);//输出结果:false
System.out.println("-------短路运算判2-----------");
int m=8;
boolean n=(m>9)&(++m)<9;
System.out.println(m);//输出结果:9 前面为假,后续继续执行
System.out.println(n);//输出结果:false
- 逻辑运算符:&&,||,!
//逻辑运算符 && 与 ,|| 或 , ! 非(取反)
boolean a=false;
boolean b=true;
System.out.println("a&&b="+(a&&b));//输出:a&&b=false 逻辑与:两个为真才为真
System.out.println("a||b="+(a||b)); //输出:a||b=true 逻辑或:有一个为真才为真
System.out.println("!(a&&b)="+(!(a&&b))); //输出:!(a&&b)=true 如果为真则取假,如果为假取真
System.out.println("-------短路运算判定--短路与:第一个为假,则结果为假。后面的不再运行-----------");
int d=8;
boolean f=(d>9)&&(++d)<9;
System.out.println(d);//输出结果:8 前面为假,后续不再执行
System.out.println(f);//输出结果:false
System.out.println("-------短路运算判2-----------");
int m=8;
boolean n=(m>9)&(++m)<9;
System.out.println(m);//输出结果:9 前面为假,后续继续执行
System.out.println(n);//输出结果:false
- 位运算符:&,|,^,~,>>,<<,>>>(了解)
/*
* A=0011 1100
* b=0000 1101
*
* A&B =0000 1100 与 :都为1才1否则为0
* A|B=0011 1101 或 :有1就为1
* A^B =0011 0001 异或:相同为0否则为1
* ~B =1111 0010 取反:
* */
/*拓展 题 2*8 ,2*2*2*2*2
效率极高
<< 左移 *2
>>右移/2
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
.....
0000 1000 8
0001 0000 16
*/
}
- 条件运算符 ?:
public static void main(String args[])
{
int a=10;
//三元运算符 X?Y:Z 如果X值为真着为Y否则为Z
System.out.println("-------条件运算符----------------");
String f=a<11?"李四":"张三";
System.out.println(f);
- 扩展赋值运算符:+=,-=,*=,/=
* 扩展赋值运算符,简化操作
* 条件运算符
* */
public class Demo7 {
public static void main(String args[])
{
int a=10;
int b=20;
b+=a; //b=b+a
System.out.println(b);// 输出值30;
System.out.println(a+b);// 输出值40;
System.out.println(""+a+b);// 输出值1030;
//三元运算符 X?Y:Z 如果X值为真着为Y否则为Z
System.out.println("-------条件运算符----------------");
String f=a<11?"李四":"张三";
System.out.println(f);//输出值为:李四
/*
30
40
1030
-------条件运算符----------------
李四
*/
}
}
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器