diff --git "a/21 \345\210\230\345\260\221\346\265\267/12 7 Java\347\254\224\350\256\260.md" "b/21 \345\210\230\345\260\221\346\265\267/12 7 Java\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..a5da98416c27a78c8efd94952d35e1f17afd86f8 --- /dev/null +++ "b/21 \345\210\230\345\260\221\346\265\267/12 7 Java\347\254\224\350\256\260.md" @@ -0,0 +1,49 @@ +**3. while****循环** + +**3.1** **循环语句****-while****循环** + +while循环完整格式: + +``` +初始化语句; +while (条件判断语句) { +循环体语句; +条件控制语句; +} +``` + +while循环执行流程: + +①执行初始化语句 + +②执行条件判断语句,看其结果是true还是false + + 如果是false,循环结束 + + 如果是true,继续执行 + +③执行循环体语句 + +④执行条件控制语句 + +⑤回到②继续 + +``` +public class WhileDemo { +public static void main(String[] args) { +//需求:在控制台输出5次"HelloWorld" +//for循环实现 +for(int i=1; i<=5; i++) { +System.out.println("HelloWorld"); +} +System.out.println("--------"); +//while循环实现 +int j = 1; +while(j<=5) { +System.out.println("HelloWorld"); +j++; + } + } +} +``` + diff --git "a/21 \345\210\230\345\260\221\346\265\267/12 8 Java\347\254\224\350\256\260.md" "b/21 \345\210\230\345\260\221\346\265\267/12 8 Java\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..1f082cc53ea9b519a9b70883084a39506d488e1c --- /dev/null +++ "b/21 \345\210\230\345\260\221\346\265\267/12 8 Java\347\254\224\350\256\260.md" @@ -0,0 +1,568 @@ +# 随机函数 + +``` +import java.util.Random; +import java.util.Scanner; + +public class suiji { + public static void main(String[] args) { + Random r = new Random(); + int num =r.nextInt(10)+1; + Scanner sc =new Scanner(System.in); + int count=0; + while (true){ + System.out.println("请输入数字"); + int Num= sc.nextInt(); + count++; + if (count==3){ + System.out.println("是否继续"); + char a = sc.next().charAt(0); + switch (a){ + case 'Y': + case 'y': + count=0; + break; + case'N': + case'n': + continue; + default: + System.out.println("输入错误"); + break; + } + + + + + } + if (Num>num){ + System.out.println("大了"); + }else if (Num max){ + max = arr[i]; + } + } + // 4. 循环结束后, 打印最大值. + System.out.println("max:" + max); + } + } + ``` + +### 1.13 数组元素求和 + +- 需求:键盘录入5个整数,存储到数组中,并对数组求和 + +- 思路: 1.创建键盘录入对象,准备键盘录入 2.定义一个求和变量,准备记录累加后的结果 3.动态初始化一个长度为5的int数组,准备存储键盘录入的数值 4.将键盘录入的数值存储到数组中 5.遍历数组,取出每一个元素,并求和 6.输出总和 + +- 代码实现: + + ``` + package com.itheima.test; + + import java.util.Scanner; + + public class Test3Array { + /* + 需求:键盘录入5个整数,存储到数组中,并对数组求和 + + 思路: + 1.创建键盘录入对象,准备键盘录入 + 2.定义一个求和变量,准备记录累加后的结果 + 3.动态初始化一个长度为5的int数组,准备存储键盘录入的数值 + 4.将键盘录入的数值存储到数组中 + 5.遍历数组,取出每一个元素,并求和 + 6.输出总和 + */ + public static void main(String[] args) { + // 1.创建键盘录入对象,准备键盘录入 + Scanner sc = new Scanner(System.in); + // 2.定义一个求和变量,准备记录累加后的结果 + int sum = 0; + // 3.动态初始化一个长度为5的int数组,准备存储键盘录入的数值 + int[] arr = new int[5]; + // 4.将键盘录入的数值存储到数组中 + for(int i = 0; i < arr.length; i++){ + System.out.println("请输入第" + (i+1) + "个整数:"); + //arr[i] = 10; + arr[i] = sc.nextInt(); + } + + // 5.遍历数组,取出每一个元素,并求和 + for (int i = 0; i < arr.length; i++) { + sum += arr[i]; + } + + // 6.输出总和 + System.out.println("sum:" + sum); + + } + } + ``` + +### 1.14 数组基本查找【应用】 + +- 需求: 已知一个数组 arr = {19, 28, 37, 46, 50}; 键盘录入一个数据,查找该数据在数组中的索引,并在控 制台输出找到的索引值。 + +- 思路: 1.定义一个数组,用静态初始化完成数组元素的初始化 2.键盘录入要查找的数据,用一个变量接收 3.定义一个索引变量,初始值为-1 4.遍历数组,获取到数组中的每一个元素 5.拿键盘录入的数据和数组中的每一个元素进行比较,如果值相同,就把该值对应的索引赋值给索引变量,并结束循环 6.输出索引变量 + +- 代码实现: + + ``` + public static void main(String[] args) { + // 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); + } + } + ``` + +### 1.15 评委打分【应用】 + +- 需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。 选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。 + +- 思路: 1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6 2.键盘录入评委分数 3.由于是6个评委打分,所以,接收评委分数的操作,用循环 4.求出数组最大值 5.求出数组最小值 6.求出数组总和 7.按照计算规则进行计算得到平均分 8.输出平均分 + +- 代码实现: + + ``` + public static void main(String[] args) { + // 1.定义一个数组,用动态初始化完成数组元素的初始化,长度为6 + int[] arr = new int[6]; + // 2.键盘录入评委分数 + Scanner sc = new Scanner(System.in); + // 3.由于是6个评委打分,所以,接收评委分数的操作,用循环 + for (int i = 0; i < arr.length; i++) { + System.out.println("请输入第" + (i+1) + "个评委的打分:"); + int score = sc.nextInt(); + if(score >= 0 && score <= 100){ + // 合法的分值 + arr[i] = score; + }else{ + // 非法的分值 + System.out.println("您的打分输入有误, 请检查是否是0-100之间的"); + i--; + } + } + + // 4.求出数组最大值 + int max = arr[0]; + for (int i = 1; i < arr.length; i++) { + if(max < arr[i]){ + max = arr[i]; + } + } + + // 5.求出数组最小值 + int min = arr[0]; + for (int i = 1; i < arr.length; i++) { + if(min > arr[i]){ + min = arr[i]; + } + } + + // 6.求出数组总和 + int sum = 0; + for (int i = 0; i < arr.length; i++) { + sum += arr[i]; + } + + // 7.按照计算规则进行计算得到平均分 + int avg = (sum - max - min ) / 4; + + // 8.输出平均分 + System.out.println(avg); + } + } + ``` \ No newline at end of file diff --git "a/21 \345\210\230\345\260\221\346\265\267/12 9 Java.md" "b/21 \345\210\230\345\260\221\346\265\267/12 9 Java.md" new file mode 100644 index 0000000000000000000000000000000000000000..ec5832bfd4d760627bf7802d0eaff5c8bb3a59d8 --- /dev/null +++ "b/21 \345\210\230\345\260\221\346\265\267/12 9 Java.md" @@ -0,0 +1,35 @@ +``` +import java.util.Arrays; +import java.util.Random; + +public class a { + public static void main(String[] args) { + //闽大举行选美比赛,男生参赛,10个女生当评委,定义一个数组, + // 存放评分,用随机数模拟打分的过程,用程序算出选手的最后得分 + // 【去掉一个最高分,再去掉一个最低分,用剩下的分数求平均值】, + int[] arr = new int[10]; + int sum = 0; + Random r = new Random(); + for (int i = 0; i < arr.length; i++) { + arr[i] = r.nextInt(100) + 1; + sum += arr[i]; + } + System.out.println(Arrays.toString(arr)); + int max = arr[0]; + int min = arr[0]; + for (int i = 1; i < arr.length; i++) { + if (max < arr[i]) { + max = arr[i]; + } + if (min > arr[i]) { + min = arr[i]; + } + } + System.out.println("总分:"+ sum); + System.out.println("最大值:"+ max); + System.out.println("最小值:"+ min); + double a = (sum-max-min)*1.0/(arr.length-2); + System.out.println("平均值为:"+ a); + } +} +``` \ No newline at end of file diff --git "a/21 \345\210\230\345\260\221\346\265\267/java 12 5.md" "b/21 \345\210\230\345\260\221\346\265\267/java 12 5.md" new file mode 100644 index 0000000000000000000000000000000000000000..aecba7ddc81347b6fbc1be6a10019988d0cc4c77 --- /dev/null +++ "b/21 \345\210\230\345\260\221\346\265\267/java 12 5.md" @@ -0,0 +1,130 @@ +``` +import java.util.Scanner; + +public class czc { +/* private static final char 夏利 =1; + private static final char 富康 = 2; + private static final char 桑塔纳 = 3;*/ + + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入车型"); + int num= sc.nextInt(); + System.out.println("请输入路程"); + double Num = sc.nextDouble(); + switch (num){ + case 1: + if (Num<=3){ + System.out.println(+Num*3); + } + if (Num>3){ + System.out.println((Num-3)*2.1+9); + } + break; + case 2: + if (Num<=3){ + System.out.println(Num*4); + } + if (Num>3){ + System.out.println((Num-3)*2.4+12); + } + break; + case 3: + if (Num<=3){ + System.out.println(Num*5); + } + if (Num>3){ + System.out.println((Num-3)*2.7+15); + } + break; + default: + System.out.println("输入错误"); + break; + + } + } + } +``` + +``` +import java.util.Scanner; + +public class tian { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + + System.out.println("请输入年份"); + int year = sc.nextInt(); + System.out.println("请输入月份"); + int Num = sc.nextInt(); + System.out.println("请输入日份"); + int num = sc.nextInt(); + switch (year){ + case 2000: + if(year%4==0&&year%400!=0||year%400==0){ + System.out.println(year+"是闰年"); + } + if(Num >= 3){ + System.out.println((Num-1)*30+num+1); + } + System.out.println((Num-1)*30+num); + } + } +} +``` + + + +``` +import java.util.Scanner; +//a o e i u v +public class zimu { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个字符"); + char num = sc.next().charAt(0); + switch (num){ + case 'a': + case 'A': + case 'e': + case 'E': + case 'i': + case 'I': + case 'o': + case 'O': + case 'u': + case 'U': + case 'v': + case 'V': + System.out.println("这是韵母"); + break; + default: + System.out.println("这是声母"); + + + } + if(num>='A'&& num<='Z'){ + System.out.println("大写字母"); + } else { + System.out.println("小写字母"); + } + } +} +``` + +## 3. 流程控制语句 + +在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。所以,我们必须清楚每条语句的执行流程。而且,很多时候要通过控制语句的执行顺序来实现我们想要的功能。 + +### 3.1 流程控制语句分类(了解) + +​ 顺序结构 + +​ 分支结构(if, switch) + +​ 循环结构(for, while, do…while) + +### 3.2 顺序结构(了解) + +顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。 \ No newline at end of file