Java基础语法——运算符
一、运算符概述
1、表达式
- 表达式由运算符和操作数组成
例:
5
num1
num1 + num2 //其中+为运算符,num1和num2为操作数
sum = num1 + num2 //其中+和=为运算符,sum,num1,num2为操作数,sum为赋值运算的操作数
2、运算符的分类:
算数运算符、赋值运算符、关系运算符、逻辑运算符、条件运算符、位运算符
二、赋值运算符
1、使用格式
- 变量 = 表达式;
例:
int n = 3; //将3赋值给变量n
注意:赋值运算符是从右往左运算!
2、变量之间的互相赋值
①正确写法
double d = 123.4;
double d1 = d;
②错误写法
double d;
123.4 = d;
注意:赋值运算符的左边不能是常量!
3、复合赋值运算符
①包含+=、-=、*=、/=、%=
x += 5; //x = x + 5;
x -= 5; //x = x - 5;
x *= 5; //x = x * 5;
x /= 5; //x = x / 5;
x %= 5; //x = x % 5;
4、错题总结
例题:若有 a=3,则执行下列语句为a的值为? a+=a*=a;
答案:a = 12;
总结:
- 在Java中在一条语句中的中间赋值没有存储到变量a中。从右往左运算结果为3+3*3=12;
- 测试在C语言和C++中,结果均为18
三、算数运算符
1、分类
包括加减乘除和自增自减
①加减乘除运算符
注意:
关于除法
分子分母都是整型时,结果为整除后的结果。
要想得到浮点数,则分子或者分母用浮点数。
②自增自减运算符
- ++,- -只对一个操作数进行运算的运算符,叫做单目运算符;
- +、-、*、/等对两个操作数进行运算的运算符叫做双目运算符。
四、关系运算符
1、定义
比较运算符用于判断两个数据的大小,如大于;比较的结果是一个布尔值。
2、分类
>(大于)、<(小于)、==(等于)、>=(大于或等于)、<=(小于或等于)、!=(不等于)
3、示例
①字符比较
'A'>'B' //结果为false,比较的是两个字符的ASCII值
②数值比较
5 != 6 //结果是true,比较两个数值是否相等
③布尔值比较
true == false //结果为false,两个布尔值不相等
④不同类型数值比较
float f = 5.0f; long l = 5; f == l; //结果为true,浮点数与整数进行比较,只要值相等就返回true。
注意:
关系表达式必要时尽量用括号括起来。
4、条件结构
①if条件结构
简单if语句的格式:
if (条件) {
<语句块> //当语句块中仅一条语句的话,大括号可以省略。
}
②if-else语句的形式
if (条件) {
<语句块>
}
else
{
<语句块>
}
五、逻辑运算符
1、分类
包含与(&&或&)、或(||或|)、非(!)
注意:
逻辑运算符的操作数都是布尔类型的。
2、逻辑“与”运算符
子表达式全为true结果才为true。
运算顺序:先乘除后加减,有小括号先算小括号里面的,赋值运算最后才算
①&运算符
&连接的各个表达式均要计算;
②&&运算符
&&运算符又叫做短路运算符,如果第一个表达式的值就能决定表达式最后的结果,运算符右边的表达式就不再计算了,即第一个表达式为false。
3、逻辑“或”运算符
子表达式有一个为true则总体为true
①|运算符
|连接的表达式均要进行运算。
②||运算符
||也为短路运算符,如果第一个表达式能决定表达式最后的结果,运算符右边的表达式就不再计算了。
4、逻辑“非”运算符
!运算符表示对原条件进行取反,true变false,false变true
六、条件运算符
条件运算符是Java中唯一一个三目运算符
单目运算符:只对一个操作数进行操作,例:++
双目运算符:对两个操作数进行操作,例:+、-、*、/
三目运算符:有三个操作数(例:条件运算符)
语法:
布尔表达式?表达式1:表达式2;
//当布尔表达式的值为true,则返回表达式1的值,否则返回表达式2的值。在这里插入代码片
七、运算符的优先级
例:已知int n = 4,y = 6
n = x * y + (x % 2) - (x / y);
先取余和乘除法,然后算加减,最后赋值,结果n = 24。
如图,箭头所指表示运算符优先级从高到低。
注:
尽量在写表达式的时候多加括号,增加代码规范性和可读性,使优先级更清晰。
一般顺序:算数运算符->关系运算符->逻辑运算符->赋值运算符(逻辑非!除外,级别较高)