day1
前言
- 字节转换
- 8 bit = 1 B
- 1024 B =1 KB
- 1024 KB =1 MB
- 1024 MB =1 GB
- 1024 GB = 1 TB
- 常用的dos命令
</img>
- java的编写与编译 利用dos编译源文件
1 2
javac HelloWorld.java java HelloWorld
- 标识符的命名要求
- 标识符可以包含 英文字母26个(区分大小写) 、 0-9数字 、 $(美元符号) 和 _(下划线)
- 标识符不能以数字开头。
- 标识符不能是关键字。
- 命名规范
- 类名规范:首字母大写,后面每个单词首字母大写(大驼峰式)。
- 方法名规范: 首字母小写,后面每个单词首字母大写(小驼峰式)。
- 变量名规范:全部小写。
常量与变量细节
常量
</img>
变量
四类八种基本数据类型: img src=”/assets/img/java/p3.png”></img> 几个标记特殊的表达方式
1
2
3
//对于float和long类型来说,字母后缀F和L不要丢掉。
long num = 300000000000L
float num = 2.5F
day2
数据的类型转换
- 自动转换 转换规则如下,由小自动填充到大 ~~~java //byte、short、char‐‐>int‐‐>long‐‐>float‐‐>double int i = 1; double d = 2.5; //int类型和double类型运算,结果是double类型 //int类型会提升为double类型 double e = d+i;
- 强制转换 将 取值范围大的类型 强制转换成 取值范围小的类型 。 转换格式如下: ~~~ java //数据类型 变量名 = (数据类型)被转数据值 //double类型数据强制转成int类型,直接去掉小数点。 int i = (int)1.5;
- 几点注意
1 2 3
short i = 1; i = i +1; //编译报错 i = (short)(i+1) //编译成功
对此解释如下: s和1做运算的时候,1是int类型,s会被提升为int类型 s+1后的结果是int类型,将结果在赋值会short类型时发生错误 short内存2个字节,int类型4个字节 必须将int强制转成short才能完成赋值
几类运算符小结
- ++运算
- 独立运算时,前++与后++没有区别
- 混合运算时 区别明显
- 变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
1 2 3 4 5 6
int a = 1; int b = ++a; //System.out.println(a); //计算结果是2 //System.out.println(b); //计算结果是2
- 变量后++ ,变量a先把自己的值1,赋值给变量b,此时变量b的值就是1,变量a自己再加1。a的结果是2,b 的结果是1。
1 2 3 4 5 6
int a = 1; int b = a++; //System.out.println(a); //计算结果是2 //System.out.println(b); //计算结果是1
- 变量 前++ :变量a自己加1,将加1后的结果赋值给b,也就是说a先计算。a和b的结果都是2。
- +运算符在字符串中表示拼接
- !表示取反操作
- 三元运算符的基本格式
int i = (1==2 ? 100 : 200);
方法(函数)的定义与调用
基本格式
1
2
3
4
修饰符 返回值类型 方法名 (参数列表){
代码...
return ;
}
调用
1
方法名 (参数列表)
几点注意:
- 方法必须定义在一类方法之外
- 方法不能定义在另一个方法的里面
jshell 简单介绍
方便快捷编写代码,jdk9特性 </img>
day3
流程控制语句
if else if else 略
选择语句
- 选择语句switch
1 2 3 4 5 6 7 8 9 10 11 12 13
switch (表达式){ case 常量值1: 语句体1; break; case (表达式){ case 常量值2: 语句体2; break; default: 语句体; break; } }
- 执行流程
- 首先计算出表达式的值
- 其次,和case依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到break就会结 束。
- 最后,如果所有的case都和表达式的值不匹配,就会执行default语句体部分,然后程序结束掉。
- case 的穿透性 在switch语句中,如果case的后面不写break,将出现穿透现象,也就是不会在判断下一个case的值,直接向后运 行,直到遇到break,或者整体switch结束。
循环与跳出
- 循环 for / while / do while 略
- 跳出
- break 语句 直接终止循环
- contine 语句 结束本次循环,继续下次循环。
- 死循环
1 2 3
while (true){ 语句体 }
day4
IDEA 简述
- 常用快捷键
快捷键的修改
File->Settings->keymap->Main menu->code->Completion->Basic
方法(函数)
方法调用的三种形式
- 直接调用:直接写方法名调用
- 赋值调用:调用方法,在方法前面定义变量,接收方法返回值
- 在输出语句中调用方法, System.out.println(方法名()) 不能输出语句调用 void 类型的方法。因为方法执行后没有结果,也就打印不出任何内容
## 方法的重载
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
public class Demo01MethodOverload {
public static void main(String[] args) {
System.out.println(sum(10, 20)); // 两个参数的方法
System.out.println(sum(10, 20, 30)); // 三个参数的方法
System.out.println(sum(10, 20, 30, 40)); // 四个参数的方法
// System.out.println(sum(10, 20, 30, 40, 50));
// 找不到任何方法来匹配,所以错误!
sum(10, 20);
}
public static int sum(int a, double b) {
return (int) (a + b);
}
public static int sum(double a, int b) {
return (int) (a + b);
}
public static int sum(int a, int b) {
System.out.println("有2个参数的方法执行!");
return a + b;
}
// 错误写法!与方法的返回值类型无关
// public static double sum(int a, int b) {
// return a + b + 0.0;
// }
// 错误写法!与参数的名称无关
// public static int sum(int x, int y) {
// return x + y;
// }
public static int sum(double a, double b) {
return (int) (a + b);
}
public static int sum(int a, int b, int c) {
System.out.println("有3个参数的方法执行!");
return a + b + c;
}
public static int sum(int a, int b, int c, int d) {
System.out.println("有4个参数的方法执行!");
return a + b + c + d;
}
- 几点说明
- 方法的重载只与方法的输入值与类型有关
- 与参数的名称无关,与返回值类型无关。
day5
数组
- 数组的两类定义方式
- 方式一,动态初始化(指定长度):
- 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度]
1
int [] arr = new int[3]
- 动态初始化,可以拆分成两个步骤
1 2
int[] arrayB; arrayB = new int[] { 11, 21, 31 };
- 数组存储的数据类型[] 数组名字 = new 数组存储的数据类型[长度]
- 方式二,静态初始化基本格式:
- 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…}
1
int [] arr = int[]{1,2,3,4,5}
- 静态初始化格式,可以拆分成两个步骤 ~~~java int [] arrA; arrA = new int[]{1,2,3,4};
- 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…}
- 方式三,静态初始化的省略格式
1
int[] arrayA = { 10, 20, 30 };
静态初始化的省略格式不可以拆分成两个步骤
- 方式一,动态初始化(指定长度):
- 数组的长度属性 arr.length
- 数组的索引与访问 略
- 数组在内存中的储存⭐⭐