From bfb474b75890f936f96563b931a4cefc934067ce Mon Sep 17 00:00:00 2001 From: 15860771339 <2816279374@qq.com> Date: Wed, 29 Mar 2023 16:21:17 +0800 Subject: [PATCH 1/2] =?UTF-8?q?20230328=E8=BF=90=E7=AE=97=E7=AC=A6?= =?UTF-8?q?=E7=BB=83=E4=B9=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20230328 \347\273\203\344\271\2401.md" | 142 ++++++++++++++ ...27\347\254\246\344\275\234\344\270\232.md" | 174 ++++++++++++++++++ 2 files changed, 316 insertions(+) create mode 100644 "08 \351\251\254\345\255\220\350\266\212/20230328 \347\273\203\344\271\2401.md" create mode 100644 "08 \351\251\254\345\255\220\350\266\212/20230328 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" diff --git "a/08 \351\251\254\345\255\220\350\266\212/20230328 \347\273\203\344\271\2401.md" "b/08 \351\251\254\345\255\220\350\266\212/20230328 \347\273\203\344\271\2401.md" new file mode 100644 index 0000000..ca12d32 --- /dev/null +++ "b/08 \351\251\254\345\255\220\350\266\212/20230328 \347\273\203\344\271\2401.md" @@ -0,0 +1,142 @@ +# 知识点 + +运算符 + +## 题目1(训练) + +身高是具有遗传性的,子女的身高和父母的身高有一定的关系。假定,父母和子女的身高遗传关系如下: + +​ 儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2 + +​ 女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2 + +现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少? + +### 训练提示 + +1. 已知的父母身高如何用代码体现? + +2. 题目中的公式如何转化为代码? + +### 解题方案 + +1. 使用变量的定义和算术运算符完成本题 + +### 操作步骤 + +1. 定义小数变量代表父亲身高 + +2. 定义小数变量代表母亲身高 + +3. 通过儿子身高计算方式计算儿子身高 + +4. 通过女儿身高计算方式计算女人身高 + +```java +package com.mzy.java; + +import java.util.Scanner; + +public class lx101 { + public static void main(String[] args) { + Scanner aa = new Scanner(System.in); + System.out.println("请输入父亲身高:"); + double f = aa.nextDouble(); + System.out.println("请输入母亲身高:"); + double m = aa.nextDouble(); + System.out.println("儿子的身高:" + ((f + m )* 1.08 / 2)); + System.out.println("女儿的身高:" + ((f *0.923 + m ) / 2)); + } +} +``` + + + +## 题目2(训练) + +红茶妹妹有21元钱,她攒了几天钱之后自己的钱比原来的两倍还多三块。绿茶妹妹有24元钱,她攒了几天钱之后自己的钱正好是原来的两倍。那么红茶和绿茶现在的钱一样多,请问对么? + +### 训练提示 + +1. 用什么知识点来计算她们现在的钱有多少? +2. 如何对比两个人的钱数? + +### 解题方案 + +1. 使用赋值运算符和算术运算符计算各自的钱,使用比较运算符对比大小 + +### 操作步骤 + +1. 定义红茶妹妹原来的钱为整数变量 +2. 定义绿茶妹妹原来的钱为整数变量 +3. 使用赋值运算符和算术运算符计算其现有的钱 +4. 使用比较运算符对数值做出比较 + +```java +package com.mzy.java; + +import java.util.Scanner; + +public class lx102 { + public static void main(String[] args) { + Scanner a = new Scanner(System.in); + System.out.println("请输入红茶妹妹原来的钱:"); + int hc =a.nextInt(); + System.out.println("请输入绿茶妹妹原来的钱:"); + int lc =a.nextInt(); + hc = hc * 2 + 3; + lc = lc * 2; + System.out.println("红茶妹妹现在的钱:" + hc); + System.out.println("绿茶妹妹现在的钱:" + lc); + if (hc == lc){ + System.out.println("红茶和绿茶现在的钱一样多"); + }else { + System.out.println("红茶和绿茶现在的钱不一样多"); + } + } +} +``` + +## 题目3(综合) + +某小伙想定一份外卖,商家的优惠方式如下:鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。订单满30元8折优惠。鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。那么这个小伙要点这三样东西,最少要花多少钱? + +### 训练提示 + +1. 有两种购买方式,一种是不使用优惠价,另一种是使用优惠价。分别计算花费后,对两种方式的花费作对比。 + +### 解题方案 + +1. 使用算术运算符、赋值运算符和三元运算符联合完成本题 + +### 操作步骤 + +1. 使用算术运算符求出不使用优惠时的总价 +2. 使用三元运算符判断总价是否满足打折条件,并求出折后总价 +3. 使用算术运算符求出使用优惠价时的总价 +4. 使用三元运算符判断最终更合算的购买方式和花费 + +### 参考答案 + +```java +package com.mzy.java; + +public class lx103 { + public static void main(String[] args) { + double yhyxrs =16; + double yxrs = 24; + double yzhs = 8; + double mf = 3; + double zj = yxrs + yzhs + mf; + System.out.println("不使用优惠的总价" + zj); + String sfdz = (zj >=30) ? "满足打折条件" : "不满足打折条件"; + System.out.println(sfdz); + double dzj = zj * 0.8; + System.out.println("打折后的总价" + dzj ); + double yhj = yhyxrs + yzhs + mf; + System.out.println("优惠时的总价" + yhj); + double py = (dzj < yhj) ? dzj : yhj ; + System.out.println("最便宜的消费为" + py); + } +} +``` \ No newline at end of file diff --git "a/08 \351\251\254\345\255\220\350\266\212/20230328 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" "b/08 \351\251\254\345\255\220\350\266\212/20230328 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" new file mode 100644 index 0000000..bad779d --- /dev/null +++ "b/08 \351\251\254\345\255\220\350\266\212/20230328 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" @@ -0,0 +1,174 @@ +​ + +**1、判断一个字符数据是否是数字字符 ** + +**分析:** + +​ 1、需要判断一个字符是否是数字字符,首先需要提供一个字符数据 + +​ 2、字符是否为数字字符: 数字字符的范围 0 - 9 之间都属于数字字符,因此提供的字符只要大于或等于字符0,并且还要下于或等于字符9即可。 + +​ 3、判断完成之后,打印判断的结果。 + +```java +package com.mzy.java; + +import java.util.Scanner; + +public class ysf02 { + public static void main(String[] args) { + Scanner wb = new Scanner(System.in); + System.out.println("请输入数字字符:"); + char a = wb.next().charAt(0); + if (a >= 0 & a <= '\t') { + System.out.println("是数字字符"); + } else { + System.out.println("不是数字字符"); + } + } +} +``` + +**2、判断一个字符数据是否是字母字符** + +**分析:** + +​ 1、需要判断一个字符是否是字母字符,首先需要提供一个字符数据 + +​ 2、字符是否为字母字符: 数字字符的范围 a - z 或者 A - Z 之间都属于字母字符,因此提供的字符只要大于或等于a,并且还要下于或等于z 或者 大于或等于A,并且还要下于或等于Z + +​ 3、判断完成之后,打印判断的结果。 + +```java +package com.mzy.java; + +import java.util.Scanner; + +public class ysf02 { + public static void main(String[] args) { + Scanner wb = new Scanner(System.in); + System.out.println("请输入字符:"); + char b = wb.next().charAt(0); + char a = 99; + if (b >= 'a' & a <= 122 | b >= 'A' & b <= 'Z') { + System.out.println("是"); + } else { + System.out.println("不是"); + } + } +} +``` + +**3、判断指定的年份是否为闰年,请使用键盘录入** + +**分析:** + +​ 1、闰年的判断公式为:能被4整除,但是不能被100整除 或者 能被400整除 + +​ 2、首先需要提供一个需要判断的年份,判断完成之后,打印判断的结果。 + +```java +package com.mzy.java; + +import java.util.Scanner; + +public class ysf03 { + public static void main(String[] args) { + Scanner wb = new Scanner(System.in); + System.out.println("请输入年份:"); + int a = wb.nextInt(); + if (!(a % 4 == 0 & a % 100 != 0) && a % 400 != 0) { + System.out.println(a + "不是闰年"); + } else { + System.out.println(a + "是闰年"); + } + } +} +``` + +**4、判断一个数字是否为水仙花数,请使用键盘录入** + +水仙花是指3位数字,表示的是每位上的数字的3次幂相加之后的和值和原数相等,则为水仙花数, + +**分析:** + +​ 如:153 ---> 1×1×*1 + 5*×5×*5 + 3×*3×3 = 153; 就是水仙花数 + +​ 1、首先需要提供一个需要判断的3位数字,因此需要一个数值 + +​ 2、判断的过程 + +​ a) 将3位数字的每一位上的数字拆分下来 + +​ b) 计算每位数字的3次幂之和 + +​ C) 用和值 和 原来的数字进行比较 + +​ D) 打印判断的比较结果即可 + +```java +package com.mzy.java; + +import java.util.Scanner; + +public class ysf04 { + public static void main(String[] args) { + Scanner wb = new Scanner(System.in); + System.out.println("请输入一个三位数:"); + int a = wb.nextInt(); + int b = a % 10; + int c = a / 10 % 10; + int d = a / 100; + int sum = b * b * b + c * c * c + d * d * d; + if (sum == a) { + System.out.println(a + "是水仙花数"); + } else { + System.out.println(a + "不是水仙花数"); + } + } +} +``` + +**5、判断一个5位数字是否为回文数,使用键盘录入** + +五位数的回文数是指最高位和最低位相等,次高位和次低位相等。如:12321  23732  56665 + +**分析:** + +​ 1、首先需要提供一个需要判断的5位数字,因此需要一个数值 + +​ 2、判断的过程 + +​ a) 将5位数字的万、千、十、个位数拆分出来 + +​ b) 判断比较万位和个位 、 千位和十位是否相等 + +​ 3、判断完成之后,打印判断的结果。 + +```java +package com.mzy.java; + +import java.util.Scanner; + +public class ysf05 { + public static void main(String[] args) { + Scanner wb = new Scanner(System.in); + System.out.println("请输入一个5位数:"); + int t = wb.nextInt(); + if (9999 < t && t < 100000) { + int a = t % 10; + int b = t / 10 % 10; + int c = t / 100 % 10; + int d = t / 1000 % 10; + int e = t / 10000; + if (a == e && b == d) { + System.out.println(t + "是回文数"); + } else if (a == e && b == d) { + System.out.println("输入错误"); + } else { + System.out.println(t + "不是回文数"); + } + } +} +``` + -- Gitee From 24555faab7012d2cd930f9fc1bc2b3adf416ec51 Mon Sep 17 00:00:00 2001 From: 15860771339 <2816279374@qq.com> Date: Mon, 3 Apr 2023 12:08:20 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../20230328 \347\273\203\344\271\2401.md" | 6 +- ...27\347\254\246\344\275\234\344\270\232.md" | 10 +- ...51\345\261\225\344\275\234\344\270\232.md" | 276 ++++++++++++++++++ ...10\347\273\274\345\220\210\357\274\211.md" | 180 ++++++++++++ 4 files changed, 464 insertions(+), 8 deletions(-) create mode 100644 "08 \351\251\254\345\255\220\350\266\212/20230331 Java\345\237\272\347\241\200\350\257\255\346\263\225\346\211\251\345\261\225\344\275\234\344\270\232.md" create mode 100644 "08 \351\251\254\345\255\220\350\266\212/20230401 \351\242\230\347\233\2561\357\274\210\347\273\274\345\220\210\357\274\211.md" diff --git "a/08 \351\251\254\345\255\220\350\266\212/20230328 \347\273\203\344\271\2401.md" "b/08 \351\251\254\345\255\220\350\266\212/20230328 \347\273\203\344\271\2401.md" index ca12d32..bc53b7d 100644 --- "a/08 \351\251\254\345\255\220\350\266\212/20230328 \347\273\203\344\271\2401.md" +++ "b/08 \351\251\254\345\255\220\350\266\212/20230328 \347\273\203\344\271\2401.md" @@ -37,7 +37,7 @@ package com.mzy.java; import java.util.Scanner; -public class lx101 { +public class Lx101 { public static void main(String[] args) { Scanner aa = new Scanner(System.in); System.out.println("请输入父亲身高:"); @@ -77,7 +77,7 @@ package com.mzy.java; import java.util.Scanner; -public class lx102 { +public class Lx102 { public static void main(String[] args) { Scanner a = new Scanner(System.in); System.out.println("请输入红茶妹妹原来的钱:"); @@ -121,7 +121,7 @@ public class lx102 { ```java package com.mzy.java; -public class lx103 { +public class Lx103 { public static void main(String[] args) { double yhyxrs =16; double yxrs = 24; diff --git "a/08 \351\251\254\345\255\220\350\266\212/20230328 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" "b/08 \351\251\254\345\255\220\350\266\212/20230328 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" index bad779d..4f9988f 100644 --- "a/08 \351\251\254\345\255\220\350\266\212/20230328 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" +++ "b/08 \351\251\254\345\255\220\350\266\212/20230328 \350\277\220\347\256\227\347\254\246\344\275\234\344\270\232.md" @@ -15,7 +15,7 @@ package com.mzy.java; import java.util.Scanner; -public class ysf02 { +public class Ysf01 { public static void main(String[] args) { Scanner wb = new Scanner(System.in); System.out.println("请输入数字字符:"); @@ -44,7 +44,7 @@ package com.mzy.java; import java.util.Scanner; -public class ysf02 { +public class Ysf02 { public static void main(String[] args) { Scanner wb = new Scanner(System.in); System.out.println("请输入字符:"); @@ -72,7 +72,7 @@ package com.mzy.java; import java.util.Scanner; -public class ysf03 { +public class Ysf03 { public static void main(String[] args) { Scanner wb = new Scanner(System.in); System.out.println("请输入年份:"); @@ -111,7 +111,7 @@ package com.mzy.java; import java.util.Scanner; -public class ysf04 { +public class Ysf04 { public static void main(String[] args) { Scanner wb = new Scanner(System.in); System.out.println("请输入一个三位数:"); @@ -150,7 +150,7 @@ package com.mzy.java; import java.util.Scanner; -public class ysf05 { +public class Ysf05 { public static void main(String[] args) { Scanner wb = new Scanner(System.in); System.out.println("请输入一个5位数:"); diff --git "a/08 \351\251\254\345\255\220\350\266\212/20230331 Java\345\237\272\347\241\200\350\257\255\346\263\225\346\211\251\345\261\225\344\275\234\344\270\232.md" "b/08 \351\251\254\345\255\220\350\266\212/20230331 Java\345\237\272\347\241\200\350\257\255\346\263\225\346\211\251\345\261\225\344\275\234\344\270\232.md" new file mode 100644 index 0000000..e331ec3 --- /dev/null +++ "b/08 \351\251\254\345\255\220\350\266\212/20230331 Java\345\237\272\347\241\200\350\257\255\346\263\225\346\211\251\345\261\225\344\275\234\344\270\232.md" @@ -0,0 +1,276 @@ +# 巩固题 + +## 1、强制类型转换练习 + +(1)先声明两个byte类型的变量b1,b2,并分别赋值为10和20,求b1和b2变量的和,并将结果保存在byte类型的变量b3中,最后输出b3变量的值 + +(2)先声明两个short类型的变量s1,s2,并分别赋值为1000和2000,求s1和s2变量的和,并将结果保存在short类型的变量s3中,最后输出s3变量的值 + +(3)先声明1个char类型的变量c1赋值为'a',再声明一个int类型的变量num赋值为5,求c1和num变量的和,并将结果将结果保存在char类型的变量letter中,最后输出letter变量的值。 + +(4)先声明两个int类型的变量i1,i2,并分别赋值5和2,求i1和i2的商,并将结果保存在double类型的变量result中,最后输出result变量的值。如何得到结果2.5呢? + +![image-20211219161207200](02_Java基础语法扩展作业图片/image-20211219161207200.png) + +```java +package com.mzy.java; + +public class Lx01 { + public static void main(String[] args) { + byte b1 = 10; + byte b2 = 20; + byte b3 = (byte) (b1 + b2); + System.out.println("byte类型的b1和b2的和为:" + b3); + short s1 = 1000; + short s2 = 2000; + short s3 = (short) (s1 + s2); + System.out.println("short类型的s1和s2的和为:" + s3); + char c1 = 'a'; + int num = 5; + char letter = (char) (c1 + num); + System.out.println("char类型的c1和int类型的num的和:" + letter); + int i1 =5; + int i2 =2; + double result =(double)i1/i2; + System.out.println("int类型的i1和i2的商是:" + result); + } +} + +``` + + + +## 2、按步骤编写代码,效果如图所示: + +![](02_Java基础语法扩展作业图片/4.jpg) + +1. 定义两个int类型变量a1和a2,分别赋值10,11,判断变量是否为偶数,拼接输出结果 +2. 定义两个int类型变量a3和a4,分别赋值12,13,判断变量是否为奇数,拼接输出结果 + +```java +package com.mzy.java; + +public class Lx02 { + public static void main(String[] args) { + int a1 =10 ; + String a1y =(a1%2 ==0) ? "是偶数?true" : "是偶数?false"; + System.out.println(a1 + a1y); + + int a2 =11 ; + String a2y =(a2%2 ==0) ? "是偶数?true" : "是偶数?false"; + System.out.println(a2 + a2y); + int a3 =12 ; + String a3y =(a3%2 ==1) ? "是奇数?true" : "是奇数?false"; + System.out.println(a3 + a3y); + int a4 =13 ; + String a4y =(a4%2 ==1) ? "是奇数?true" : "是奇数?false"; + System.out.println(a4 + a4y); + } +} + +``` + + + +## 3、计算时间 + +案例:为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时? + +![1557879127503](02_Java基础语法扩展作业图片/6.png) + +1. 定义一个int类型变量hours,赋值为89 +2. 定义一个int类型变量day,用来保存89小时中天数的结果 +3. 定义一个int类型变量hour,用来保存89小时中不够一天的剩余小时数的结果 +4. 输出结果 + +```java +package com.mzy.java; + +public class Lx03 { + public static void main(String[] args) { + int hours =89; + int day = hours/24; + int hour = hours%24; + System.out.println("为抵抗洪水,战士连续作战89小时:" + "89是" + day + "天"+ hour + "小时"); + } +} + +``` + + + +## 4、案例:今天是周2,100天以后是周几? + +![1557879464870](02_Java基础语法扩展作业图片/7.png) + +1. 定义一个int类型变量week,赋值为2 +2. 修改week的值,在原值基础上加上100 +3. 修改week的值,在原值基础上模以7 +4. 输出结果,在输出结果的时候考虑特殊值,例如周日 + +```java +package com.mzy.java; + +public class Lx04 { + public static void main(String[] args) { + int week =2; + System.out.println("今天是周2,100天以后是周"+(week + 100)%7); + } +} +``` + + + +## 5、案例:求三个整数x,y,z中的最大值 + +![1557879847378](02_Java基础语法扩展作业图片/8.png) + +1. 定义三个int类型变量,x,y,z,随意赋值整数值 +2. 定义一个int类型变量max,先存储x与y中的最大值(使用三元运算符) +3. 再次对max赋值,让它等于上面max与z中的最大值(使用三元运算符) +4. 输出结果 + +```java +package com.mzy.java; + +public class Lx05 { + public static void main(String[] args) { + int x =3; + int y =4; + int z =1; + int max = x > y ? x : y; + max = max > z ? max : z; + System.out.println(x + ","+ y + ","+ z + ",中的最大值是:" + max); + } +} + +``` + + + +## 6、案例:判断今年是否是闰年 + +闰年的判断标准是: + +​ 1)可以被4整除,但不可被100整除 + +​ 2)可以被400整除 + +![1557902649882](02_Java基础语法扩展作业图片/9.png) + +1. 定义一个int类型变量year,赋值为今年年份值 +2. 定一个一个boolean类型变量,用来保存这个年份是否是闰年的结果 +3. 输出结果 + +```java +package com.mzy.java; + +public class Lx06 { + public static void main(String[] args) { + int year=2018; + boolean y=year%4==0 && year%100!=0 || year%400==0; + if (y==true){ + System.out.println(year+"是闰年"); + }else { + System.out.println(year+"不是闰年"); + } + } +} +``` + + + +## 7、华氏度转摄氏度 + +案例:小明要到美国旅游,可是那里的温度是以华氏度为单位记录的。它需要一个程序将华氏温度(80度)转换为摄氏度,并以华氏度和摄氏度为单位分别显示该温度。 + +![1557903785834](02_Java基础语法扩展作业图片/1557903785834.png) + +![1557903814057](02_Java基础语法扩展作业图片/1557903814057.png) + +1. 定义一个double类型变量hua,存储华氏温度80 +2. 定义一个double类型变量she,存储摄氏温度,根据公式求值 +3. 输出结果 + +```java +package com.mzy.java; + +public class Lx07 { + public static void main(String[] args) { + double hua =80; + double she = ( hua - 32) / 1.8; + System.out.println("华氏度" + hua + "°F转为摄氏度是" + she + "°C"); + } +} + +``` + + + +# 拔高题 + +## 第一题 + +```java +如下代码的计算结果是: +int i = 1; +i *= 0.2; +i++; +System.out.println("i=" + i); //1 +``` + +## 第二题 + +```java +如下代码的运算结果是: +int i = 2; +i *= i++; + +int j = 2; +j *= j+1; + +int k = 2; +k *= ++k; + +System.out.println("i=" + i); //4 +System.out.println("j=" + j); //6 +System.out.println("k=" + k); //6 +``` + +## 第三题 + +```java +如下代码的运算结果是: +int a = 3; +int b = 1; +if(a == b){ + System.out.println("Equal"); +}else{ + System.out.println("Not Equal"); +} //Not Equal +``` + +## 第四题 + +```java +如下代码的运算结果是: +int a = 8, b = 3; +System.out.println(a>>>b); //1 +System.out.println(a>>>b | 2); //3 +``` + +## 第五题 + +如何用最有效的的方法计算2乘以8 + +```java +package com.mzy.java; + +public class Bg05 { + public static void main(String[] args) { + int a =2 ,b =8; + System.out.println(a * b); + } +} //16 +``` + diff --git "a/08 \351\251\254\345\255\220\350\266\212/20230401 \351\242\230\347\233\2561\357\274\210\347\273\274\345\220\210\357\274\211.md" "b/08 \351\251\254\345\255\220\350\266\212/20230401 \351\242\230\347\233\2561\357\274\210\347\273\274\345\220\210\357\274\211.md" new file mode 100644 index 0000000..adac7d9 --- /dev/null +++ "b/08 \351\251\254\345\255\220\350\266\212/20230401 \351\242\230\347\233\2561\357\274\210\347\273\274\345\220\210\357\274\211.md" @@ -0,0 +1,180 @@ +switch判断语句 + +## 题目1 + +模拟计算器功能,对键盘录入的两个int类型的数据进行加、减、乘、除的运算,并打印运算结果。 + +要求: + +​ 键盘录入三个整数,其中前两个整数代表参加运算的数据,第三个整数为要进行的运算(1:表示加法运算,2:表示减法运算,3:表示乘法运算,4:表示除法运算),演示效果如下: + +​ 请输入第一个整数: 30 + +​ 请输入第二个整数: 40 + +​ 请输入您要进行的运算(1:表示加法,2:表示减法,3:表示乘法,4:表示除法): 1 + +​ 控制台输出:30+40=70 + +### 训练提示 + +1. 用户录入了数据之后,用什么知识点去判断加减乘除四种不同的操作? + +### 解题方案 + +1. 使用switch判断语句完成。 + +### 操作步骤 + +1. 使用键盘录入三个变量。 +2. 使用switch判断语句对第三个变量进行判断,匹配要执行的操作。 +3. 在每一个case中分别对第一个变量和第二个变量进行不同的操作。 + +```java +package com.mzy.java; + +import java.util.Scanner; + +public class Lx01 { + public static void main(String[] args) { + Scanner a= new Scanner(System.in); + System.out.print("请输入第一个整数: "); + int a1 =a.nextInt(); + System.out.print("请输入第二个整数: "); + int a2 =a.nextInt(); + System.out.print("您要进行的运算(1:表示加法,2:表示减法,3:表示乘法,4:表示除法): "); + int ys =a.nextInt(); + switch (ys){ + case 1: + System.out.println(a1 + "+" + a2 + "=" + (a1+a2)); + break; + case 2: + System.out.println(a1 + "-" + a2 + "=" + (a1-a2)); + break; + case 3: + System.out.println(a1 + "*" + a2 + "=" + (a1*a2)); + break; + case 4: + System.out.println(a1 + "/" + a2 + "=" + (a1/a2)); + + } + } +} +``` + +if判断语句 + +## 题目2(训练) + +李雷想买一个价值7988元的新手机,她的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新的优惠,把她的旧手机交给店家,新手机就能够打8折优惠。为了更省钱,李雷要不要以旧换新?请在控制台输出。 + +### 训练提示 + +1. 用什么知识点能够对不同购买方式的价格做判断? + +### 解题方案 + +1. 使用if...else语句判断 + +### 操作步骤 + +1. 计算不使用以旧换新时的花费。 +2. 计算使用以旧换新时的花费。 +3. 使用if..else语句判断哪种方式更省钱,并输出结果 + +```java +package com.mzy.java; + +public class Lx02 { + public static void main(String[] args) { + int xsj =7988; + int jsj =1500; + int jg1 = xsj - jsj ; //6488 + double jg2 =xsj * 0.8; //6390.4 + if (jg11949 ; i-=12){ + System.out.println(i + "是猪年"); + } + } +} + +``` + + + +## 题目4(训练) + +有一个输出语句System.out.print("@")。使用这个语句,在控制台打印出一个五行的三角形,效果如下: +​ @ +​ @@ +​ @@@ +​ @@@@ +​ @@@@@ + +### 训练提示 + +1. 已知条件中只有一个@,如何产生多行的符号? +2. 每行的打印个数不同,循环的次数如何控制? + +### 解题方案 + +1. 使用for循环的嵌套完成。 + +### 操作步骤 + +1. 定义循环执行5次代表一共5行 +2. 定义内层循环执行i次代表每行打印的个数是i +3. 在内层循环中输出符号 +4. 每行结束之后执行换行操作 + +```java +package com.mzy.java; + +public class Lx04 { + public static void main(String[] args) { + for (int i = 0; i < 5; i++) { + for (int j = 0; j <= i; j++) { + System.out.print("@"); + } + System.out.println(); + } + } +} + +``` + -- Gitee