算数运算符的使用
执行结果:
m1 % n1 = 2
m2 % n2 = -2
m3 % n3 = 2
m4 % n4 = -2
运算符练习
class get_num{
public static void main(String[] args)
{
int num = 123;
int bai = num/100;
int shi = num % 100 / 10;
int ge = num %10;
System.out.println("百位是:"+ bai);
System.out.println("十位是:"+ shi);
System.out.println("个位是:"+ ge);
}
}
执行结果:
赋值运算符
*符号:当“=”两侧数据类型不一致时,可以使用自动类型转换或使用强制 类型转换原则进行处理。 支持连续赋值。
扩展赋值运算符: +=, -=, =, /=, %=
比较运算符
逻辑运算符
连接布尔型叫 逻辑运算符 ,连接数字的叫位运算符,逻辑运算符我们用的时候较多.
&&与&(短路与 vs 逻辑与)
class operator{
public static void main(String[] args)
{
boolean b1 = false;
int num = 10;
if (b1 & (num++ >10)){//使用 & 不管是true还是flase “&” 后边的都还是会运算
System.out.println("成都");
}else{
System.out.println("巴中");
}
System.out.println(num);
boolean b2 = false;
int num1 = 10;
if (b2 && (num1++ >10)){//当使用 “&&” 时,只要是flase “&&” 后边的式子就不会运算
System.out.println("成都");
}else{
System.out.println("巴中");
}
System.out.println(num1);
}
}
执行结果:
|| 与 |(逻辑或 vs 短路或 )
class operator{
public static void main(String[] args)
{
boolean b1 = true;
int num = 10;
if (b1 | (num++ >10)){//使用 | 不管是true还是flase “|” 后边的都还是会运算
System.out.println("成都");
}else{
System.out.println("巴中");
}
System.out.println(num);
boolean b2 = true;
int num1 = 10;
if (b2 || (num1++ >10)){//当使用 “||” 时,只要是True “||” 后边的式子就不会运算
System.out.println("成都");
}else{
System.out.println("巴中");
}
System.out.println(num1);
}
}
开发中一般优先使用短路与(&&)和 短路或(||)
位运算符
左移 右移 即 乘2的几次方(左移的位数) 和 除2的几次方(右移的位数)
交换两个值的方法
一般我们都是用第一种.
一般在开发中我们都很少的去运用位运算符.因为我们可以找其他的方法去代替.
三元运算符
表达式1和表达式2也不一定是同种类型,但是必须要能统一成一个类型
我们可以用三元运算符的地方都可以改为 if - else,但是两者都能使用时我们最好还是用三元运算符,因为比较简洁
练习:
程序输出
class OperatorTest {
public static void main(String[] args) {
boolean x = true;
boolean y = false;
short z = 40;
if ((z++ == 40) && (y = true)) {
z++;
}
if ((x = false) || (++z == 43)) {
z++;
}
System.out.println("z = " + z);
}
}
结果为:44
定义三个int型变量并赋值,使用三元运算符或者if-else获取这三个数中的较大数的实现
int num1 = 10,num2 = 21,num3 = -21;
int max;
if(num1 >= num2 && num1 >= num3){
max = num1;
}else if(num2 >= num1 && num2 >= num3){
max = num2;
}else{
max = num3;
}
System.out.println("三个数中的最大值为:" + max);
编写程序,声明2个double型变量并赋值。判断第一个数大于10.0,且第2个数小于20.0,打印两数之和。否则,打印两数的乘积。
double d1 = 12.3;
double d2 = 32.1;
if(d1 > 10 && d2 < 20){
System.out.println(d1+d2);
}else{
System.out.println(d1*d2);
}
交换两个变量值的代码的实现
String s1 = “北京”;
String s2 = “南京”;
String temp = s1;
s1 = s2;
s2 = temp;