Java基本运算-运算符

2021-02-02 04:16

阅读:400

标签:temp   基本   eof   amp   嵌套使用   问题   正数   java   中间   

运算符:
运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。
算术运算符
赋值运算符
比较运算符(关系运算符)
逻辑运算符
位运算符
三元运算符


算术运算符:+、-、+、-、*、/、%、+
取模运算(取余运算):
取模运算中,结果与被模数的正负相关。
应用:经常用来判断是否可以除尽某个数。

赋值运算符:+=、-=、/=、*=、%=、=
自增自减运算符,以及+=、-=、/=、*=、%=都不用考虑类型转换的问题,这些运算符不会改变数据类型。

比较运算符:==、!=、、=、instanceof


逻辑运算符:&、|、!、&&、||、^

说明:逻辑运算符适用于布尔类型的变量,运算的结果也为布尔型。

&和&&的区别:
如果符号左侧为true,则两个运算符号没有区别;
如果符号左侧为false,则&右侧的运算会继续执行进行运算,但是&&右侧的运算则被短路,不会再执行。
开发中,通常使用&&。

|和||的区别:
如果符号左侧为false,则两个运算符号没有区别;
如果符号左侧为true,则‘|’右侧的运算会继续执行进行运算,但是“||”右侧的运算则被短路,不会再执行。
开发中,通常使用||。

位运算符:> >>> & | ^ ~

说明:
1.位运算符操作的都是整型数据
2.3.>>:在一定范围内,每右移一位,相当于/2
(2和3中,不论正数还是负数,都一样,而且正数就补0,负数就补1)
4.>>>:无符号右移,不管此整数是整数还是负数,高位都拿0补。

交换两个变量的值
int m = 10;
int n = 5;
方式1:(推荐)
int temp = m;
m = n;
n = temp;
方式2:
好处:没有定义中间变量
坏处:可能会溢出,适用性差
m = m + n;
n = m - n;
m = m - n;
方式3:
使用位运算符:原理 (m^n)^n=m
好处:没有定义中间变量
坏处:适用性差,难
m = m ^ n;
n = m ^ n;
m = m ^ n;

三元运算符
格式:
(条件表达式)?表达式1:表达式2:
1.条件表达式的结果是布尔型
2.如果条件表达式为true,运行结果为表达式1,反之结果为表达式2.
3.表达式1和表达式2必须类型是一致的,即至少可以统一为同一种类型。
4.三元运算符可以嵌套使用。
5.三元运算符都可以转换成if-else,反之不成立。三元运算符和if-else都可以用的话,推荐三元运算符。

获取三个数中的最大值/较大值可以运用三元运算符完成。
//方法1:
//int m = 43,n = 29,q = 20;
//int max1 = (m > n)? m : n;
//int max = (max1 > q)? max1: q;
//方法2:
//int m = 43,n = 29,q = 20;
//int max = (((m > n)? m : n) > q)? ((m > n)? m : n): q;
//方法3:
//int m = 43,n = 29,q = 20;
//int max = (n > q) ? ((n > m)? n : ((m > q)? m : q)):n;

Java基本运算-运算符

标签:temp   基本   eof   amp   嵌套使用   问题   正数   java   中间   

原文地址:https://www.cnblogs.com/1185937986-jili/p/12811510.html


评论


亲,登录后才可以留言!