java基本运算符

本文详细介绍了Java中的各类运算符,包括算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符、扩展赋值运算符以及条件运算符等,并解释了它们的应用场景和优先级。

Java基本运算符

java语言支持如下运算符

  • 算术运算符:+ ,-,*,/,++,–,%
  • 赋值运算符:=
  • 关系运算符:>,<,>=,<=,==,!=
  • 逻辑运算符:&&,||,!
  • 位运算符:&,|,^,~,>>,<<
  • 条件运算符:?:
  • 扩展赋值运算符:+=,-=,*=,/=

算术运算符

// 二元运算符
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因为默认输出结果为int型数据
System.out.println(a/(double)b); //0.5,强制转换后输出0.5
//取余,模运算
System.out.println(c%a);//25%10=5

//++  --  自增  自减  一元运算符
int q = 3;
int w = q++;//先给w赋值后再自增
int e = ++q;//先自增再给e赋值

System.out.println(q);//3
System.out.println(w);//3
System.out.println(e);//5 e进行赋值运算前q已经在给w赋值之后自增过一次,在赋值给e前再一次自增结果为5

long z = 123123123123123123L;
int x = 123;
short y = 10;
byte l = 8;

System.out.println(z+x+y+l);//Long//123123123123123264
System.out.println(x+y+l);//Int//141
System.out.println(y+l);//Int//18

常用运算符有时候并不能满足计算要求,所以可以利用java提供的一些工具类来完成计算

例如:幂运算

double pow = Math.pow(2,3);//利用Math类实现幂运算
System.out.println(pow);//8

关系运算符

关系运算符返回结果只有两种 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

逻辑运算符

//逻辑运算符
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;

System.out.println("a && b:"+(a && b));//逻辑与运算:两个变量都为真,结果才为true//false
System.out.println("a || b:"+(a || b));//逻辑或运算:两个变量有一个为真,结果则为true//true
System.out.println("!(a && b):"+!(a && b));//逻辑非运算:如果结果为真则变为假,如果为假则变为真//true

//短路运算
int c =5;
boolean d =(c<4)&&(c++<4);//(c<4)为假,结果为假不用再向后执行判断,发生短路运算

System.out.println(d);//false
System.out.println(c);//5  逻辑运算语句发生短路运算,c++未被执行结果任然为5

位运算符

//    A= 0011 1100
//    B= 0000 1101
//
//    A&B 0000 1100
//    A|B 0011 1101
//    A^B 0011 0001
//    ~B  1111 0010

其他运算符

int a = 10;
int b = 20;
a+=b;//a = a+b
System.out.println(a);//30

a-=b;//a = a-b
System.out.println(a);//10

//字符串连接符  + ,String
System.out.println(""+a+b);//1020
System.out.println(a+b+"");//30

//三元运算符
// x ? y : z
//如果x==true,则结果为y,否则结果为z

int score = 80;
String type = score<60?"不及格":"及格";

System.out.println(type);//及格

运算符优先级

1.运算符有不同的优先级,所谓优先级就是表达式运算中的运算顺序.

2.只有单目运算符.赋值运算符是从右向左运算的.

优先级运算符简介综合性
1[ ] . ( )方法调用,属性获取从左向右
2!、~、 ++、 –一元运算符从右向左
3* 、/ 、%乘、除、取模(余数)从左向右
4+ 、 -加减法从左向右
5<<、 >>、 >>>左位移、右位移、无符号右移从左向右
6< 、<= 、>、 >=、 instanceof小于、小于等于、大于、大于等于, 对象类型判断是否属于同类型从左向右
7== 、!=2个值是否相等,2个值是否不等于。从左向右
8&按位与从左向右
9^按位异或从左向右
10|按位或从左向右
11&&短路与从左向右
12||短路或从左向右
13?:条件运算符从右向左
14=、 += 、-= 、*= 、/=、 %=、 &=、 =、 ^=、 <、<= 、>、>= 、>>=混合赋值运算符从右向左

在使用运算符时要注意优先级!!!

https://www.cnblogs.com/wangweisheng/p/9727105.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值