diff --git "a/03 \345\276\220\351\233\250\346\231\264/20221124 \345\246\202\344\275\225\345\256\211\350\243\205JDK\345\222\214\344\275\277\347\224\250Git.md" "b/03 \345\276\220\351\233\250\346\231\264/20221124 \345\246\202\344\275\225\345\256\211\350\243\205JDK\345\222\214\344\275\277\347\224\250Git.md" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/20221124 \345\246\202\344\275\225\345\256\211\350\243\205JDK\345\222\214\344\275\277\347\224\250Git.md" rename to "03 \345\276\220\351\233\250\346\231\264/20221124 \345\246\202\344\275\225\345\256\211\350\243\205JDK\345\222\214\344\275\277\347\224\250Git.md" diff --git "a/03 \345\276\220\351\233\250\346\231\264/20221125 IDEA\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234.md" "b/03 \345\276\220\351\233\250\346\231\264/20221125 IDEA\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234.md" similarity index 91% rename from "03 \345\276\220\351\233\250\346\231\264/20221125 IDEA\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234.md" rename to "03 \345\276\220\351\233\250\346\231\264/20221125 IDEA\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234.md" index 66c75eda409c0a9b048e9a938c9ec46614836b62..062980cf144c9847dcc2cf5bc6daaac45b88b3e2 100644 --- "a/03 \345\276\220\351\233\250\346\231\264/20221125 IDEA\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234.md" +++ "b/03 \345\276\220\351\233\250\346\231\264/20221125 IDEA\347\232\204\345\237\272\346\234\254\346\223\215\344\275\234.md" @@ -24,7 +24,7 @@ - 类(class) :java源码的实际文件 - ![1](E:\Java仓库\java-base\03 徐雨晴\images\11.25\1.PNG) + ![1](F:\Java仓库\java-base\03 徐雨晴\images\11.25\1.PNG) 4. #### **IDEA的基本配置** @@ -41,7 +41,7 @@ - 注释是指在程序中添加的说明性信息 - 注释不参与程序运行,仅起到说明作用 - ![2](E:\Java仓库\java-base\03 徐雨晴\images\11.25\2.png) + ![2](F:\Java仓库\java-base\03 徐雨晴\images\11.25\2.png) 5. #### **IDEA的常用快捷键** @@ -70,5 +70,7 @@ - 把模块复制到空项目所在路径下 - 出现如下错误,知道如何处理 - ![3](E:\Java仓库\java-base\03 徐雨晴\images\11.25\3.png) + ![3](F:\Java仓库\java-base\03 徐雨晴\images\11.25\3.png) + + diff --git "a/03 \345\276\220\351\233\250\346\231\264/20221125 \345\237\272\347\241\200\350\257\255\346\263\225.md" "b/03 \345\276\220\351\233\250\346\231\264/20221125 \345\237\272\347\241\200\350\257\255\346\263\225\357\274\210\344\270\200\357\274\211.md" similarity index 57% rename from "03 \345\276\220\351\233\250\346\231\264/20221125 \345\237\272\347\241\200\350\257\255\346\263\225.md" rename to "03 \345\276\220\351\233\250\346\231\264/20221125 \345\237\272\347\241\200\350\257\255\346\263\225\357\274\210\344\270\200\357\274\211.md" index f182b7ee9b6564d7e8b387bfb81120deab30e508..a1ecd399b77bf9ba928610f3f6e64de465837c1d 100644 --- "a/03 \345\276\220\351\233\250\346\231\264/20221125 \345\237\272\347\241\200\350\257\255\346\263\225.md" +++ "b/03 \345\276\220\351\233\250\346\231\264/20221125 \345\237\272\347\241\200\350\257\255\346\263\225\357\274\210\344\270\200\357\274\211.md" @@ -1,4 +1,4 @@ -## 基础语法 +## 基础语法(一) #### 1.字面量 @@ -8,45 +8,45 @@ **字面量分类** -![5](E:\Java仓库\java-base\03 徐雨晴\images\11.25\5.PNG) +![5](images\11.25\5.PNG) -#### 2. 数据类型 +#### 2.数据类型 - 概述:Java语言是强类型语言,对于每一种数据都给出了明确的类型。 -6 +6 - 不同的数据类型分配了不同的内存空间 - 不同的内存空间,所存储的数据大小是不一样的 -**计算机存储单位** +**2.1计算机存储单位** 计算机中存储数据的最小单位是:字节(byte),用B表示。 常见的存储单位:1TB = 1024GB 1GB = 1024MB 1MB = 1024KB 1KB = 1024B -**数据类型分类** +**2.2数据类型分类** -![7](E:\Java仓库\java-base\03 徐雨晴\images\11.25\7.PNG) +![7](images\11.25\7.PNG) -**数据类型内存占用和取值范围** +**2.3数据类型内存占用和取值范围** -![8](E:\Java仓库\java-base\03 徐雨晴\images\11.25\8.PNG) +![8](images\11.25\8.PNG) 说明:E+38表示:乘以10的38次方。同理E-45表示:乘以10的负45次方。 #### 3.变量 -**定义格式:**格式:数据类型 变量名 = 变量值; +**3.1定义格式:**格式:数据类型 变量名 = 变量值; - 范例:int price = 998; -**变量的使用** +**3.2变量的使用** - 根据变量名进行使用,可以输出,也可以修改值 -**变量的注意事项** +**3.3变量的注意事项** - 变量名不能重复定义 @@ -63,15 +63,15 @@ - 关键字的字母全部小写 - 常用的代码编辑器,针对关键字有特殊的颜色标记,非常直观 -9 +9 #### 5.标识符 概述:给类,方法,变量等起名字的符号。 -**规则:** +**5.1规则:** -由数字、字母、下划线(_)和美元符($)组成。 +由数字字母下划线(_)美元符($)组成。 **注意事项** @@ -79,29 +79,70 @@ - 不能是关键字 - 区分大小写 -**命名约定**(见名知意) +**5.2命名约定****(见名知意)** -小驼峰命名法方法,变量 +1. 小驼峰命名法方法,变量 -约定1:标识符一个单词的时候,首字母小写 +- 约定1:标识符一个单词的时候,首字母小写 -范例1:name +- 范例1:name -约定2:标识符是多个单词的时候,第一个单词首字母小写,其他单词首字母大写 +- 约定2:标识符是多个单词的时候,第一个单词首字母小写,其他单词首字母大写 -范例2:firstName +- 范例2:firstName -大驼峰命名法 -约定1:标识符一个单词的时候,首字母大写 +2. 大驼峰命名法 -范例1:Hello +- 约定1:标识符一个单词的时候,首字母大写 -约定2:标识符是多个单词的时候,每个单词首字母大写 +- 范例1:Hello -范例2:HelloWorld +- 约定2:标识符是多个单词的时候,每个单词首字母大写 -10 +- 范例2:HelloWorld + + +10 + +#### 6.键盘录入 + +我们可以通过 Scanner 类来获取用户的输入。使用步骤如下: + +1、导包。Scanner 类在java.util包下,所以需要将该类导入。导包的语句需要定义在类的上面。 + +```java +import java.util.Scanner; //导入Scanner类java.util包 +``` + +2、创建Scanner对象。 + +```java +Scanner sc = new Scanner(System.in);// 创建Scanner对象,sc表示变量名,其他均不可变 +``` + +3、接收数据 + +```java +int num = sc.nextInt(); // 表示将键盘录入的值作为int数返回。 +``` + +示例: + +```java +import java.util.Scanner; + +public class class1 { + public static void main(String[] args) { + //创建对象 + Scanner sc = new Scanner(System.in); + //接收数据 + int num = sc.nextInt(); + //输出数据 + System.out.println(num); + } +} +``` @@ -140,4 +181,4 @@ 3. ##### 将以上1和2输出的结果截图发朋友圈,集15个赞. -![4](E:\Java仓库\java-base\03 徐雨晴\images\11.25\4.jpg) \ No newline at end of file +4 \ No newline at end of file diff --git "a/03 \345\276\220\351\233\250\346\231\264/20221129 \345\237\272\347\241\200\350\257\255\346\263\225\357\274\210\344\272\214\357\274\211.md" "b/03 \345\276\220\351\233\250\346\231\264/20221129 \345\237\272\347\241\200\350\257\255\346\263\225\357\274\210\344\272\214\357\274\211.md" new file mode 100644 index 0000000000000000000000000000000000000000..101b8a98fb88a55484d78115eeecdfcaca7f1a50 --- /dev/null +++ "b/03 \345\276\220\351\233\250\346\231\264/20221129 \345\237\272\347\241\200\350\257\255\346\263\225\357\274\210\344\272\214\357\274\211.md" @@ -0,0 +1,288 @@ +## 基础语法(二) + +### 1.类型转换 + +概论:在Java中,一些数据类型之间是可以相互转换的,分为两种情况:自动类型转换和强制类型转换。 + +**1.1自动转换(隐式)** + +​ 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。例如: + +```java +double num = 10; // 将int类型的10直接赋值给double类型 +System.out.println(num); // 输出double类型的10.0 +``` + +​ 数据类型从小到大关系图: + +​ ![1](images\11.29\1.png) + +说明: + +1. 整数默认是int类型,byte、short和long类型数据参与运算均会自动转换为int类型。 + +```java +byte b1 = 10; +byte b2 = 20; +byte b3 = b1 + b2; +// 第三行代码会报错,b1和b2参与运算时,会自动转换为int类型,计算结果应为int类型。 +// 应修改数据类型为int类型: +int num = b1 + b2; +// 或者int赋值给byte强制类型转换: +byte b3 = (byte) (b1 + b2); +``` + +2. boolean类型不能与其他基本数据类型相互转换。 +2. char类型参与运算(十进制)。(a=97   A=65   0=48) + +**1.2强制转换** + +把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。 + +​ 强制类型转换格式:目标数据类型 变量名 = (目标数据类型)值或者变量; + +​ 例如: + +```java +double num1 = 5.5; +int num2 = (int) num1; // 将double类型的num1强制转换为int类型 +System.out.println(num2); // 输出5(小数位直接舍弃,强制转换会丢失部分数据) +``` + +**1.3类型转换** + +案例代码: + +```java +byte a = 3; +byte b = 4; +byte c = a + b; //错误。因为两个byte变量相加,会先提升为int类型 +byte d = 3 + 4; //正确。常量优化机制 +int e = a + b;//正确。byte参与运算,类型自动提升为int类型。 +``` + +**常量优化机制**: + +​ 在编译时,整数常量的计算会直接算出结果,并且会自动判断该结果是否在byte取值范围内, + +- 在:编译通过 + +- 不在:编译失败 + +### 2.运算符 + +#### 2.1算术运算符 + +##### 2.1.1 运算符和表达式 + +运算符:对常量或者变量进行操作的符号 + +表达式:用运算符把常量或者变量连接起来符合Java语法的式子就可以称为表达式。 + +​ 不同运算符连接的表达式体现的是不同类型的表达式。 + +举例说明: + +```java +int a = 10; +int b = 20; +int c = a + b; +``` + + +:是运算符,并且是算术运算符。 + + a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。 a和b称为操作数。 + +#### 2.1.2 算术运算符(应用) + +| 符号 | 作用 | 说明 | +| :--: | :--: | :-----------------------: | +| + | 加 | 参考幼儿园数学 | +| - | 减 | 参考幼儿园数学 | +| * | 乘 | 参考小学二年级,与“×”相同 | +| / | 除 | 参考小学二年级,与“÷”相同 | +| % | 取余 | 两个数据做除法的余数 | + +**注意:** + +1. /和%的区别:两者都做除法, + - / 取结果的商, + + - % 取结果的余数。 + +2. 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。 + +~~~java +int a = 10; +int b = 3; +System.out.println(a / b); // 输出结果 +System.out.println(a % b); // 输出结果 +~~~ + +#### 2.1.3 字符的“+”操作 + +char类型参与算术运算,使用的是计算机底层对应的十进制数值。需要我们记住三个字符对应的数值: + +'a' -- 97 a-z是连续的,所以'b'对应的数值是98,'c'是99,依次递加 + +'A' -- 65 A-Z是连续的,所以'B'对应的数值是66,'C'是67,依次递加 + +'0' -- 48 0-9是连续的,所以'1'对应的数值是49,'2'是50,依次递加 + +~~~java +// 可以通过使用字符与整数做算术运算,得出字符对应的数值是多少 +char ch1 = 'a'; +System.out.println(ch1 + 1); // 输出98,97 + 1 = 98 + +char ch2 = 'A'; +System.out.println(ch2 + 1); // 输出66,65 + 1 = 66 + +char ch3 = '0'; +System.out.println(ch3 + 1); // 输出49,48 + 1 = 49 +~~~ + +算术表达式中包含不同的基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。 + +**提升规则:** + +```java +1. byte类型,short类型和char类型将被提升到int类型,不管是否有其他类型参与运算。 +2. 整个表达式的类型自动提升到与表达式中最高等级的操作数相同的类型 +3. 等级顺序:byte,short,char --> int --> long --> float --> double +``` + +例如: + +~~~java +byte b1 = 10; +byte b2 = 20; +// byte b3 = b1 + b2; // 该行报错,因为byte类型参与算术运算会自动提示为int,int赋值给byte可能损失部分数值 +int i3 = b1 + b2; // 应该使用int接收 +byte b3 = (byte) (b1 + b2); // 或者将结果强制转换为byte类型 +------------------------------- +int num1 = 10; +double num2 = 20.0; +double num3 = num1 + num2; // 使用double接收,因为num1会自动提升为double类型 +~~~ + +#### 2.1.4 字符串的“+”操作 + +当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。【+号的左右两边任意一边出现字符串,那这个就个拼接符】 + +当+号是拼接符的时候,得到的结果,也是字符串。 + +~~~java +System.out.println("mjq"+ 021212); // 输出:mjq021212 +~~~ + +在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。 + +~~~java +System.out.println(1 + 99 + "年葡萄酒");//输出:100年葡萄酒 +System.out.println(1 + 2 + "独角兽" + 3 + 4);//输出:3独角兽34,只要前面有字符串,后面都被污染成字符串 +System.out.println(1 + 2 + "独角兽" + (3 + 4));//输出:3独角兽7,可以使用小括号改变运算的优先级 +~~~ + +#### 2.1.5 数值拆分 + +需求: + +​ 键盘录入一个三位数,将其拆分为个位,十位,百位,打印在控制台。 + +示例代码: + +```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. 设计一个程序,用户输入一个四位数的整数后,程序能获取这四位数的个位,十位,百位和千位.并在控制台输出这四个数字; + +```jade +import java.util.Scanner; + +public class class1 { + public static void main(String[] args) { + Scanner sc=new Scanner(System.in); + System.out.println("请输入一个四位数"); + int num=sc.nextInt(); + int ge=num%10; + System.out.println("个位是:"+ge); + int shi=num/10%10; + System.out.println("十位是:"+shi); + int bai=num/100%10; + System.out.println("百位是:"+bai); + int qian=num/1000; + System.out.println("千位是:"+qian); + } +} +``` + + + +2. 华氏温度和摄氏温度互相转换,从华氏度变成摄氏度你只要减去32,乘以5再除以9就行了,将摄氏度转成华氏度,直接乘以9,除以5,再加上32即可; + +```java +import java.util.Scanner; + +public class class2 { + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("请输入一个摄氏度:"); + double centigrade = sc.nextDouble(); + double intFahrenheit = centigrade/5*9+32; + System.out.println("转换成华氏度为:" + intFahrenheit); + System.out.println("请输入一个华氏度:"); + double intFahrenheit2 = sc.nextDouble(); + double centigrade2= (intFahrenheit2-32)*5/9; + System.out.println("转换成摄氏度为:" + centigrade2); + } +} +``` + + + +3. 键盘输入一个年份,判断其是不是闰年。 + +```java +import java.util.Scanner; + +public class class3 { + public static void main(String[] args) { + Scanner sc=new Scanner(System.in); + System.out.println("请输入一个年份:"); + int year=sc.nextInt(); + if (year%4==0 & year%100!=0){ + System.out.println(year+"是闰年"); + }else if (year%400==0){ + System.out.println(year+"是闰年"); + }else{ + System.out.println(year+"不是闰年"); + } + } +``` + + + diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/1.PNG" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/1.PNG" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/1.PNG" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/1.PNG" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/10.PNG" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/10.PNG" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/10.PNG" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/10.PNG" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/2.png" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/2.png" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/2.png" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/2.png" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/3.png" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/3.png" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/3.png" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/3.png" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/4.jpg" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/4.png" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/4.jpg" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/4.png" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/5.PNG" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/5.PNG" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/5.PNG" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/5.PNG" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/6.PNG" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/6.PNG" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/6.PNG" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/6.PNG" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/7.PNG" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/7.PNG" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/7.PNG" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/7.PNG" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/8.PNG" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/8.PNG" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/8.PNG" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/8.PNG" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.25/9.png" "b/03 \345\276\220\351\233\250\346\231\264/images/11.25/9.png" similarity index 100% rename from "03 \345\276\220\351\233\250\346\231\264/images/11.25/9.png" rename to "03 \345\276\220\351\233\250\346\231\264/images/11.25/9.png" diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.29/1.png" "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/1.png" new file mode 100644 index 0000000000000000000000000000000000000000..4757f5dc031f98e21ca4d69e9074750a77efc8db Binary files /dev/null and "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/1.png" differ diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.29/2.png" "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/2.png" new file mode 100644 index 0000000000000000000000000000000000000000..54a5b64dade4a61fee0e2ff91effa4b5be4def2c Binary files /dev/null and "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/2.png" differ diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.29/3.png" "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/3.png" new file mode 100644 index 0000000000000000000000000000000000000000..b17ad14d51deb7103046585e0ab0206177976631 Binary files /dev/null and "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/3.png" differ diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.29/4.png" "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/4.png" new file mode 100644 index 0000000000000000000000000000000000000000..17494d812df010f09713db004bf7983c95c69c02 Binary files /dev/null and "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/4.png" differ diff --git "a/03 \345\276\220\351\233\250\346\231\264/images/11.29/5.png" "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/5.png" new file mode 100644 index 0000000000000000000000000000000000000000..b7835a46e9950ccf8d0429ede987c4cff03b3b02 Binary files /dev/null and "b/03 \345\276\220\351\233\250\346\231\264/images/11.29/5.png" differ