基本运算符
java语言支持如下运算符:
- 算术运算符:+、-、*、/、%(模运算:取余)、++、--
- 赋值运算符:=
- 关系运算符:>、<、>=、<=、==、!=、!=instanceof
- 逻辑运算符:&&、||、!
- 位运算符:&、|、^、~、>>、<<、>>>
- 条件运算符:?、:
- 扩展赋值运算符:+=、-=、*=、/=
算术运算:
public class Demo1 {
public static void main(String[] args){
//算术运算符:二元运算符
//Ctrl+D (复制当前行到下一行)
int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);//30
System.out.println(a-b);//-10
System.out.println(a*b);//200
System.out.println(a/b);//0,0.5得出取整
System.out.println(a/(double)b);//0.5
System.out.println(c%a);//5
long a1=1212123123123123L;
int b1=123;
short c1=10;
byte d1=8;
//long高于int,自动向上转型
System.out.println(a1+b1+c1+d1);//1212123123123264,long
System.out.println(b1+c1+d1);//141,int
System.out.println(c1+d1);//18,int
//一元运算符
int a2=3;
System.out.println(a2);//3
int b2=a2++;//执行完这行代码后,先赋值再自增
System.out.println(a2);//4
int c2=++a2;//执行完这行代码前,先自增再赋值
System.out.println(a2);//5 a2是变量,在此过程中增了两次1
System.out.println(b2);//3
System.out.println(b2);//3
System.out.println(c2);//5 c2=1+a=1+4=5
System.out.println(c2);//5
double pow = Math.pow(2,3);//很多运算会使用一些工具类操作
System.out.println(pow);//幂运算 2^3=2*2*2=8
}
}
关系运算:
public class Demo2 {
public static void main(String[] args){
//关系运算符,返回结果:布尔值 true、false
int a=10;
int b=20;
System.out.println(a>b);//false
System.out.println(a<b);//true
System.out.println(a==b);//false
System.out.println(a!=b);//true
}
}
逻辑运算:
public class Demo3 {
public static void main(String[] args){
boolean a=true;
boolean b=false;
System.out.println("a&&b:"+(b&&a));//false,ab都为真才为真
System.out.println("a&&b:"+(a||b));//true,ab一为真便为真
System.out.println("a&&b:"+!(a&&b));//true,原本都为真是真,但!不等于所以真变假、假变真
//短路运算
int c=5;
boolean d=(c<4)&&(c++<4);
System.out.println(d);//false,前者false后者true但是后者不执行,所以下面输出的原本数值
System.out.println(c);//5
}
}
位运算:
public class Demo4 {
public static void main(String[] agrs){
/*
a=1001 1101
b=0000 1011
ab同1才为1
a&b= 0000 1001 11才为1
a|b= 1001 1111 有1为1
a^b= 1001 0110 相同为0,不同为1
~b= 1111 0100 取反
*/
//<<,>> 二进制
System.out.println(2<<3);//16,<< *2,(2<<3)=2*2^3
System.out.println(16>>2);//4
}
}
以下两种运算主要来偷懒用,但必须掌握
条件运算:
public class Demo5 {
public static void main(String[] args){
//x?y:z
//x==true,结果为y,否则为z
int num=50;
String type=num<50?much:less;
System.out.println(type);//less
}
}
扩展赋值运算:
public class Demo6 {
public static void main(String[] args){
int a=10;
int b=20;
a+=b;
System.out.println(a);//30
a-=b;
System.out.println(a);//10
a*=b;
System.out.println(a);//200
a/=b;
System.out.println(a);//10
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程