目录:
1. 概念
2. 算数运算符
3. 赋值运算符
4. 比较运算符
5. 逻辑运算符
6. 三元运算符
概念
运算符:进行特定操作的符号如:+ – * /
表达式:用运算符连起来的式子叫表达式
在Java中分为:算数运算符、赋值运算符、比较运算符、逻辑运算符、三元运算符
算数运算符
基础用法
public static voidmain(String[] args) {
//常量之间可以进行属性运算System.out.println(20+ 30);
//变量之间也可以进行数学之间运算inta = 20;intb = 30;System.out.println(a + b);//变量和常量可以混合使用System.out.println(a * 10);
//除法// 1都是整数,结果也是整数,只看商,不可余数intx = 10;inty = 3;System.out.println(x / y);// 3
//取模 (取余数)只有对应整数的除法取模才有意义intresult2 = x % y;System.out.println(result2);// 1
//运算如果有不同数据类型,结果为范围大的数据类型,先提升数据类型,再运算doubleresult = x / y;System.out.println(result);// 3.0
}
+ 的三种用法
public static voidmain(String[] args) {
//用法1:对于数值来说,就是+法intx = 30;inty = 40;intresult = x + y;System.out.println(result);
//用法2:对于字符char类型来说,char会被提示成为int。然后再计算charc = 'A';intresult2 = c + 1;System.out.println(result2);
//用法3:对应字符串,+代表字符串连接操作String s1 = "Hello ";String s2 = "Word";String result3 = s1 + s2;System.out.println(result3);
//任何数据类型和字符串相加,结果都是字符串intz = 300;String s3 = "个";System.out.println(z + s3);
//优先级String s4 = s3 + z + x;System.out.println(s4);
//改变优先级System.out.println(s3 + (x + y));
}
自增自减运算符 ++、–
含义:让一个变量+1或者-1
格式:++变量名,变量名++
public static voidmain(String[] args) {
//单独使用inta = 100;a++;//后++System.out.println(a);// 101++a;//前++System.out.println(a);// 102
//混合使用// 1如果是前++,变量先计算,再使用intnum1 = 100;intnum2 = 100;num1 = num1 + ++num2;System.out.println(num1);// 201System.out.println(num2);// 101// 2如果是后++,变量先使用,再计算intb = 100;intz = 100;b = b + z++;System.out.println(b);// 200System.out.println(z);// 101}
算数运算符注意:
1. 常量和变量都可以进行数学之间运算
2. 常量不能使用自增自减运算符,因为常量本身是不可变的
2. Java中整数在使用赋值运算符运算的时候,不会得到小数
赋值运算符
基本赋值运算符(=)
含义:将符号右边的量,赋值给左边的变量
符号赋值运算符
public static voidmain(String[] args) {
// =inta = 100;//将右侧的100交给左侧的a存储
// +=相当于b = b + b;intb = 100;b += b;System.out.println(b);// 200
// -=intnum1 = 100;num1 -= 100;System.out.println(num1);// 0
// /=intnum2 = 10;num2 /= 3;System.out.println(num2);// 3
// %=intnum3 =10;num3 %= 3;System.out.println(num3);// 1
//符号运算符包含了强制类型转换bytenum4 = 30;num4 += 5;System.out.println(num4);// 35}
赋值运算符注意:
1. 常量不能用于赋值,不能写在赋值运算符的左边
2. 复合赋值运算符隐含了强制类型转换
intnum4 = 30;num4 += 5;
// 会发生如下转换
num4 = byte + int;
num4 = int + int;
num4 = (byte)int;
比较运算符
public static voidmain(String[] args) {
//常量比较System.out.println(1< 2);
//变量比较inta = 10;intb = 20;System.out.println(a < b);
// >=大于或者=都为trueSystem.out.println(a > 11);// falseSystem.out.println(a >= 10);// true
// ==等于System.out.println(a == b);// false
// !=不等于System.out.println(a != b);// true}
赋值运算符注意
1. 结果一定是boolen值
2. 不能连续多次判断比如 10 < a < 20(错误写法),需要使用逻辑运算符
逻辑运算符
&&
||
!
与(并且)
或(或者)
非(取反)
全是true才是true
有一个true为true, 全是false为false
如果true取反为false
public static voidmain(String[] args) {
inta = 10;intb = 20;intc = 30;
// &&与booleanflag = a > b && b > c;System.out.println(flag);
// ||或booleanflag1 = a > b || b > c;System.out.println(flag1);
// !非booleanflag2 = !(a > b || b > c);System.out.println(flag2);
//逻辑短路System.out.println(a > b && ++a >b);System.out.println(a);//a = 10,并没有执行 && 后面的代码}
逻辑运算符注意
1. 一定是boolean值
2. && 、|| 具有短路的效果
3. && 、|| 左右两边都要有boolean值,!只需要有一个boolean值
4. 可以写多个条件
逻辑短路:如果左边的代码已经可以判断得到最终结果,那么右边的代码将不再执行
三元运算符
一元运算符: 只需要一个数据就可以进行操作的运算符,如:取反!、自增++、自减–
二元运算符: 需要两个运算符才能进行操作的运算符,如:加法+、赋值=
三元运算符:需要三个数据才能进行操作的运算符
三元运算符格式:数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B
流程:
public static voidmain(String[] args) {
inta = 10;intb = 20;intresult = a > b ? a : b;System.out.println(result); // 20}
三元运算符注意
1. 必须保证右侧的表达式A和表达式B都符合左侧的数据类型
2. 三元运算符结果必须被使用
//错误示范doubled = 2.5;intresult2 = a > b ? a : d; // 类型不匹配a > b ? a : d;// 未使用
程序员灯塔
转载请注明原文链接:【Java】运算符