JAVA05:运算符(算数运算符、自增自减运算符、位运算符、逻辑运算符、三元运算符、条件运算符、字符串连接符)

运算符

1.算数运算符

加(+), 减(-), 乘(*), 除(/)

在进行乘除时,要注意想要得到的结果的精度。如果结果应为小数,但类型为int时候,得到的结果会近似到整数。

int n_1=15+20;
int n_2=15-20;
int n_3=15*20;
int n_4=15/20;
double n_5=15/((double)20);
System.out.println(n_1);//output:35
System.out.println(n_2);//output:-5
System.out.println(n_3);//output:300
System.out.println(n_4);//output:0 
System.out.println(n_5);//output:0.75

当进行整数之间的计算时候,如果包括long类型,则结果为long类型,如果不包括long类型,则结果均为int类型。

byte n_byte=1;
short n_short=100;
int n_int=1000;
long n_long=10_0000_0000L;
System.out.println(n_byte+n_short);
			//output类型是int
System.out.println(n_byte+n_short+n_int);
			//output类型是int
System.out.println(n_byte+n_short+n_int+n_long);
			//output类型是long

摩(%)

摩运算就是取余数
例如:22除以4等于5余2(22/4=5……2)

int num=22%4;
System.out.println(num);
//output: 2
幂运算(次方运算)

幂运算要用到Math.pow(x,y), 所得到的数是x的y次方。

double num=Math.pow(3,2);//3的2次方
System.out.println(num);
//output: 9.0
自增(++),自减(- -)

自增自减运算是一元运算符。a++;意味着a=a+1;, a--;则意味着a=a-1;。但++和- -所在位置的不同会影响结果。

int a =5;
int A =5;
int b =a++;
int B =++A;
System.out.println(a);//output:6
System.out.println(A);//output:6
System.out.println(b);//output:5
System.out.println(B);//output:6
  • 当运算符在变量后面时候:int b=a++;是执行完这行代码后,先给b赋值,a再自增。
  • 当运算符在变量后面时候:int B=++A;是执行完这行代码前,A先自增,再给B赋值。

2.赋值运算符:等于(=)

等于号意味着将等号后面的值赋给等号前的变量。当进行本身计算时可以简写。

a+=10;//相当于:a=a+10;
b-=10;//相当于:a=a-10;
c*=10;//相当于:a=a*10;
d/=10;//相当于:a=a/10;

3.关系运算符

大于(>), 小于(<), 大于等于(>=), 小于等于(<=),恒等于(==), 不等于(!=), instanceof

关系运算符返回的结果只有true和false。

int a=10;
int b=20;
System.out.println(a>b);//output:false
System.out.println(a<b);//output:true
System.out.println(a>=b);//output:false
System.out.println(a>=b);//output:false
System.out.println(a==b);//output:false
System.out.println(a!=b);//output:true

4.逻辑运算符

与(&&), 或(||), 非(!)
  • 逻辑与运算(&&):两个变量都是true,结果才为true。
  • 逻辑或运算(||):两个变量有一个为ture,结果才为true。
  • 逻辑非运算(!):如果是true则变false,如果是false则变true。
boolean t=true;
boolean f=false;
System.out.println(t&&f);//output:false
System.out.println(t||f);//output:true
System.out.println(!t);//output:false
System.out.println(!f);//output:true

5.位运算符

与(&), 或(|), 亦或(^), 非(~)
参加运算的两个数据,按二进制位进行运算。

  • 与(&):必须同时为1,则结果为1。
  • 或(|):只要有一位为1,则结果为1。
  • 亦或(^):只有一个为1,则结果为1。
  • 非(~):如果是1则变0,如果是0则变1。
A=	 0011 1100
B=	 0000 1101
-----------------
A&B= 0000 1100 
A|B= 0011 1101
A^B= 0011 0001
~A = 1100 0011
~B = 1111 0010

左移(<<), 右移(>>)

  • 左移(<<):二进制数字整体向左移动一位,会导致数值被乘2.
  • 右移(<<):二进制数字整体向右移动一位,会导致数值被除以2.
//<<或>>前面是要进行计算的数字
//<<或>>后面是要移动的位数
System.out.println(2<<1);//output:4
System.out.println(2<<2);//output:8
System.out.println(2<<3);//output:16
System.out.println(16>>2);//output:4
System.out.println(16>>3);//output:2
System.out.println(15>>1);//output:7

6.三元运算符(? :)

x ? y : z 表示如果x==true,则结果为y,否则为z

int score =59;
String type =(score<60) ? "不及格" : "及格" ;
System.out.println(type);
//output: 不及格

7.字符串连接符

加号(+)作为字符串连接符,连接字符串和其他数据。当字符串出现在连接符的前方或者后方,所得到的结果是不一样的。

  • 当字符串出现在连接符的前方,连接符后方的数据被直接默认为字符串。
  • 当字符串出现在连接符的前方,连接符前方的数据则不受影响。
int a=10;
int b=15;
System.out.println("Total number is "+a+b);
//output:Total number is 1015
System.out.println(a+b+" is total number");
//output:25 is total number

推荐java学习平台:狂神说Java

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值