三元运算符 :

数据类型 变量名 = 比较表达式 ? 表达式A : 表达式B;
int a = 3>2 ? 3:2 ;
执行流程:
先判断比较表达式,
如果是true。那么将表达式A进行赋值
如果是false。那么将表达式B进行赋值
代码:
public static void main(String[] args) {
//表达式A和表达式B的数据类型都是左侧数据类型
int result1 = 10 > 20 ? 10 : 20;
System.out.println(result1);//20
//表达式A和表达式B的数据可以自动转换成左侧的数据
float result2 = !false ? 'a' : 48;
System.out.println(result2);//97.0
}
解析:
1:正常写法是表达式A和表达式B都满足左侧的数据要求,例如result1;
2:当表达式A和表达式B的值可以自动转换成左侧数据类型时貌似也不报错,比如result2;
========================================================================================================================================================
算数运算符中的除法/ :
System.out.println(3/2);
System.out.println(3/2.0);
解析:
第一个结果是1,除法运算中,俩个整数相除,结果仍然是整数,即"取整";
第二个结果是1.5,除法运算中如果想得到小数的结果,必须有浮点数参与运算;
========================================================================================================================================================
算数运算符中的取模运算% :
System.out.println(1%3);
System.out.println(1%-3);
System.out.println(-1%3);
System.out.println(-1%-3);
System.out.println(1.0%3);
System.out.println(1.0%-3);
System.out.println(-1%3.0);
System.out.println(-1%-3.0);
解析对应的结果依次是:
1
1
-1
-1
1.0
1.0
-1.0
-1.0
1:取模运算的结果是正数还是负数,取决于%符号的左边;
2:取模运算的结果是有小数还是没有小数,取决于进行模运算的俩个值有没有带小数的。
========================================================================================================================================================
算数运算符中的自增++、自减运算–
++: 将变量进行自增
–: 将变量进行自减
(1)第一种情况:单独使用
++或者–放在变量的前面或者是后面。没有区别,都是将原值进行自增或者自减
(2)第二种情况:参与运算使用
int i=3;
System.out.println(++i -1);// 结果: 3 , i=4
System.out.println(i-- -1);// 结果: 2 , i=2
++i -1解析:如果++或者–放在变量的前面,先将变量进行自增或者自减。然后再参与运算
i-- -1解析:如果++或者–放在变量的后面,先将变量原值拿出来使用。然后再自增或者自减
========================================================================================================================================================
习题:
第一题:分析以下需求,并用代码实现
1.指定一个int 变量 num =123,
2.打印格式:"数字123的个位是 3, 十位是 2, 百位是 1"
public class test02 {
/*第一题:分析以下需求,并用代码实现
1.指定一个int 变量 num =123,
2.打印格式:"数字123的个位是 3, 十位是 2, 百位是 1"*/
public static void main(String[] args) {
int num = 123;
System.out.println( num + "百位数是" + (num / 100));
System.out.println(num + "十位数是" + (num % 100) / 10);
System.out.println( num + "个位数是" + num % 10);//写法一
System.out.println( num + "个位数是" + (num % 100) % 10);//写法二
}
}
============================================================================
第二题:分析以下需求并实现
1:请使用三元运算符计算出三个整数中的最大值;
2:请使用三元运算符计算出三个整数中的最小值。
public class test02 {
/*第二题:分析以下需求并实现
1. 请使用三元运算符计算出三个整数中的最大值;
1. 请使用三元运算符计算出三个整数中的最小值。*/
int a = 10;
int b = 20;
int c = 15;
int min = (a < b ? a : b) < c ? (a < b ? a : b) : c;
int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;
System.out.println(min);
System.out.println(max);
}
}
============================================================================
第三题:
查看以下代码,x和y输出的结果为:( )
public class Test02 {
public static void main(String[] args) {
int x = 4;
int y = (--x)+(x--)+(x*10);
System.out.println("y = " + y);
System.out.println("x = " + x);
}
}
A:y=26 x=2
B:y=46 x=3
C:y=25 x=4
D:y=66 x=5
解析:
int y = (–x)+(x–)+(x*10);
–4 + (x–) + (x*10)
3 + (3–) + (x*10)
3 + (3) + (2*10)
因此最终结果是26和2,选A。
============================================================================
本文深入讲解Java中的三元运算符、算数运算符及其特殊场景应用,包括取模、自增自减运算,并通过实例演示如何利用这些运算符解决实际问题。
1623

被折叠的 条评论
为什么被折叠?



