Day02作业

YangeIT大约 6 分钟

Day02作业

点击回到笔记 📒👈

.open in new window

1. 简答题

1️⃣ 1.1 请列出逻辑运算符的种类,以及不同情况的不同结果?

回答

可以用Typora或者editplus或者notepad++或者在idea中 书写答案


2️⃣ 1.2 请问短路&&和&,有何区别?你将来会选择用哪个?为什么?

回答

可以用Typora或者editplus或者notepad++或者在idea中 书写答案


3️⃣ 1.3 请描述三元运算符的执行流程?

回答

可以用Typora或者editplus或者notepad++或者在idea中 书写答案


4️⃣ 1.4 请问"+"号操作,在字符串和字符中有何区别?

回答

可以用Typora或者editplus或者notepad++或者在idea中 书写答案


5️⃣ 1.5 强制类型转换是不是一定会丢失数据?请说明原因?

回答

可以用Typora或者editplus或者notepad++或者在idea中 书写答案


2. 选择题 🔡

1️⃣2.1(单选):下面关于逻辑运算符的代码执行结果是( )

public class Test {
    public static void main(String[] args) {
        boolean flag1 = (3 < 5) && (5 > 7);
        boolean flag2 = (3 < 5) || (5 > 7);
        boolean flag3 = !(7 != 7);
        System.out.println("flag1的值是:" + flag1);
        System.out.println("flag2的值是:" + flag2);
        System.out.println("flag3的值是:" + flag3);
    }
}
A.  flag1的值是:true
	flag2的值是:false
	flag3的值是:false 
B.	flag1的值是:false
	flag2的值是:true
	flag3的值是:true 
C.	flag1的值是:false
	flag2的值是:false
	flag3的值是:true 
D.	flag1的值是:true
	flag2的值是:true
	flag3的值是:false 	

2️⃣ 2.2 (单选):以下选项中,三元运算符的使用正确的是( )

A. public static void main(String[] args){
        int a = 10;
  		int b = 20;
  		(a > b) ? a : b;
   }
B. public static void main(String[] args){
    	int a = 10;
  		int b = 20;
  		int c = (a > b) ? "正确" : b;
   }
C. public static void main(String[] args){
    	int a = 10;
  		int b = 20;
  		int c = (a > b) : a ? b;
   }
D. public static void main(String[] args){
  		int a = 10;
  		int b = 20;
    	System.out.println((a > b) ? a : b);
   }

3️⃣2.3 (单选):请观察以下代码,在横线处填写的正确代码是( )

public static void main(String[] args) {
    int a = 10;
    int b = 20;
    int min = _________; 				
    System.out.println("最小值:"+ min);  
}



 


A. a < b ? 20 : 10
B. a < b ? a : b
C. a > b ? a : b
D. a < b ? "a是最小值" : "b是最小值"

5️⃣2.5(单选):请观察以下代码,为横线处选取正确答案( )

public static void main(String[] args){
    byte b1 = 10;
    byte b2 = 20;
    byte result = __________;
    System.out.println("求和的结果是:"+result);
}
A.(byte)b1 + b2
B.(byte)(b1 + b2)
C. b1 + b2
D. b1 + (byte)b2

6️⃣ 2.6(单选):下列代码的运行结果是( )

public static void main(String[] args) {
	int i = 0;
  	int k = ++i + i++ + ++i + i++;
  	System.out.println("i = " + i + ",k = " + k);
}
A. i = 4,k = 7
B. i = 0,k = 5
C. i = 3,k = 8
D. i = 4,k = 8

7️⃣2.7(单选):下面程序的运行后,结果正确的是:

public static void main(String[] args) {
     int a = 1, b = 2;
     int c = (a + b > 3 ? a++ : ++b);
     System.out.println("a=" + a + ",b=" + b);
}
A. a=2,b=3
B. a=1,b=3
C. a=1,b=2
D. c=3

8️⃣ 2.8(单选):以下代码片段执行后,请参照运算符优先级,选择正确结果 ( )

A. true true false false true

B. true false true false false

C. false false true false false

D. true false false false false


3. 代码题 ✏️

1️⃣ 3.1 某小伙想定一份外卖,商家的优惠方式如下:鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。

让用户有两种选择方案:

  1. 订单满30元8折优惠。
  2. 鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。

最终这个小伙要点这三样东西,最少要花多少钱?请编写程序计算。

思路分析

​ 有两种购买方式,一种是不使用优惠价,另一种是使用优惠价。分别计算花费后,对两种方式的花费作对比。

参考步骤

  1. 使用算术运算符求出不使用优惠时的总价.
  2. 使用三元运算符判断总价是否满足打折条件,并求出折后总价.
  3. 使用算术运算符求出使用优惠价时的总价.
  4. 使用三元运算符判断最终更合算的购买方式和花费.

2️⃣ 3.2 李雷想买一个价值7988元的新手机,她的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新的优惠,把她的旧手机交给店家,新手机就能够打8折优惠。

提示

相关信息

​ 为了更省钱,李雷要不要以旧换新?请在控制台输出。 ​ 两种选择方案: 1. 卖掉旧手机,买新手机
2. 以旧换新,享受新手机8折优惠

3.2.1 思路分析:

思路分析

  1. 怎样计算不同方式的花费?
  2. 用什么语句能够对不同购买方式的价格做出判断?

参考步骤

  1. 计算不使用以旧换新时的花费。
  2. 计算使用以旧换新时的花费。
  3. 使用三元表达式 对比2个方案的花费,选择最优惠的方案 如:方案1金额> 方案2金额 ? "选择方案2": "选择方案1"

3️⃣ 3.3 身高是具有遗传性的,子女的身高和父母的身高有一定的关系。假定,父母和子女的身高遗传关系如下:

提示

相关信息

  1. 儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2
  2. 女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2

现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少?

思路分析

  1. 已知的父母身高如何用代码体现?
  2. 题目中的公式如何转化为代码?
  3. 使用变量的定义和算术运算符完成本题

参考步骤

  1. 定义小数变量代表父亲身高
  2. 定义小数变量代表母亲身高
  3. 通过儿子身高计算方式计算儿子身
  4. 通过女儿身高计算方式计算女人身高

点击跳转到Day02笔记 👈

点击跳转到Day03笔记 👈