JAVA学习笔记7:java的运算符

本文摘自:https://www.sxt.cn/first-season/013.html
运算符(operator)
Java 语言支持如下运算符:

算术运算符:  +,-,*,/,%,++,--

赋值运算符 =

关系运算符:  >,<,>=,<=,==,!=  instanceof

逻辑运算符:  &&,||,!

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

条件运算符 ?:

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

二元运算符

整数运算:

如果两个操作数有一个为Long, 则结果也为long

没有long时,结果为int。即使操作数全为shot,byte,结果也是int.

浮点运算:

如果两个操作数有一个为double, 则结果为double.

只有两个操作数都是float, 则结果才为float.

说白了就是 自动类型转换:

自动类型转换:容量小的数据类型可以自动转换为容量大的数据类型。

整型、实型(常量)、字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算。


取模运算

其操作数可以为浮点数,一般使用整数。如:5.9%3.9=2.000000004

要点:

负数%负数=负数;
负数%正数=负数;
正数%负数=正数;

一元运算符(++, --)

   int a = 3;
   int b = a++;   //执行完后,b=3。先给b赋值,再自增。
   int c = ++a;   //执行完后,c=5。先自增,再给b赋值

布尔逻辑表达符

逻辑与:&&和&

逻辑或:||和|

逻辑非:!

逻辑与和逻辑或采用短路的方式。从左到右计算,如果确定值则不会再计算下去。

逻辑与只要有一个为false, 则直接返回false.

逻辑或只要有一个为true, 则直接返回true;

boolean c = 1>2&&2>(3/0);

位运算符

~ – 取反 & – 按位与

| – 按位或 ^ – 按位异或

<<:左移运算符, >>:右移运算符 >>>:无符号移位运算符

右移一位相当于除2取商。

左移一位相当于乘2。

   int a = 3*2*2;
   int b = 3<<2;  //相当于:3*2*2;
   int a = 12/2/2;
   int b = 12>>2;

扩展运算符

运算符

用法举例

等效的表达式

+=

a   += b
a =   a+b

-=

a   -= b
a   = a-b

*=

a   *= b
a   = a*b

/=

a   /= b
a   = a/b

%=

a   %= b
a   = a%b

字符串连接符

“+”运算符两侧的操作数中只要有一个是字符串(String)类型,系统会自动将另一个操作数转换为字符串然后再进行连接。

   int c = 12;
   System.out.println("c=" + c);

三目条件运算符

三目条件运算符,语法格式:

x ? y : z
其中 x 为 boolean 类型表达式,先计算 x 的值,若为true,则整个三目运算的结果为表达式 y 的值,否则整个运算结果为表达式 z 的值。

举例:

   int score = 80; int x = -100;
   String type = score < 60 ? "不及格" : "及格";
   int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
   System.out.println("type= " + type);
   System.out.println("flag= "+ flag);

JAVA运算符优先级: 不用可以去记,表达式里面优先使用小括号来组织!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值