diff --git "a/02 \346\236\227\344\275\263\346\263\275/20230320 java\345\237\272\346\234\254\350\257\255\346\263\225\345\244\215\344\271\240.md" "b/02 \346\236\227\344\275\263\346\263\275/20230320 java\345\237\272\346\234\254\350\257\255\346\263\225\345\244\215\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..4602bb8e8b448b2b575141589fb83099ce4a6be5 --- /dev/null +++ "b/02 \346\236\227\344\275\263\346\263\275/20230320 java\345\237\272\346\234\254\350\257\255\346\263\225\345\244\215\344\271\240.md" @@ -0,0 +1,349 @@ +# 20230320 java基本语法复习 + +## 复习 + +### 1、数据类型 + +| 数据类型 | 关键字 | 内存占用 | 取值范围 | +| -------- | ------------ | -------- | ------------------------------------------------------------ | +| 整数类型 | byte | 1 | -128~127 | +| | short | 2 | -32768~32767 | +| | int(默认) | 4 | -2的31次方到2的31次方-1 **注意**: 因为整数默认是int类型,整数太大可能超出int范围。 | +| | long | 8 | -2的63次方到2的63次方-1 **注意**:定义long类型的变量时,需要在整数的后面加L(大小写均可,建议大写)。 | +| 浮点类型 | float | 4 | 负数:-3.402823E+38到-1.401298E-45 正数: 1.401298E-45到3.402823E+38 **注意** :定义float类型的变量时,需要在小数的后面加F(大小写均可,建议大写)。 | +| | double(默认) | 8 | 负数:-1.797693E+308到-4.9000000E-324 正数:4.9000000E-324 到1.797693E+308 **注意**: 因为浮点数的默认类型是double, double的取值范围是大于float的,类型不兼容。 | +| 字符类型 | char | 2 | 0-65535 | +| 布尔类型 | boolean | 1 | true,false | + +### 2、注释 + +/* ...... */:多行注释 + +// 单行注释 + +/** + +* todo 代办事项 + +*/ 文档或方法的注释 + +### 3、两数的关系 + +- 等于:== +- 大于:> +- 小于:< +- 大等于:>= +- 小等于:<= +- 不等于:!= + +## 作业题目 + +### 1、输出你最想说的一句话! + +* 编写步骤: + +1. 定义类 Homework1 + +2. 定义 main方法 + +3. 控制台输出5行字符串类型常量值 + + ```java + public class Homework1 { + public static void main(String[] args) { + String a = "美丽的空想比不上踏实地做事,只要开始行动,就算再晚也不迟。"; + System.out.println(a); + System.out.println(a); + System.out.println(a); + System.out.println(a); + System.out.println(a); + } + } + ``` + + + +### 2、按步骤编写代码,效果如图所示: + +![](.\img\1.jpg) + +* 编写步骤: + +1. 定义类 Homework2 + +2. 定义 main方法 + +3. 控制台输出5行字符串类型常量值 + +4. 控制台输出5行字符类型常量值 + + ```java + public class Homework2 { + public static void main(String[] args) { + String a = "善学如春起之苗"; + String b = "不见其增,日有所长"; + String c = "假学如磨刀之石"; + String d = "不见其损,年有所亏"; + String e = "加油吧!少年"; + char f = 'J'; + char g = 'A'; + char h = 'V'; + char I = 'A'; + char J = '!'; + System.out.println(a); + System.out.println(b); + System.out.println(c); + System.out.println(d); + System.out.println(e); + System.out.println(f); + System.out.println(g); + System.out.println(h); + System.out.println(I); + System.out.println(J); + } + } + ``` + + + +### 3、按步骤编写代码,效果如图所示: + +![](.\img\3.jpg) + +- 编写步骤: + + 1. 定义类 Homework3 + + 2. 定义 main方法 + + 3. 控制台输出所有布尔类型常量值 + + ```java + public class Homework3 { + public static void main(String[] args) { + boolean a = true; + boolean b = false; + System.out.println(a); + System.out.println(b); + } + } + ``` + + + +### 4、按步骤编写代码,效果如图所示: + +![](.\img\4.jpg) + +- 编写步骤: + + 1. 定义类 Homework4 + + 2. 定义 main方法 + + 3. 定义2个 byte类型变量,分别赋byte类型范围内最大值和最小值,并输出在控制台. + + 4. 定义2个 short类型变量,分别赋short类型范围内的值,并输出在控制台. + + 5. 定义2个 int类型变量,分别赋int类型范围内的值,并输出在控制台. + + 6. 定义2个 long类型变量,分别赋超过int类型范围的值,并输出在控制台. + + ```java + public class Homework4 { + public static void main(String[] args) { + System.out.println(Byte.MIN_VALUE); + System.out.println(Byte.MAX_VALUE); + System.out.println(Short.MIN_VALUE); + System.out.println(Short.MAX_VALUE); + System.out.println(Integer.MIN_VALUE); + System.out.println(Integer.MAX_VALUE); + long a_min = -2147483649L; + long a_max = 2147483648L; + System.out.println(a_min); + System.out.println(a_max); + } + } + ``` + + + +### 5、按步骤编写代码,效果如图所示: + +![](.\img\5.jpg) + + + +* 编写步骤: + + 1. 定义类Homework5 + + 2. 定义 main方法 + + 3. 定义2个 float类型变量,分别赋值,并输出在控制台. + + 4. 定义2个 double类型变量,分别赋值,并输出在控制台. + + ```java + public class Homework5 { + public static void main(String[] args) { + float a = -3.14f; + float b = 3.14f; + double c = -3.4; + double d = 3.4; + System.out.println(a); + System.out.println(b); + System.out.println(c); + System.out.println(d); + } + } + ``` + + + +### 6、交换两个变量的值 + +编写步骤: + +1. 定义类Homework6 +2. 定义 main方法 +3. 定义两个整数变量a,b并赋值 +4. 控制台输出变量a,b互换前的值 +5. 定义一个第三方变量temp +6. 利用第三方变量temp使a,b的值互换 +7. 控制台输出变量a,b互换后的值 + +![image-20211219152628406](.\img\image-20211219152628406.png) + +```java +public class Homework6 { + public static void main(String[] args) { + int a = 10; + int b = 20 ; + int temp = 0 ; + temp = a; + a = b; + b = temp; + System.out.println("a = " + a); + System.out.println("b = " + b); + } +} +``` + + + +### 7、按步骤编写代码,效果如图所示: + +![](.\img\8.png) + + + +* 开发提示:四则运算的符号 + + ```java + 加: + + 减: - + 乘: * + 除: / + ``` + +* 编写步骤: + + 1. 定义类 Homework7 + + 2. 定义 main方法 + + 3. 定义2个int类型变量x、y,x赋值为100,y赋值为200 + + 4. 定义新变量add,保存变量x,y的和并打印到控制台 + + 5. 定义新变量sub,保存变量x,y的差并打印到控制台 + + 6. 定义新变量mul,保存变量x,y的积并打印到控制台 + + 7. 定义新变量div,保存变量x,y的商并打印到控制台 + + ```java + public class Homework7 { + public static void main(String[] args) { + int x = 100; + int y = 200; + int add = x + y; + System.out.println("x,y的和为:" + add); + int sub = x - y; + System.out.println("x,y的差为:" + sub); + int mul = x * y; + System.out.println("x,y的积为:" + mul); + int div = x / y; + System.out.println("x,y的商为:" + div); + } + } + ``` + + + +### 8、按步骤编写代码,效果如图所示: + +![](.\img\9.png) + +- 开发提示:四则运算的符号 + + ```java + 加: + + 减: - + 乘: * + 除: / + ``` + +- 编写步骤: + + 1. 定义类 Homework8 + + 2. 定义 main方法 + + 3. 定义2个double类型变量x、y,x赋值为100.8,y赋值为20.6 + + 4. 定义新变量add,保存变量x,y的和并打印到控制台 + + 5. 定义新变量sub,保存变量x,y的差并打印到控制台 + + 6. 定义新变量mul,保存变量x,y的积并打印到控制台 + + 7. 定义新变量div,保存变量x,y的商并打印到控制台 + + ```java + public class Homework8 { + public static void main(String[] args) { + double x = 100.8; + double y = 20.6; + double add = x + y; + double sub = x - y; + double mul = x * y; + double div = x / y; + System.out.print("x,y的和为:"+add + "\n" +"x,y的差为:"+ sub + "\n" + "x,y的积为:"+mul + "\n" +"x,y的商为:"+ div ); + } + } + ``` + +### 9、简答题 + +(1)Java的基本数据类型有哪些?String是基本数据类型吗? + +```java +Java的基本数据类型有:byte,short,int,long,float,double,char,boolean + String不是基本数据类型 +``` + +(2)float f=3.4;是否正确,表达式15/2*2的值是多少 + +```java +float f=3.4; //错误,因为3.4默认是double类型 + System.out.println(15/2*2); //14,因为15/2结果是7 +``` + +(3)char型变量中是否可以存储一个汉字? + +``` +可以 +``` + diff --git "a/02 \346\236\227\344\275\263\346\263\275/20230327 java\345\244\215\344\271\240\357\274\210\346\240\207\350\257\206\347\254\246\343\200\201\346\211\253\346\217\217\345\231\250\343\200\201\350\277\220\347\256\227\347\254\246\343\200\201ascii\343\200\201if\345\222\214switch\357\274\211.md" "b/02 \346\236\227\344\275\263\346\263\275/20230327 java\345\244\215\344\271\240\357\274\210\346\240\207\350\257\206\347\254\246\343\200\201\346\211\253\346\217\217\345\231\250\343\200\201\350\277\220\347\256\227\347\254\246\343\200\201ascii\343\200\201if\345\222\214switch\357\274\211.md" new file mode 100644 index 0000000000000000000000000000000000000000..b8be191a864144cc540428816956dd4495f3839c --- /dev/null +++ "b/02 \346\236\227\344\275\263\346\263\275/20230327 java\345\244\215\344\271\240\357\274\210\346\240\207\350\257\206\347\254\246\343\200\201\346\211\253\346\217\217\345\231\250\343\200\201\350\277\220\347\256\227\347\254\246\343\200\201ascii\343\200\201if\345\222\214switch\357\274\211.md" @@ -0,0 +1,357 @@ +# 20230327 java复习(标识符、扫描器、运算符、ascii、if和switch) + +## 1、标识符 + +### (1)组成规则: + +​ 字母,下划线,美元($),数字 + +### (2)注意事项: + +​ ①:不能以数字开头 + +​ ②:不能使用关键字 + +### (3)命名规则: + +​ ① 小驼峰 : 使用场景(方法、变量) + +​ 使用方法:首字母小写,其他首字母大写 + +​ ②大驼峰 : 使用场景(类) + +​ 使用方法:首字母大写,其他首字母大写 + +## 2、扫描器(导入对应的jar包) + +### (1)使用方法: + +```java +//创建扫描器 +Scanner 变量名 = new Scanner(System.in); +//提示用户输入 +System.out.println("请输入"); +//创建对应变量接收用户输入 +name=sc.next(); // next() 表示输字符串 +//nextLine() 可接收一行,包括空格 +// char在扫描器使用: +char n = sc.next().charAt(0)//计算机通常从0开始计数 +``` + +### (2)快捷语句: + +```java +new Scanner(System.in).var +``` + +## 3、运算符 + +### (1)自增自减: + +​ ①当++,--单独使用,单纯表示字母+1,-1所以++,--放在变量前或后都无差别 + +​ ②当++,--所在的表达式,出现其他的运算符,++或--在变量前还是后就有区别 + +​ 区别方式:是谁在前就先用谁参与其他的运算,再自增自减 + +​ ③使用方法: + +```java +int a = 1; +a++; +System.out.println(a); // a = 2 + +int b = 2 ; +--b; +System.out.println(b); // b = 1 +``` + +### (2)逻辑运算符: + +​ ①逻辑与:和,表示所有条件都要满足,结果才能成立.Java符号表示:'&' + +​ ②逻辑或:或者,表示条件满足之一,结果才能成立,Java符号表示:'|' + +​ ③逻辑异或:不能有相等的关系,结果才能成立,Java符号表示:'^' + +​ ④逻辑非:取相反,一个false值取相反为true,Java符号表示:'!' + +### (3)短路逻辑运算符: + +​ ①只要有一个表达式为false,已经可以决定最终结果,就没必要取执行下一个判断条件 + +​ ②'&&' 短路和 + +​ '||' 短路或 + +### (4)三元运算符: + +​ ①关系表达式 + +```java +int a = 10 +int b = 20 +int c = a <= b ? a : b +System.out.println(c); // c = a +``` + +问号前关系表达式,如果成立则执行表达式1,不成立执行表达式2 + +## 4、ascii码 + +​ + +``` +-- 1 'a' = 97 'z' = 122 +-- 2 'A' = 65 'Z' = 90 +-- 3 '0' = 48 '9' = 57 +``` + +## 5、if和switch + +### (1)if语句: + +```java +//第一种用法: +if(判断条件){ + 语句体①; +}else{ 语句体②; } +//if不成立则执行else的语句体② + +// 第二种用法: +if(判断条件){ + 语句体①; +} +else if (判断条件){ + 语句体2; +} +else{ + 语句体3; +} +/* 判断多种条件体,可用多个else if分支来判断 +if else这种分支结构,是互斥的,众多分支中,只能执行一个,只要一个判断条件满足,就不会执行后面 +*/ + +``` + +#### (1.1)补充: + +​ ①有关字符串比较:因为String是引用类型,不能直接用==来判断 + +​ ②用于String判断是否相等,用equals,例如a.equals(b)就是比较a和b是否相等. + +### (2)switch语句: + +```java +Switch(表达式){ + case 1: + 语句体1 + break; + default: + 语句体2 + break; + //每行都要有break断层 +} +//switch是用来判断精准某个值 +``` + + + + + +## 6、作业 + +### **1、判断一个字符数据是否是数字字符 ** + +**分析:** + +​ 1、需要判断一个字符是否是数字字符,首先需要提供一个字符数据 + +​ 2、字符是否为数字字符: 数字字符的范围 0 - 9 之间都属于数字字符,因此提供的字符只要大于或等于字符0,并且还要下于或等于字符9即可。 + +​ 3、判断完成之后,打印判断的结果。 + +答案: + +```java +import java.util.Scanner; + +public class D1 { + + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个字符进行判断:"); + char a = sc.next().charAt(0); + if (a >= '0' && a <= '9' ){ + System.out.println(a + "符合0-9范围"); + }else { + System.out.println("你输入的不符合0-9范围"); + } + } +} +``` + + + +### **2、判断一个字符数据是否是字母字符** + +**分析:** + +​ 1、需要判断一个字符是否是字母字符,首先需要提供一个字符数据 + +​ 2、字符是否为字母字符: 数字字符的范围 a - z 或者 A - Z 之间都属于字母字符,因此提供的字符只要大于或等于a,并且还要下于或等于z 或者 大于或等于A,并且还要下于或等于Z + +​ 3、判断完成之后,打印判断的结果。 + +答案: + +```java +import java.util.Scanner; + +public class D2 { + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个字符进行判断:"); + char a = sc.next().charAt(0); + if (a >= 'a' && a <= 'z' ){ + System.out.println(a + "符合a-z范围"); + }else if(a >= 'A' && a <= 'Z') { + System.out.println(a + "符合A-Z范围"); + }else { + System.out.println("你输入的不符合a-z或A-Z范围"); + } + } +} +``` + + + +### **3、判断指定的年份是否为闰年,请使用键盘录入** + +**分析:** + +​ 1、闰年的判断公式为:能被4整除,但是不能被100整除 或者 能被400整除 + +​ 2、首先需要提供一个需要判断的年份,判断完成之后,打印判断的结果。 + +答案: + +```java +import java.util.Scanner; + +public class D3 { + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个年份:"); + int a = sc.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 +import java.util.Scanner; + +public class D4 { + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入3位数:"); + int a = sc.nextInt(); + int bai = a / 100; + int shi = (a % 100) / 10; + int ge = a % 10; + if (a<1000 && a>99){ + if (a == (bai*bai*bai+shi*shi*shi+ge*ge*ge)){ + System.out.println(a + "是水仙花数"); + }else{ + System.out.println("不是水仙花数"); + } + }else{ + System.out.println("你输入的数不符合规范"); + } + } + } +``` + + + +### **5、判断一个5位数字是否为回文数,使用键盘录入** + +五位数的回文数是指最高位和最低位相等,次高位和次低位相等。如:12321  23732  56665 + +**分析:** + +​ 1、首先需要提供一个需要判断的5位数字,因此需要一个数值 + +​ 2、判断的过程 + +​ a) 将5位数字的万、千、十、个位数拆分出来 + +​ b) 判断比较万位和个位 、 千位和十位是否相等 + +​ 3、判断完成之后,打印判断的结果。 + +答案: + +```java +import java.util.Scanner; + +public class D5 { + + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个5位数:"); + int a = sc.nextInt(); + int gewei = a % 10; + int shiwei = a/10 % 10; + int baiwei = a / 100 % 10; + int qianwei = a / 1000 % 10; + int wangwei = a / 10000 % 10; + if (a<100000 && a>9999){ + if (wangwei == gewei && qianwei == shiwei ){ + System.out.println(a + "是回文数"); + }else { + System.out.println("不是回文数"); + } + }else { + System.out.println("输入不规范"); + } + } +} + +``` + + + diff --git "a/02 \346\236\227\344\275\263\346\263\275/img/1.jpg" "b/02 \346\236\227\344\275\263\346\263\275/img/1.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..423133fa81e8b9afde6adc5463fd13cb37561d75 Binary files /dev/null and "b/02 \346\236\227\344\275\263\346\263\275/img/1.jpg" differ diff --git "a/02 \346\236\227\344\275\263\346\263\275/img/3.jpg" "b/02 \346\236\227\344\275\263\346\263\275/img/3.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..eb087a34bd41aeb943002840a1e2acab120020d7 Binary files /dev/null and "b/02 \346\236\227\344\275\263\346\263\275/img/3.jpg" differ diff --git "a/02 \346\236\227\344\275\263\346\263\275/img/4.jpg" "b/02 \346\236\227\344\275\263\346\263\275/img/4.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..cbd6ca85c4f7e038bad866015951fe41e336cfc2 Binary files /dev/null and "b/02 \346\236\227\344\275\263\346\263\275/img/4.jpg" differ diff --git "a/02 \346\236\227\344\275\263\346\263\275/img/5.jpg" "b/02 \346\236\227\344\275\263\346\263\275/img/5.jpg" new file mode 100644 index 0000000000000000000000000000000000000000..ec57819bb9a5ea35428f5c01a7f419c6926be435 Binary files /dev/null and "b/02 \346\236\227\344\275\263\346\263\275/img/5.jpg" differ diff --git "a/02 \346\236\227\344\275\263\346\263\275/img/8.png" "b/02 \346\236\227\344\275\263\346\263\275/img/8.png" new file mode 100644 index 0000000000000000000000000000000000000000..91e2739b2361cec8f1d8e82816d3b9597e2ba37d Binary files /dev/null and "b/02 \346\236\227\344\275\263\346\263\275/img/8.png" differ diff --git "a/02 \346\236\227\344\275\263\346\263\275/img/9.png" "b/02 \346\236\227\344\275\263\346\263\275/img/9.png" new file mode 100644 index 0000000000000000000000000000000000000000..418632bbc6be9bbd79d8b8265c557ce911fee5d4 Binary files /dev/null and "b/02 \346\236\227\344\275\263\346\263\275/img/9.png" differ diff --git "a/02 \346\236\227\344\275\263\346\263\275/img/image-20211219152628406.png" "b/02 \346\236\227\344\275\263\346\263\275/img/image-20211219152628406.png" new file mode 100644 index 0000000000000000000000000000000000000000..72a6ca6e2ef8999d5e1d71161a4ef8ceb3b2c65b Binary files /dev/null and "b/02 \346\236\227\344\275\263\346\263\275/img/image-20211219152628406.png" differ diff --git "a/02 \346\236\227\344\275\263\346\263\275/img/image-20230320112442904.png" "b/02 \346\236\227\344\275\263\346\263\275/img/image-20230320112442904.png" new file mode 100644 index 0000000000000000000000000000000000000000..1cb8315103857ffdcae2f2908a48034e425aa199 Binary files /dev/null and "b/02 \346\236\227\344\275\263\346\263\275/img/image-20230320112442904.png" differ