基础第一阶段day02——相关运算符注意事项、运算符习题

本文深入讲解Java中的三元运算符、算数运算符及其特殊场景应用,包括取模、自增自减运算,并通过实例演示如何利用这些运算符解决实际问题。

三元运算符 :

在这里插入图片描述
数据类型 变量名 = 比较表达式 ? 表达式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。

============================================================================

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值