java中运算符_JAVA中的运算符

Java语言支持如下运算符:

算术运算符:

算数运算符包括:

+

加法运算,字符串连接运算

-

减法运算

*

乘法运算

/

除法运算

%

取模运算,两个数字相除取余数

++ --

自增自减运算

赋值运算符:=

关系运算符:

比较运算符包括

==

比较符号两边数据是否相等,相等结果是true。

<

比较符号左边的数据是否小于右边的数据,如果小于结果是true。

>

比较符号左边的数据是否大于右边的数据,如果大于结果是true。

<=

比较符号左边的数据是否小于或者等于右边的数据,如果小于结果是true。

>=

比较符号左边的数据是否大于或者等于右边的数据,如果小于结果是true。

!=

不等于符号 ,如果符号两边的数据不相等,结果是true。

Instanceof

逻辑运算符:

逻辑运算符包括:

&& 短路与

1. 两边都是true,结果是true 2. 一边是false,结果是false 短路特点:符号左边是false,右边不再运算

||短路或

1. 两边都是false,结果是false 2. 一边是true,结果是true 短路特点: 符号左边是true,右边不再运算

! 取反

1. ! true 结果是false 2. ! false结果是true

位运算符:&,|,^,~,>>,<>>(了解!!!)

条件运算符:?

扩展赋值运算符:+==,-=,*=,/=

算术运算符

自增运算符:+``+

自减运算符:--

以上两种运算符可以称为一元运算符(因为他们可以一个数进行加减的变化)

先++/--:执行代码前,先自增,再赋值。

后++/--:先赋值,代码执行后,再自增。

public static void main(String[] args) {

int a=3;

int b=a++;

//执行这行代码后,先给b赋值,再自增。

System.out.println(a);//4

int c=++a;

//执行这行代码前,先自增,再给b赋值。

System.out.println(a);

//a=5

System.out.println(b);

//b=3

System.out.println(c);

//c=5

}

扩展:很多运算,我们都会使用一些工具类来操作。

double pow = Math.pow(2,3);

//Math.pow 幂运算

System.out.println(pow);//8 2^3

注意:

再多个操作中,有一个数为比int大的数据类型,则数据结果就为改类型,如果没有比int打的数据类型大的数,结果都为int.

小建议:当整数相除的时候,建议把其中一个整数转换成double类型

public static void main(String[] args) {

long a=123456789L;

int b=123;

short c=10;

byte d=8;

System.out.println(a+b+c+d);//long

System.out.println(b+c+d);//int

System.out.println(c+d);//int

}

关系运算符

关系运算符的结果为:false,true 是一个布尔值

public static void main(String[] args) {

//关系运算符返回的结果:正确,错误 布尔值

int a=10;

int b=20;

int c=20;

System.out.println(a>b);//fasle

System.out.println(a

System.out.println(b==c);//rue

}

逻辑运算符

&&(与),||(或),!(非:取反)

逻辑与运算&&:两个变量都为真,结果才为true

逻辑或运算||:两个变量其中一个为真,则结果才为真

!取反:结果如果是真,则为假,如果是假则为真

public static void main(String[] args) {

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));

}

注意事项

与“&&”和或“||”有短路效果:如果根据左边已经可以判断出最终结果,那么右边的代码将不会执行

逻辑运算符只能用于boolean值。

与、或需要左右各一个布尔值,但是取反只要有一个的一个布尔值即可。

与、或、两种运算符,如果多个条件,可以连续写。

int c=5;

boolean d=(c<4)&&(c++<4);

System.out.println(d);//false

System.out.println(c);//5

位运算符:

&:需要都为1结果才是1,否则就为0

|:有一个为1结果就是1,其他时候为0

^:相同为0,不相同为1

public static void main(String[] args) {

/*A=0011 1100;

B=0000 1101;

A&B=0000 1100

A|B=0011 1101;

A^B(异或)=0011 0001;

~B(取反)=1111 0010

*/

}

面试题:

2*8怎么运算最快

答:int a=2<<3

>>左移 /2

<

扩展赋值运算符

不建议使用

public static void main(String[] args) {

int a=10;

int b=20;

a+=b;//a=a+b;

a-=b;//a=a-b;

System.out.println(a);

}

扩展:

字符串连接符:+

在加号的两侧只要出现了String类型,他就会其他都转换成String再进行连接

如果String是在前面,后面的会拼接,

如果String在后面,前面的就不会进行拼接,该干嘛干嘛

面试题

System.out.println(a+b+"");和System.out.println(""+a+b);有什么区别?

public static void main(String[] args) {

int a=10;

int b=20;

a+=b;//a=a+b;

a-=b;//a=a-b;

System.out.println(a);

System.out.println("=====");

System.out.println(a+b);

System.out.println(""+a+b);//1020

System.out.println(a+b+"");//30

//1.在加号的两侧只要出现了String类型,他就会其他都转换成String再进行连接

//2.如果String是在前面,后面的会拼接,

// 如果String在后面,前面的就不会进行拼接,该干嘛干嘛

}

三元运算符

三元运算符格式:

int i = (1==2 ? 100 : 200);

数据类型 变量名 = 布尔表达式? true: flase

三元运算符计算方式:

布尔类型表达式结果是true,三元运算符整体结果为结果1,赋值给变量。

布尔类型表达式结果是false,三元运算符整体结果为结果2,赋值给变量。

public static void main(String[] args) {

int i = (1==2 ? 100 : 200);

System.out.println(i);//200

int j = (3<=4 ? 500 : 600);

//条件判断语句? true:flase

System.out.println(j);//500

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值