什么是运算符:
对常量和变量进行操作的符号称为运算符
什么是表达式:
用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式
不同运算符连接的式子体现的是不同类型的表达式
常用的运算符:
1.算术运算(加减乘除)
public classDemoOperator {
public static voidmain(String[]args) {
//定义两个变量
inta= 3;
intb= 4;
//整数相除只能得到整数,想要得到小数,就必须有浮点数参与运算
}
}
1.1 %的用法:
判断两个数据是否整除
得到的是两个相除数据的余数
public classDemoOperator {
public static voidmain(String[]args) {
inta= 5;
intb= 3;
System.out.println(a/b);//1
System.out.println(a%b);//2
}
}
1.2+的多种用法:
a.数字相加
b.字符相加:拿字符在计算机中底层存储对应的数据值来参与运算的
c.字符串相加:不是字符串之间相加,而是起到连接的作用,连接完仍然是字符串类型
public classDemoOperator {
public static voidmain(String[]args) {
//1.整数的加法
inta= 10;
intb= 20;
//2.字符参与加法操作
charc='0';
charc2='a';
//3.字符串参与加法操作
System.out.println("hello"+a+b);//"hello"+10="hello10",然后再和b进行拼接
System.out.println(a+b+"hello");//从左到右依次计算,先求和,在连接
}
1.3++,--的用法:
a.对变量做加1或者减1的操作
b.可以写在变量的前面(++a,--a),也可写在后面(a++.a--)[不管前后,结果都是一样的]
c.混合使用:
如果++,--写在变量的后面,先拿变量本来的值参与操作,结束后变量做++,--
如果++,--写在变量的前面,先把变量做++,--,再用改变后的值参与操作
public classDemoOperator {
public static voidmain(String[]args) {
inta= 10;
//单独使用
// a++;
// ++a;
// System.out.println("a:" + a);
//参与操作使用
//intb = a++;
intb= ++a;
}
}
2.赋值运算:
基本:=
public classDemoOperator {
public static voidmain(String[]args) {
//把10赋值给int类型的变量a
inta= 10;
}
}
扩展:+= ,-=,*=,/=,%=
把左边和右边的结果赋值给左边
注意:左边不能是常量
隐含了一个强制类型转换.
public classDemoOperator {
public static voidmain(String[]args) {
// +=把左边和右边的数据进行运算,最后赋值给左边,左边的只能是变量
a+= 10;//相当于a = a + 10
shorts= 10;
// s += 20; //相当于s = s + 20;
s= (short) (s+ 20);
}
}
3.关系运算:
==,!=,>,=,
说明:
关系运算符的结果都是boolean型,也就是要么是true,要么是false
关系运算符“==”不能误写成“=”
public classDemoOperator {
public static voidmain(String[]args) {
inta= 10;
intb= 20;
intc= 10;
intx= 3;
inty= 4;
// System.out.println(x == y);
// System.out.println(x = y);//把y赋值给x,把x的值输出
booleanbb= (x==y);
//报错
// booleancc= (x = y);
intcc= (x=y);
}
}
4.逻辑运算:&(与),(或),^(异或),!(非)
逻辑运算符用于连接布尔型表达式
在Java中不可以写成3
与:&有false则false
或:有true则true
异或:^ 相同则false,不同则true
非:!true则false,false则true
public classDemoOperator {
public static voidmain(String[]args) {
inta= 10;
intb= 20;
intc= 30;
System.out.println((a>b) & (a>c));// false & false
System.out.println((ac));// true & false
System.out.println((a>b) & (a
System.out.println((a
System.out.println((a>b) (a>c));// false false
System.out.println((ac));// true false
System.out.println((a>b) (a
System.out.println((a
System.out.println((a>b) ^ (a>c));// false ^ false
System.out.println((ac));// true ^ false
System.out.println((a>b) ^ (a
System.out.println((a
System.out.println((a>b));// false
System.out.println(!(a>b));// !false
System.out.println(!!(a>b));// !!false
}
}
3.1&&和&的区别:
单&时,左边无论真假,右边都进行运算
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
“”和“”的区别同理,双或时,左边为真,右边不参与运算
public classDemoOperator {
public static voidmain(String[]args) {
inta= 10;
intb= 20;
intc= 30;
System.out.println((a>b) && (a>c));// false && false
System.out.println((ac));// true && false
System.out.println((a>b) && (a
System.out.println((a
System.out.println((a>b) (a>c));// false false
System.out.println((ac));// true false
System.out.println((a>b) (a
System.out.println((a
intx= 3;
inty= 4;
// System.out.println((x++ > 4) & (y++ > 5)); // false & false
System.out.println((x++ > 4) && (y++ > 5));// false && false
}
}
4.三元运算:
格式:(关系表达式)?表达式1:表达式2
如果条件为true,运算后的结果是表达式1
如果条件为false,运算后的结果是表达式2
4.1三元运算比较两个数据是否相同
public classDemoOperator {
public static voidmain(String[]args) {
//定义两个int类型的变量
inta= 10;
intb= 20;
booleanflag= (a==b) ?true:false;
// boolean flag = (a == b);
}
}
4.2三元运算获取三个数中的最大数
public classDemoOperator {
public static voidmain(String[]args) {
//定义三个int类型的变量
inta= 10;
intb= 30;
intc= 20;
//先比较两个整数的大值
inttemp= ((a>b) ?a:b);
intmax= ((temp>c) ?temp:c);
}
}
期待有问题在后台留言,或者下方留言
觉得有帮助,请分享给更多人
领取专属 10元无门槛券
私享最新 技术干货