From 9f0a5dd2641d3696b1cb82139925001df83eaf69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B0=E8=83=9C=E6=9D=83?= <2731084872@qq.co> Date: Thu, 29 Dec 2022 13:07:42 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=20=E5=85=AB=20=E4=B9=9D=20=E5=8D=81?= =?UTF-8?q?=20=E5=8D=81=E4=B8=80=20=E5=8D=81=E4=BA=8C=E6=AC=A1=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...0\346\215\256\347\261\273\345\236\213 .md" | 59 + ...25\347\224\250\347\261\273\345\236\213.md" | 93 ++ ... java main\346\226\271\346\263\225.md" | 1052 +++++++++++++++++ ...26\345\206\231\345\207\275\346\225\260.md" | 158 +++ ...41\347\220\206\347\263\273\347\273\237.md" | 114 ++ 5 files changed, 1476 insertions(+) create mode 100644 "45 \347\224\260\350\203\234\346\235\203/20221229 java\345\237\272\346\234\254\346\225\260\346\215\256\347\261\273\345\236\213 .md" create mode 100644 "45 \347\224\260\350\203\234\346\235\203/20221229 java\345\274\225\347\224\250\347\261\273\345\236\213.md" create mode 100644 "45 \347\224\260\350\203\234\346\235\203/20221229 java main\346\226\271\346\263\225.md" create mode 100644 "45 \347\224\260\350\203\234\346\235\203/20221229 java\347\274\226\345\206\231\345\207\275\346\225\260.md" create mode 100644 "45 \347\224\260\350\203\234\346\235\203/20221229 java\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" diff --git "a/45 \347\224\260\350\203\234\346\235\203/20221229 java\345\237\272\346\234\254\346\225\260\346\215\256\347\261\273\345\236\213 .md" "b/45 \347\224\260\350\203\234\346\235\203/20221229 java\345\237\272\346\234\254\346\225\260\346\215\256\347\261\273\345\236\213 .md" new file mode 100644 index 0000000..1d9faac --- /dev/null +++ "b/45 \347\224\260\350\203\234\346\235\203/20221229 java\345\237\272\346\234\254\346\225\260\346\215\256\347\261\273\345\236\213 .md" @@ -0,0 +1,59 @@ +## 作业 + +````java +##### 基本数据类型 + +```java + +整数(byte,short,int(默认),long) +浮点数(float(单精度),double(双精度) ) +字符(char) +``` + +#### 非数值型 + +```java +布尔(boolean): +true(真) +false (假) +``` + +#### 引用数据类型 + +```java +类 (class) +接(interface) +数组([])引用数据类型 +``` + +### 作业 + +#### 倒序乘法表 + +```java +public class D1 { + public static void main(String[] args) { + for(int i=9;i>=1;i--){ + for(int j=i;j>=1;j--){ + System.out.print(j + "x" + i + "=" + i*j + "\t"); + } + System.out.println(); + } +} +} +``` + +#### 购气 + +```java +public class D3 { + public static void main(String[] args) { + for (int x=1;x<=100;x++){ + if (x*4.05 + (100-x)*5.06 == 455.4){ + System.out.println("第二档燃气购买了"+x+"方,第三档燃气购买了"+(100-x)+"方"); + } + } + } +} +```` + diff --git "a/45 \347\224\260\350\203\234\346\235\203/20221229 java\345\274\225\347\224\250\347\261\273\345\236\213.md" "b/45 \347\224\260\350\203\234\346\235\203/20221229 java\345\274\225\347\224\250\347\261\273\345\236\213.md" new file mode 100644 index 0000000..ed4428c --- /dev/null +++ "b/45 \347\224\260\350\203\234\346\235\203/20221229 java\345\274\225\347\224\250\347\261\273\345\236\213.md" @@ -0,0 +1,93 @@ +# 作业 + +````java +### java引用类型 + +### 笔记 + +\n 在字符串中,表示换行,注意别写成"/" + +\t 是制表占位符,相当于表样里的单元格对齐 + +字符串,一旦定义,就不能改变; + +但对同一个字符变量该值,其实是重新开启一个同名的变量 + +Java中的数据类型 Java是一个强类型语言,Java中的数据必须明确数据类型。 在Java中的数据类型包括基本数据类型和引用数据类型两种。 Java中的基本数据类型:。 + + 类型 + +byte 1 + +short 2 + + int(默认) 4 -2的31次方到2的31次方-1 + + long 8 -2的63次方到2的63次方-1 + +浮点 类型 + + float 4 + +负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45 到3.402823E+38 + +double(默 认) 8 负数:-1.797693E+308到-4.9000000E-324 正数: 4.9000000E-324 到1.797693E+308 字符 类型 char 2 0-65535 + + 布尔 类型 boolean 1 true,false + + 在java中整数默认是int类型,浮点数默认是double类型 + +### 作业1 + +### 题目 + +###### 倒序的乘法口诀表 + +```java +public class N2 { + public static void main(String[] args) { + for (int p =9;p>=1;p--){ + for (int m =1;m<=p;m++){ + System.out.print(p+"x"+m+"="+p*m+"\t"); + } + System.out.println(); + } + } +``` + +### 作业2 + +题目 + +用户名利 提示 +账户地址 您本次缴费其中: +账户余副 一档阶梯(0-240:3.375元/方) 充值 +二档阶梯(241-360:4.05元(方) +三档阶梯(361-99999999:5.06元/方)如遇燃气销售价格调整时,按物价局气价调整批文执行燃气价格,分别结算调价前后的燃气费, + +```java +import java.util.Scanner; + +public class N3 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入你这个月花了多少燃气费"); + int w = sc.nextInt(); + for (int n =1;n<=999999999;n++){ + if (w<=810){ + System.out.println("你应该用了"+w/3.375+"立方"); + break; + } else if (w>810||w<=1458) { + System.out.println("你应该用了"+(810/3.375+(w-810)/4.05)+"立方"); + break; + }else if (w>1458) { + System.out.println("你应该用了"+(810/3.375+(1458-810)/4.05+(w-1458)/5.06)+"立方"); + break; + } + + + + } + } +```` + diff --git "a/45 \347\224\260\350\203\234\346\235\203/20221229 java main\346\226\271\346\263\225.md" "b/45 \347\224\260\350\203\234\346\235\203/20221229 java main\346\226\271\346\263\225.md" new file mode 100644 index 0000000..374e180 --- /dev/null +++ "b/45 \347\224\260\350\203\234\346\235\203/20221229 java main\346\226\271\346\263\225.md" @@ -0,0 +1,1052 @@ +# 作业 + +````java + + +### Java基础 + +main方法是java程序的入口 + +sout快捷键——System out println + +//注释内容 Ctr+/ 再按一次取消 + +### 数据类型 + +数值型 整数:byte short int long + +​ 浮点数:float double + +​ 字符:char + +### 变量 + +根据变量名进行使用,可以输出,也可以修改值 + +##### 注意 + +1.变量名不能重复 + +2.变量未赋值不能使用 + +3.定义long类型变量,数据后加l + +4.定义folat类型变量,数据后加f + +### 标识符 + +不能数字开头,不能是关键字,区分大小写 + +```java +public class mm { + public static void main(String[] args) { + System.out.println("我爱2班,我爱张老师"); + } +} +``` + +```java +public class mm1 { + public static void main(String[] args) { + String name="张老师"; + int age=18; + char gender='男'; + System.out.println("名字:"+name); + System.out.println("年龄:"+age); + System.out.println("性别:"+gender); + System.out.println("”张老师,你是花儿,你是光。你是闽大顶呱呱.永远2班,年年十八等.”"); + } +} +``` + +208 01 陈梦梦/01 陈梦梦/20221128Java的运算符和接收器.md 0 → 100644 +### 笔记 + +#### 类型转换 + +##### 自动类型转换 + +类型从小到达 + +byte——short + +​ }int——long——float——double + +​ char + +##### 强制类型转换 + +目标数据类型 变量名=(目标数据类型)值或变量 + +强制转换后部分数据会丢失 + +byte short char 类型的数据参与运算后自动会变成int + + + +#### 运算符 + +##### 运算符的运用 + +1. + + +2. - + +3. * + +4. / 只会取商 + +5. % 取余数 + + 例子 + + ``` java + int a =10; + int b =3 + System.out.println(a/b); + 运算结果为3 + ``` + + + + + +##### 字符+ + +当+操作中,如果出现了字符串,则这个+ 是连接符,而不是算术运算。 + +运算法则是从左到右 + +##### 数值拆分 + +键盘录入一个三位数,将其拆分为个位,十位,百位,打印在控制台 + +~~~ java +import java.util.Scanner; +public class Test { + public static void main(String[] args) { + // 1:使用Scanner键盘录入一个三位数 + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个三位数"); + int num = sc.nextInt(); + // 2:个位的计算:数值 % 10 + int ge = num % 10; + // 3:十位的计算:数值 / 10 % 10 + int shi = num / 10 % 10; + // 4:百位的计算:数值 / 100 + int bai = num / 100; + // 5:将个位, 十位, 百位拼接上正确的字符串, 打印即可 + System.out.println("整数"+num+"个位为:" + ge); + System.out.println("整数"+num+"十位为:" + shi); + System.out.println("整数"+num+"百位为:" + bai); + + } +} +~~~ + + + +#### 键盘录入 + +1. 创建一个扫描器 +2. 打印一个提升 +3. 根据输入的内容的类型,创建对应的变量来接受用户的输入 +4. 处理或使用变量 + +#### char字符 + +'a'=97 + +'b'= 98 + +'c'=99 + +'A'=65 + +'0'=48 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +```java +import java.util.Scanner; + +public class bbb { + public static void main(String[] args) { + + Scanner sc = new Scanner(System.in); + System.out.println( "输入四位数字"); + int a=sc.nextInt(); + System.out.println("这位数字的个位数是:"+a%10); + System.out.println("这个数字的十位数是:"+a/10%10); + System.out.println("这个数字的百位数是:"+a/100%10); + System.out.println("这个数字的千位数是:"+a/1000%10); + + } + +} +``` + +```java +import java.util.Scanner; + +public class ccc { + public static void main(String[] args) { + Scanner sc=new Scanner(System.in); + System.out.println("华氏度转摄氏度"); + System.out.println("输入摄氏度"); + int a=sc.nextInt(); + System.out.println("华氏度:"+((a-32)*5/9)); + System.out.println("输入华氏度"); + int b=sc.nextInt(); + System.out.println("摄氏度:"+(b*9/5+32)); + } +} +``` +\ No newline at end of file + +86 01 陈梦梦/01 陈梦梦/20221204 for循环.md 0 → 100644 +### 笔记 + +#### 循环 + +##### 1.for 循环 + +```java +for(int i=1;i<=100;i++){ + System. out. println("我爱你"+i+"次") +} + +//效果 +//我爱你1次 +//我爱你2次 +``` + + + +for循环格式 + +```java +for(初始化语句;条件判断语句;条件控制语句){ + 循环体语句 +} +``` + +一旦看到有求和,求总数,求最大,最小就马上想到在循环外面定义一个新变量用来接收这个要求的数 + +### 作业 + +让用户输入一个数字,根据这个数字,循环输出"我爱学习,我爱java",比如,用户输入数字 9 就在控制台输出9行"我爱学习,我爱java" + +```java +import java.util.Scanner; + +public class eeeee { + public static void main(String[] args) { + Scanner sc=new Scanner(System.in); + System.out.println("请输入一个数字"); + int a=sc.nextInt(); + for (int i=1;i<=a;i++){ + System.out.println("我爱学习,我爱Java"); + } + } +} +``` + + + +用户分别输入数 a,数b,让程序实现从a 开始循环到b.输出"有生之年,能看到中国队出线吗?" + +```java +import java.util.Scanner; + +public class oh { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入两个数字"); + int a = sc.nextInt(); + int b = sc.nextInt(); + if (a>b){ + System.out.println("输入错误,请输入第一个小于第二个的数"); + } + for (int i = a; i <= b; i++) { + System.out.println("有生之年,能看到中国队出线吗"); + } + + } + } +``` + +99乘法表 + +```java +public class ooo { + public static void main(String[] args) { + for (int i = 1; i <=9 ; i++) { + for (int j = 1; j <=i;j++){ + System.out.print(i+"*"+j+"="+i*j+"\t"); + } + System.out.println(); + } + } +} +``` + +142 01 陈梦梦/01 陈梦梦/20221206 while循环.md 0 → 100644 +#### 循环语句-while循环 + +##### while循环完整格式: + +```java +初始化语句; +while (条件判断语句) { +循环体语句; +条件控制语句; +} + +``` + +#### while循环执行流程: + + ①执行初始化语句 + + ②执行条件判断语句,看其结果是true还是false + + 如果是false,循环结束 + + 如果是true,继续执行 + + ③执行循环体语句 + + ④执行条件控制语句 + + ⑤回到②继续 + +### 循环语句-dowhile循环 + +#### 完整格式 + +```java +初始化语句; +do { +循环体语句; +条件控制语句; +}while(条件判断语句); +``` + +#### 执行流程: + + ① 执行初始化语句 + + ② 执行循环体语句 + + ③ 执行条件控制语句 + + ④ 执行条件判断语句,看其结果是true还是false + +如果是false,循环结束 如果是true,继续执行 + + ⑤ 回到②继续 + +### 三种循环的区别 + +##### 三种循环的区别 + + 1.for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行) + +2. do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后 判断) + + ##### for循环和while的区别 + + 1. 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能 再次被访问到了 + + 2. 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束 后,该变量还可以继续使用 + + ##### 死循环(无限循环)的三种格式 + + 1. for(;;){} + 2. while(true){} + 3. do {} while(true); + +### 作业 + +求555555的约数中最大的三位数 + +```java +public class pp { + public static void main(String[] args) { +// 求555555的约数中最大的三位数 + + + int i=555555; + int j; + for(j=999;j>=100;j--) + if(i%j==0) + { + System.out.println("最大的三位数是:"+j); + break; + } + } + } + +``` + +猜数字游戏,由系统随机生成一个随机数(数字(0~99)之间,生成方法为int num=new Random().nextInt(100))。用户去猜测,如果太大,系统提示“你猜的数字太大了!再猜哦”,如果太小,系统提示“你猜的数字太小了!再猜哦”,猜中则提示“恭喜你,猜对了!" + +猜字过程中需要统计用户猜测次数,如果用户一次性猜对,提示”你太厉害了,一次猜对!“,6次以上才猜中的话,提示”笨笨,你猜这么多次!“ + +```java +import java.util.Scanner; + +public class op { + public static void main(String[] args) { +// 猜数字游戏,由系统随机生成一个随机数(数字(0~99)之间, +// 生成方法为int num=new Random().nextInt(100))。 +// 用户去猜测,如果太大,系统提示“你猜的数字太大了!再猜哦”, +// 如果太小,系统提示“你猜的数字太小了!再猜哦”, +// 猜中则提示“恭喜你,猜对了!" +// 猜字过程中需要统计用户猜测次数, +// 如果用户一次性猜对,提示”你太厉害了,一次猜对!“, +// 6次以上才猜中的话,提示”笨笨,你猜这么多次!“ + int x,a,i=0; + Scanner scanner=new Scanner(System.in); + x=(int)(Math.random()*100); + System.out.println("请输入你要猜的值"); + do { + a=scanner.nextInt(); + i=i+1; + if(i==1 && x==a){ + System.out.println("你真腻害!好棒棒!扭扭扭!"); + break; + }else if(i>=6 && x==a){ + System.out.println("你笨笨跟职业选手一样"); + break; + }else if(a==x){ + System.out.println("恭喜你猜对了"); + break; + }else if(a max){ + max = arr[i]; + } + } + // 4. 循环结束后, 打印最大值. + System.out.println("max:" + max); + } +} +``` + +## 数组基本查找【应用】 + +需求: + + 已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据,查找该数据在数组中的索引,并在控 + + 制台输出找到的索引值。 + +思路: + + 1.定义一个数组,用静态初始化完成数组元素的初始化 + + 2.键盘录入要查找的数据,用一个变量接收 + + 3.定义一个索引变量,初始值为-1 + + 4.遍历数组,获取到数组中的每一个元素 + + 5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给 + +索引变量,并结束循环 + + 6.输出索引变量 + +``` java + // 1.定义一个数组,用静态初始化完成数组元素的初始化 + int[] arr = {19, 28, 37, 46, 50}; + // 2.键盘录入要查找的数据,用一个变量接收 + Scanner sc = new Scanner(System.in); + System.out.println("请输入您要查找的元素:"); + int num = sc.nextInt(); + // 3.定义一个索引变量,初始值为-1。假设要查找的数据, 在数组中就是不存在的 + int index = -1; + // 4.遍历数组,获取到数组中的每一个元素 + for (int i = 0; i < arr.length; i++) { + // 5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值 +//对应的索引赋值给索引变量,并结束循环 + if(num == arr[i]){ + // 如果值相同,就把该值对应的索引赋值给索引变量,并结束循环 + index = i; + break; + } + } + // 6.输出索引变量 + System.out.println(index); + } +} +``` + +## 作业 + +需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。 + + 选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。 + + 1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6 + + 2.键盘录入评委分数 + + 3.由于是6个评委打分,所以,接收评委分数的操作,用循环 + + 4.求出数组最大值 + + 5.求出数组最小值 + + 6.求出数组总和 + + 7.按照计算规则进行计算得到平均分 + + 8.输出平均分 + +``` java +import java.util.Scanner; + +//在编程竞赛中,有6个评委为参赛的选手打分,分数0-100的整数分。选手的最后得分为: + // 去掉一个最高分和一个最低分后的4个评委平均值(不考虑小数部分)。 +public class D3 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + double[] arr=new double[6]; + for (int i= 0;i b ? a : b; + int max = d > c ? d : c; + System.out.println("max:" + max); + } +} +``` + +```java +import java.util.Scanner; + +public class D4 { + public static void main(String[] args) { +// 若任意两数和是3的倍数或其中一个为3,则输出true, +// 否者输出false 【断路或】 + Scanner sc=new Scanner(System.in); + System.out.println("请输入第一个数字"); + int a=sc.nextInt(); + System.out.println("请输入第二个数字"); + int b=sc.nextInt(); + System.out.println("结果="+(a+b)); + System.out.println((a+b)%3==0||a%3==0||b%3==0); + } +} +``` + +```java +public class D5 { + public static void main(String[] args) { + // 身高是具有遗传性的,子女的身高和父母的身高有一定的关系。 + // 假定,父母和子女的身高遗传关系如下: +// 儿子身高(厘米)=(父亲身高+母亲身高) ×1.08÷2 +// 女儿身高(厘米)=(父亲身高×0.923+母亲身高) ÷2 +// 现有父亲身高177CM,母亲身高165CM。求子女身高分别预计为多少? +// 【使用变量的定义和算术运算符完成本题】 + int a=177; + int b=165; + System.out.println("儿子身高:"+(a+b)*1.08/2+"cm"); + System.out.println("女儿身高:"+(a*0.923+b)/2+"cm"); + } + +} +``` + +```java +public class D6 { + public static void main(String[] args) { +// 红茶妹妹有21元钱,她攒了几天钱之后自己的钱比原来的两倍还多三块。 +// 绿茶妹妹有24元钱,她攒了几天钱之后自己的钱正好是原来的两倍。 +// 那么红茶和绿茶现在的钱一样多,请问对么? +// 【使用赋值运算符和算术运算符计算各自的钱,使用比较运算符对比大小】 + int a=21; + int b=24; + if(a*2+3==b*2){ + System.out.println("对"); + }else{ + System.out.println("错"); + } + } +} +``` + +```java +public class D7 { + public static void main(String[] args) { +// 小明想在食堂打包一份午饭,商家的优惠方式如下: +// 鱼香肉丝单点24元,油炸花生米单点8元,米饭单点3元。 +// 订单满30元8折优惠。鱼香肉丝优惠价16元,但是优惠价和折扣不能同时使用。 +// 那么这个小伙要点这三样东西,最少要花多少钱? +// 【使用算术运算符、赋值运算符和三元运算符联合完成本题】 + double d,e,f; + d=(24+8+3)*0.8; + e=16+8+3; + f=d>e?e:d; + System.out.println("最后要花"+f+"元"); + } +} +``` + +```java +import java.util.Scanner; + +public class D8 { + public static void main(String[] args) { + int a,b; + Scanner scanner=new Scanner(System.in); + System.out.println("请输入国足得分"); + a=scanner.nextInt(); + System.out.println("请输入日本得分"); + b=scanner.nextInt(); + System.out.println("中日比分:"+a+":"+b); + if(a-b>=0){ + System.out.println("奖励0.5元"); + }else{ + System.out.println("枪毙"); + } + } +} +``` + +### 笔记 + +### 1. 自增自减运算符 + +​ ++和-- 既可以放在变量的后边,也可以放在变量的前边。 + +​ 单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。 + +​ 参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--。 + +​ 参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作。 + +### 2. 赋值运算符 + +赋值运算符的作用是将一个表达式的值赋给左边,左边必须是可修改的,不能是常量。 + +扩展的赋值运算符隐含了强制类型转换。 + +### 3. 关系运算符 + +关系运算符有6种关系,分别为小于、小于等于、大于、等于、大于等于、不等于。 + +注意事项: + +​ 关系运算符的结果都是boolean类型,要么是true,要么是false。 + +​ 千万不要把“==”误写成“=”,"=="是判断是否相等的关系,"="是赋值。 + +### 4.逻辑运算符 + +逻辑运算符把各个运算的关系表达式连接起来组成一个复杂的逻辑表达式,以判断程序中的表达式是否成立,判断的结果是 true 或 false。 + +### 5. 短路逻辑运算符 + +在逻辑与运算中,只要有一个表达式的值为false,那么结果就可以判定为false了,没有必要将所有表达式的值都计算出来,短路与操作就有这样的效果,可以提高效率。同理在逻辑或运算中,一旦发现值为true,右边的表达式将不再参与运算。 + +- 逻辑与&,无论左边真假,右边都要执行。 + +- 短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。 + +- 逻辑或|,无论左边真假,右边都要执行。 + +- 短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。 + +### 6. 三元运算符 + +三元运算符语法格式: + +~~~java +关系表达式 ? 表达式1 : 表达式2; +~~~ + +解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。 + +146 01 陈梦梦/01 陈梦梦/2022122 java分支结构.md 0 → 100644 +### 1.字符串比较 + +equals的运用 + +字符串不能比大小,判断是否相等要用equals + +比如要判断a是否等于b + +a. equals(b) + +### 2.char字符 + +有关扫描器中,字符的输入char a=sc.next().charAt(0); + +从字符串中,截取第一个字符,因为计算机常第一位是计0 + +### 3.if嵌套 + +嵌套if语句可以在条件内,针对真或假的情况,再指定条件进行判断,从而拥有更多分支的功能。 + +### 4.switch + +swith支持字符串的判断,但是不支持布尔型变量(if要有equals才可以) + +switch转换 + +switch(”判断条件“ weekday){ + +​ case 1: + +sout(“1”) + +break; + +​ case 2: + +sout(“2”) + +break; + +....... + +default(默认表示前面几个可能性不能满足就执行这个默认的,兜底的) + +​ sout(“”) + +} + +swihch有穿透所以要break结尾 + +default是保底用的 + +### 作业 + +```java +public class D86 { + public static void main(String[] args) { + // 某事不同车牌的出租车3千米的起步价和计费分别为:夏利3元,3千米以外,2.1元每千米; +// 富康4元,3千米以外,2.4元每千米;桑塔纳5元,3千米以外,2.7元每千米。 +// 编程实现从键盘输入乘车的车型及行车千米数,输出应付车费。 + String name; + int km; + Scanner sc = new Scanner(System.in); + System.out.println("请输入你要选择的车辆名称"); + name = sc.nextLine(); + System.out.println("请输入你要行驶的公里数"); + km = sc.nextInt(); + switch (name) { + case "夏利": + if (km>3) { + System.out.println("车费为"+(3+(km-3)*2.1)+"元"); + } else { + System.out.println("车费为3元"); + } + break; + case "富康": + if (km>3) { + System.out.println("车费为"+(4+(km-3)*2.4)+"元"); + + } else { + System.out.println("车费为4元"); + }break; + case "桑坦纳": + if (km>3) { + System.out.println("车费为"+(5+(km-3)*2.7)+"元"); + } else { + System.out.println("车费为5元"); + }break; + default: + System.out.println("输入错误"); + break; + } + } +} +``` + +```java +import java.util.Scanner; + +public class practice { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.print("请输入年份:"); + int year = sc.nextInt(); + System.out.print("请输入月份:"); + int month = sc.nextInt(); + System.out.print("请输入日:"); + int day = sc.nextInt(); + int count = 0; + int days = 0; + if (year > 0 && month > 0 && month < 13 && day > 0 && day < 32) { + for (int i = 1; i < month; i++) { + switch (i) { + case 1: + case 3: + case 5: + case 7: + case 8: + case 10: + case 12: + days = 31; + break; + case 4: + case 6: + case 9: + case 11: + days = 30; + break; + case 2: { + if ((year % 4 == 0 && year % 1 != 0) || (year % 400 == 0)) { + days = 29; + } else { + days = 28; + } + break; + } + } + count = count + days; + } + count = count + day; + System.out.println(year + "年" + month + "月" + day + "日是" + year + "年的第" + count + "天"); + } else + System.out.println("数据输入错误!"); + } +} +```` + diff --git "a/45 \347\224\260\350\203\234\346\235\203/20221229 java\347\274\226\345\206\231\345\207\275\346\225\260.md" "b/45 \347\224\260\350\203\234\346\235\203/20221229 java\347\274\226\345\206\231\345\207\275\346\225\260.md" new file mode 100644 index 0000000..8445b81 --- /dev/null +++ "b/45 \347\224\260\350\203\234\346\235\203/20221229 java\347\274\226\345\206\231\345\207\275\346\225\260.md" @@ -0,0 +1,158 @@ +## 作业 + +````java + + +Arrays.toString()打印 + +continue;跳过 + +1.编写函数,计算圆的面积和周长,在主函数中接受圆的半径,在自定义函数中计算并输出 + +```java + +import java.util.Scanner; + +public class ON11 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入圆的半径"); + int a = sc.nextInt(); + double b =area(a); + System.out.println("圆的面积是:"+b); + double c = perimeter(a); + System.out.println("圆的周长是:"+c); + + } + public static double area(int a){ + double w =3.14*a; + return w; + } + public static double perimeter(int a){ + double p =3.14*a*a; + return p ; + } +} +``` + +2.在主函数中产生20个0-10之间的随机数,将这20个随机数存入数组,并通过函数计算某个数在这些随机数中出现的次数(这“某个数”是在主函数中由用户输入的) + +```java +import java.util.Random; +import java.util.Scanner; + +public class ON12 { + public static void main(String[] args){ + int[] a = new int[20]; + for (int n = 0; n < 20; n++) { + Random ran = new Random(); + a[n] = ran.nextInt(10); + } + + Scanner sc = new Scanner(System.in); + System.out.println("请输入数字(1-10):"); + int b = sc.nextInt(); + sum(a,b);} + public static void sum(int[] a,int b){ + int count = 0; + for (int i = 0;i arr[k]) { + min = arr[0]; + } + } + int max = arr[0]; + for (int i = 1; i < arr.length; i++) { + if (max < arr[i]) { + max = arr[9]; + } + } + arr[0]=max; + arr[9]=min; + System.out.print("["); + for (int p = 0; p < arr.length; p++) { + System.out.print(arr[p]); + if (p==arr.length-1){ + continue; + } + System.out.print("."); + } + System.out.print("]"); + } +} +``` + +4.用自定义函数是实现求某数组元素的和(大小不固定) + +```java +import java.util.Scanner; + +public class ON14 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入数组的长度(一定要是整数):"); + int[] arr = new int[sc.nextInt()]; + for (int k =0; k