From 4b0e7833427fbce5e4abaf2b1afd89bb14d32be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E4=BC=9F=E5=B1=B1?= <2609838563@qq.com> Date: Mon, 5 Dec 2022 20:30:14 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...216\257\350\257\255\345\217\245&switch.md" | 305 ++++++++++++++++++ 1 file changed, 305 insertions(+) create mode 100644 "39 \345\247\234\344\274\237\345\261\261/20221203 if\345\276\252\347\216\257\350\257\255\345\217\245&switch.md" diff --git "a/39 \345\247\234\344\274\237\345\261\261/20221203 if\345\276\252\347\216\257\350\257\255\345\217\245&switch.md" "b/39 \345\247\234\344\274\237\345\261\261/20221203 if\345\276\252\347\216\257\350\257\255\345\217\245&switch.md" new file mode 100644 index 0000000..2f97e67 --- /dev/null +++ "b/39 \345\247\234\344\274\237\345\261\261/20221203 if\345\276\252\347\216\257\350\257\255\345\217\245&switch.md" @@ -0,0 +1,305 @@ +f语句格式 +示例: + +~~~java +public class IfDemo { + public static void main(String[] args) { + System.out.println("开始"); + + // 如果年龄大于18岁, 就可以上网吧 + int age = 17; + + if(age >= 18){ + // int a = 10; + System.out.println("可以上网吧"); + } + + System.out.println("结束"); + } +} + + +if语句格式2(理解) + +​~~~java +格式: +if (关系表达式) { + 语句体1; +} else { + 语句体2; +} +~~~ + +示例:奇偶数 + +​ 任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数。 + +~~~java +public class Demo2If { + public static void main(String[] args) { + // 程序判断一个数, 是奇数还是偶数 + int num = 9; + + if(num % 2 == 0){ + System.out.println("偶数"); + }else{ + System.out.println("奇数"); + } + } +} +~~~ + +if语句格式3 + +~~~java +格式: +if (关系表达式1) { + 语句体1; +} else if (关系表达式2) { + 语句体2; +} +… +else { + 语句体n+1; +} +~~~ + +示例: + +​ 定义一个在0~100之间的变量a, 90~100优秀,80~89良好,70~79中等,60~69及格,0~59请努力加油! + +~~~java +public class Demo3If { + public static void main(String[] args){ + int score = 65; + if(score >= 90 && score <= 100){ + System.out.println("优秀"); + }else if (score >= 80 && score <= 89){ + System.out.println("良好"); + }else if (score >= 70 && score <= 79){ + System.out.println("中等"); + }else if (score >= 60 && score <= 69){ + System.out.println("及格"); + }else if (score >= 0 && score <= 59){ + System.out.println("请努力加油"); + }else{ + System.out.println("成绩有误!"); + } + } +} +~~~ + +~~~java +import java.util.Scanner; +public class IfTest02 { + public static void main(String[] args){ + // 1. 使用Scanner录入考试成绩 + Scanner sc = new Scanner(System.in); + System.out.println("请输入您的成绩:"); + int score = sc.nextInt(); + // 2. 判断成绩是否在合法范围内 0~100 + if(score >=0 && score <= 100){ + // 合法成绩 + // 3. 在合法的语句块中判断成绩范围符合哪一个奖励 + if(score >= 95 && score <= 100){ + System.out.println("自行车一辆"); + }else if(score >= 90 && score <= 94){ + System.out.println("游乐场一次"); + }else if(score >= 80 && score <= 89){ + System.out.println("变形金刚一个"); + }else { + System.out.println("挨顿揍, 这座城市又多了一个伤心的人~"); + } + }else{ + // 非法的话, 给出错误提示 + System.out.println("您的成绩输入有误!"); + } + } +} +~~~ + +switch语句 + 分支语句switch语句 + +switch (表达式) { +case 1: +语句体1; +break; +case 2: +语句体2; +break; +... +default: +语句体n+1; +break; +} + +switch案例-减肥计划 +周一:跑步 +周二:游泳 +周三:慢走 +周四:动感单车 +周五:拳击 +周六:爬山 +周日:好好吃一顿 +示例代码: + +```java +public static void main(String[] args){ +// 1. 键盘录入星期数据,使用变量接收 +Scanner sc = new Scanner(System.in); +System.out.println("请输入"); +int week = sc.nextInt(); +// 2. 多情况判断,采用switch语句实现 +switch(week){ +// 3. 在不同的case中,输出对应的减肥计划 +case 1: +System.out.println("跑步"); +break; +case 2: +System.out.println("游泳"); +break; +case 3: +System.out.println("慢走"); +break; +case 4: +System.out.println("动感单车"); +break; +case 5: +System.out.println("拳击"); +break; +case 6: +System.out.println("爬山"); +break; +case 7: +System.out.println("好好吃一顿"); +break; +default: +System.out.println("您的输入有误"); +break; +} +} +} +``` + +作业 + +1. + +```java +import java.util.Scanner; +class D1 { + public static void main(String[] args) { + Scanner sc=new Scanner(System.in); + System.out.println("请输入车型,夏利:1,富康:2,桑塔纳:3"); + int xl1=1; + int fk1=2; + int stn1=3; + int lc=sc.nextInt(); + System.out.println("请输入距离公里单位"); + int jl=sc.nextInt(); + double xl2=(jl-3)*2.1+3; + double fk2=(jl-3)*2.4+4; + double stn2=(jl-3)*2.7+5; + switch (lc){ + case 1: + if(jl<=3){ + System.out.println("车型:夏利, 车费:3元,"); + break; + } else if(jl>3){ + System.out.println("车型:夏利, 车费:"+xl2); + break; + } + } + switch (lc){ + case 2: + if(fk1<=3){ + System.out.println("车型:富康, 车费:4元,"); + break; + } else if(fk1>3){ + System.out.println("车型:富康, 车费:"+fk2); + break; + } + } + switch (lc){ + case 3: + if(stn1<=3){ + System.out.println("车型:富康, 车费:5元,"); + break; + } else if(stn1>3){ + System.out.println("车型:富康, 车费:"+stn2); + break; + } + } + } +} +``` + +2. + +```java +import java.util.Scanner; + +public class D2 { + public static void main(String[] args) { + Scanner sc=new Scanner(System.in); + System.out.println("请输入年,月,日"); + int day=0; + int month=0; + int year=0; + int su=0; + int le; + year = sc.nextInt(); + month= sc.nextInt(); + day= sc.nextInt(); + switch (month){ + case 1: + su=0; + break; + case 2: + su=31; + break; + case 3: + su=59; + break; + case 4: + su=90; + break; + case 5: + su=120; + break; + case 6: + su=151; + break; + case 7: + su=181; + break; + case 8: + su=212; + break; + case 9: + su=243; + break; + case 10: + su=273; + break; + case 11: + su=304; + break; + case 12: + su=334; + break; + } + su=su+day; + if(year%400==0||(year%4==0 && year%100!=0)) + le=1; + else + le=0; + if(le==1 && month>2) + su++; + System.out.println("今天是第:"+su); + } +} + +``` + -- Gitee From c5b67e3d6ec1ac331f314f99851ac2ead729a792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E4=BC=9F=E5=B1=B1?= <2609838563@qq.com> Date: Fri, 9 Dec 2022 10:45:00 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...14\351\232\217\346\234\272\346\225\260.md" | 164 ++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 "39 \345\247\234\344\274\237\345\261\261/20221209 \346\225\260\347\273\204\345\222\214\351\232\217\346\234\272\346\225\260.md" diff --git "a/39 \345\247\234\344\274\237\345\261\261/20221209 \346\225\260\347\273\204\345\222\214\351\232\217\346\234\272\346\225\260.md" "b/39 \345\247\234\344\274\237\345\261\261/20221209 \346\225\260\347\273\204\345\222\214\351\232\217\346\234\272\346\225\260.md" new file mode 100644 index 0000000..349544d --- /dev/null +++ "b/39 \345\247\234\344\274\237\345\261\261/20221209 \346\225\260\347\273\204\345\222\214\351\232\217\346\234\272\346\225\260.md" @@ -0,0 +1,164 @@ +# Random产生随机数 + +##### **概述: Random类似Scanner,也是Java提供好的API,内部提供了产生随机数的功能 API后续课程详细讲解,现在可以简单理解为Java已经写好的代码 使用步骤:** + +##### ** 1. 导入包 import java.util.Random; + +##### 2. 创建对象 Random r = new Random(); 3 + +##### . 产生随机数 int num = r.nextInt(10); 解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0-9,括号写20,参数的随 机数则是0-19 + +##### 示例代码:** + +```java +import java.util.Random; +public class Demo1Random { + /* Random : 产生随机数 + 1. 导包 : import java.util.Random; 导包的动作必须出现在类定义的上面 + 2. 创建对象 : Random r = new Random(); 上面这个格式里面,r 是变量名,可以变,其他的都不允许变 + 3. 获取随机数 : int number = r.nextInt(10); //获取数据的范围:[0,10) 包 括0,不包括10 上面这个格式里面,number是变量名,可以变,数字10可以变。其他的都不 允许变 + 需求: 产生随机数1-10之间的 */ public static void main(String[] args){ // + 2. 创建对象 Random r = new Random(); for(int i = 1; i <= 10; i++){ // + 3. 获取随机数 int num = r.nextInt(10) + 1; // 1-10 System.out.println(num); } } } +``` + +# 数组 + +数组介绍 + +数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。 + +数组的定义格式 + +第一种格式: + +```java +int[] arr; +double[] arr; +char[] arr; +``` + + 第二种格式: + +```java +int arr[]; +double arr[]; +char arr[]; +``` + +数组的动态初始化 + +什么是动态初始化:数组动态初始化就是只给定数组的长度,由系统给出默认初始化值。 + +动态初始化格式; + +```java +数据类型[] 数组名 = new 数据类型[数组长度]; + +int[] arr = new int[3]; +``` + + 动态初始化格式详解 + +- 等号左边: + + - int:数组的数据类型 + + - []:代表这是一个数组 + + - arr:代表数组的名称 + +- 等号右边: + + - new:为数组开辟内存空间 + - int:数组的数据类型 + - []:代表这是一个数组 + - 5:代表数组的长度 + +**代码 :** + +```java +package com.itheima.array; + +public class Demo2Array { + /* + 数组的动态初始化: + 在初始化的时候, 需要手动指定数组的长度, 系统会为数组容器分配初始值. + + 动态初始化格式: + 数据类型[] 数组名 = new 数据类型[数组的长度]; + + 注意: + 打印数组变量的时候, 会打印出数组的内存地址 + + [I@10f87f48 : + + @ : 分隔符 + [ : 当前的空间是一个数组类型 + I : 当前数组容器中所存储的数据类型 + 10f87f48 : 十六进制内存地址 + + 0 1 2 3 4 5 6 7 8 9 a b c d e f + */ + public static void main(String[] args) { + // 数据类型[] 数组名 = new 数据类型[数组的长度]; + // 通过new关键字创建了一个int类型的数组容器, 该容器可以存储5个int类型的整数, 该容器被arr数组变量所记录 + int[] arr = new int[5]; + // [I@10f87f48 + System.out.println(arr); + + byte[] bArr = new byte[3]; + // [B@b4c966a + System.out.println(bArr); + + } + +} +``` +作业 + +1. + +```java +public class D2 { + public static void main(String[] args) { + Random xx = new Random(); + Scanner sc = new Scanner(System.in); + int ls = xx.nextInt(100) + 1; + while (true) { + System.out.println("请输入你的数字"); + int wd = sc.nextInt(); + if (wd > ls) { + System.out.println("猜大了"); + } else if (wd < ls) { + System.out.println("猜小了"); + } else { + System.out.println("恭喜猜中"); + break; + } + } + System.out.println("感谢使用"); + } + +``` + +2. + +```java +public class D5 { + public static class D3 { + public static void main(String[] args) { + int[] arr = {10, 20, 30, 40, 50}; + int max = arr[0]; + for (int i = 1; i< arr.length; i++){ + if (arr[i]>max){ + max=arr[i]; + } + } + System.out.println("最大为:"+max); + } + } +} + +``` + -- Gitee From a08308dd6e530178cd5d78f17b527edf1e0275ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9C=E4=BC=9F=E5=B1=B1?= <2609838563@qq.com> Date: Mon, 12 Dec 2022 21:48:02 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...60\347\273\204\345\260\217\347\273\223.md" | 135 ++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 "39 \345\247\234\344\274\237\345\261\261/20221212 \346\225\260\347\273\204\345\260\217\347\273\223.md" diff --git "a/39 \345\247\234\344\274\237\345\261\261/20221212 \346\225\260\347\273\204\345\260\217\347\273\223.md" "b/39 \345\247\234\344\274\237\345\261\261/20221212 \346\225\260\347\273\204\345\260\217\347\273\223.md" new file mode 100644 index 0000000..6387304 --- /dev/null +++ "b/39 \345\247\234\344\274\237\345\261\261/20221212 \346\225\260\347\273\204\345\260\217\347\273\223.md" @@ -0,0 +1,135 @@ +## 数组的小结 + +1. 数组:一种用来存放多个或一个同一数据类型数据的容器,其实就是一种特殊的变量 + +2. 数组里存放的每一个数据,称为数组的元素。 + +3. 为了定位每个元素,程序会给每个元素一个编号,这个编号从0开始,称为索引,注意,索引最大值,只能是长度-1 ===> length-1 + +4. 如何得到数组的长度(也就是元素的个数): + + ```java + // 数组名.length + int[] ages = {1,2,3}; + ages.length; + // 数组长度什么什么用? + //可以用来遍历数组 + ``` + +5. 数组的赋值,也叫初始化 + + 1. 静态初始化 + + 1. 语法: 数据类型[] 数组名 = {元素1,元素2,元素3,……}; + + 2. 当定义一个数组,同时又明确知道每个元素的值的时候,边定义数组边赋值。 + + 3. 示例: + + ```java + // 定义一个整数类型的数组,存放前三名各个的年龄 + int[] ages = {18,19,20}; + ``` + +6. 动态初始化 + + 1. 语法:数据类型[] 数组名 = new 数据类型[数组的长度] + + 2. 当要定义一个数组,但是只知道长度,却不知道每个元素具体的值的时候。用动态初始化法 + + 3. 动态初始化,其实是有默认值的 int[] 0 ; double[] 0.0 String[] null 【null 表示啥也没有!】 + + 4. 示例: + + ```java + // 定义一个长度为3的整数类型的数组,得到 0 0 0 这么一个数组 + int[] a = new int[3]; + ``` + +7. 怎么使用数组的元素(也就是取值) + + 1. 语法: 数组名[索引] + + 2. 示例: + + ```java + num[1]// 表示取num这个数组中索引为1的那个元素的值,因为索引从0开始,所以这里1表示第2个元素 + ``` + +8. 数组的遍历: + + 1. 将数组每个元素都用到一次 + + 2. 其实就是从索引0到数组长度-1循环一次,取出每个索引对应的值 + + 3. 示例,求数组中每个数的总和 + + ```java + // 普通的标签遍历方法 + int[] num = {1,2,3}; + sum = 0; + for(int i=0;i max) { + max = a; + } + sum += a; + } + for (int b:score){ + if (b