Day02作业
大约 6 分钟
Day02作业
点击回到笔记 📒👈
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元。
让用户有两种选择方案:
- 订单满30元8折优惠。
- 鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。
最终这个小伙要点这三样东西,最少要花多少钱?请编写程序计算。
思路分析
有两种购买方式,一种是不使用优惠价,另一种是使用优惠价。分别计算花费后,对两种方式的花费作对比。
参考步骤
- 使用
算术运算符
求出不使用优惠时的总价. - 使用
三元运算符
判断总价是否满足打折条件,并求出折后总价. - 使用
算术运算符
求出使用优惠价时的总价. - 使用
三元运算符
判断最终更合算的购买方式和花费.
2️⃣ 3.2 李雷想买一个价值7988元的新手机,她的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新的优惠,把她的旧手机交给店家,新手机就能够打8折优惠。
提示
相关信息
为了更省钱,李雷要不要以旧换新?请在控制台输出。 两种选择方案: 1. 卖掉旧手机,买新手机
2. 以旧换新,享受新手机8折优惠
3.2.1 思路分析:
思路分析
- 怎样计算不同方式的花费?
- 用什么语句能够对不同购买方式的价格做出判断?
参考步骤
- 计算不使用以旧换新时的花费。
- 计算使用以旧换新时的花费。
- 使用三元表达式 对比2个方案的花费,选择最优惠的方案 如:方案1金额> 方案2金额 ? "选择方案2": "选择方案1"
3️⃣ 3.3 身高是具有遗传性的,子女的身高和父母的身高有一定的关系。假定,父母和子女的身高遗传关系如下:
提示
相关信息
- 儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2
- 女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2
现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少?
思路分析
- 已知的父母身高如何用代码体现?
- 题目中的公式如何转化为代码?
- 使用变量的定义和算术运算符完成本题
参考步骤
- 定义小数变量代表父亲身高
- 定义小数变量代表母亲身高
- 通过儿子身高计算方式计算儿子身
- 通过女儿身高计算方式计算女人身高