2022-07-14 第10组 蒋萍 Java笔记
- 写在前面:
"学会独立思考就是进步"
哈哈哈哈,哈喽,今天的头脑风暴来啦~
今天做了六个娜娜的表情包,嘿嘿,学习新知识可太快乐了,可能掌握得比较慢,但每天都有进步,nice!
一、引用数据类型
1.1 String
1.1.1字符串的拼接
String s = "hello";
System.out.println(s + "java");
基本数据类型有8种,引用数据类型有啥??
除了基本数据类型,都是引用数据类型
1.2 数组
-
数组一旦声明,必带长度 ,可以先不用初始化,可以通过下标获取数组元素;
-
数组的长度是属性,不是方法
-
当程序抛出异常时,出现异常位置之后的代码不会执行
1.2.1 声明
1、直接
不建议使用
int[] arr = {1,2,3,5,6};
2、指定长度
// 这种方式必须指定数组长度,不然报错
int[] arr = new int[2];
// 打印输出后是堆内存地址[I@5594a1b5
3、建议使用
int[] arr = new int[]{1,4,5};
1.2.2 数组中数据类型的默认初始值:
-
byte、short、int、long :0
-
float:0.0
-
char:\u0000(就是空白)
-
boolean:false
-
String:null
-
所有引用数据类型初始默认为null
-
int[]
:null
1.2.3 二维数组
// 二维数组要掌握的:初始化、遍历、取值
int[][] arr = new int[2][]; //两个一维数组
arr[0] = new int[]{1,2,3,4};
arr[1] = new int[]{1,2,3,4,4,5,7,8};
for (int[] ints : arr) {
for (int anInt : ints) {
System.out.println(anInt + "、");
}
System.out.println();
}
int[][] arr = new int[2][]; //两个一维数组,我理解为两行
arr[0] = new int[]{1,2,3,4};
arr[1] = new int[]{-1,-2,-3,-4,-5};
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j]+"");
}
System.out.println();
}
二、包
2.1 包的命名规范
尽量全小写,尽量全用字母,
一般情况下,使用站点名的逆序 www.baidu.com
- 包名:
com.baidu
.模块名
com.baidu
.架构名
com.baidu
.模块.架构.功能.xxx
三、流程控制
3.1、多重if
每个if之间没有联系,这些if有可能都执行
3.2、if……else if……else
这些结构有互斥,一套条件中至多走一个
/**
* 请输入一个整数
* 请输入第二个整数
* 需求:如果第一个数是8并且第二个数是9,就打印两数之和
* 如果其中有一个是8有一个是9,就打印两数之差
* 如果两数无8且无9,分别打印
* */
// 判断用多重if还是if……else if
// 把范围小的先写,
// 如果情况比较多,条件判断比较复杂,最后一种情况不建议直接写else
3.3、switch……case
switch
结构清晰,简明扼要,但不要强行用``switch`;
3.3.1 Java里的switch只能判断如下数据类型:
- 基本数据类型,整型里的
byte
,short
,int
字符型char
可以
布尔型、浮点型都不行
- 引用数据类型中,
String
、枚举可以
String
必须在jdk7(包括)以后的版本才好使
枚举必须在jdk5(包括)以后的版本才好使
3.3.2 其他注意点
-
break
作用是终止运行; -
default
位置灵活,但别乱放;
四、循环
4.1 for循环
// 快捷键:10.fori
for (int i = 0; i < 10; i++) {
// 循环体
}
// 初始化条件可以是任意类型,只不过大部分情况下用int
4.1.1 for循环的嵌套运用
/**
* 打印:
* ****
* ****
* ****
* */
for (int i = 1; i < 4; i++) { // 3行
// 外走1 内走4;1行4个*
for (int j = 1; j < 5; j++) { // 4列
System.out.print("*");
}
System.out.println(" ");
}
4.2 break和continue
break
:终止或跳出
continue
:终止当前次循环,开启下次循环
注意:它俩只能控制离它们最近的循环
// 需求: 数7
// 从0到100,尾数是7或是7的倍数
for (int i = 1; i < 100; i++) {
if (i % 7 == 0 || i % 10 == 7) {
System.out.println(i);
break; // 跳出循环
}
}
那现在就想让它控制远的那个怎么办呢??======> 加标签
4.3 foreach,增强for循环遍历数组
快捷键:arr.for
foreach
的操作更加安全,因为不影响原始数据
foreach
是JDK5以后才有的;
JDK5以后增加了啥?? 前面学的枚举
for (int i : arr) {
// 理解为把数组中的元素通过:镜像给i;
// 我们操作的不是原始数据,操作的是镜像数据
/* i是数组中的元素;arr是要遍历的数组名 */
}
4.4 do ……whlie和while循环
区别??
-
do ……whlie
:无论条件是否满足,循环至少执行一次 -
while
:如果条件不满足,一次都不执行
终止程序执行的其他方式:(不常用)
System.exit(0); // 安全退出
System.exit(-1); // 强制退出
五、一些我今天容易出现问题的注意点
注意数据类型!!!!
所以上面应该改用int型数据接收用户输入。