昨天因为个人原因没有写学习心得。今日补上。
从今天开始改变一下学习方法。
用一个笔记本,写下昨天学习什么,今天学习什么,明天准备学习什么。
每天花更多的时间去复习前面学习的知识点。
现在开始总结一下2018.3.2学习的内容和心得。
if的循环语句
注意的是int age 的变量是可以在全局使用的,而String name的变量只能在作用域(if结构中使用)
=============================
if else的语句
switch语句
这里注意要用break打断 不然执行一直是TRUE会进入死循环。
循环结构
循环语句可以在满足循环条件的情况下,反复执行某一段代码。
被重复执行的代码叫做循环体。
循环语句可能包含的部分有:
- 初始化语句(init_statement):一条或多条语句,这些语句用于完成一些初始化的工作。
- 循环条件(test_expression):是一个 boolean 类型的表达式,这个表达式决定是否继续执行循环体。
- 循环体(body_statement):如果条件允许,循环体会被反复执行。
- 迭代语句(iteration_statement):在一次循环体执行结束后,对循环体条件进行求值,通常用于控制循环条件中的变量,使得循环在合适的时候结束。
while 结构
(init_statement); // 初始化语句
while (test_expression) { //表达式
body_statement; //表达体
[iteration_statement]; //迭代语句
}
int sum = 0;
int i = 1;
while (i <= 10) {
sum = sum + i;
i++;
}
System.out.println(sum); // 55
do-while 结构
(init_statement);
do {
body_statement;
[iteration_statement];
} while (test_expression)
无论如何都会执行一次循环体内容
int i = 1;
int sum = 0;
do {
sum += i++;
// sum = sum + i;
// i = i + 1;
} while (i <= 10);
System.out.println(sum); // 11
for 循环
语法:
for ([init_statement]; test_expression; [iteration_statement]) {
body_statement;
}
实例
int sum = 0;
for (int i = 1; i <= 28; i++) {
sum = sum + i;
}
System.out.println(sum);
在实际的开发中,对于已知循环次数的遍历,一般使用 for 循环。而且 for 循环的应用场景要比 while 循环多。
控制循环结构
break:在循环体中,使用 break 关键字跳出整个循环。
int flag = 6;
int sum = 0;
for (int i = 1; i <= 10; i++) {
sum = sum + i;
if (i == flag) {
break;
}
}
System.out.println(sum); // 21
continue:在循环体中,使用 continue 跳出本次循环,循环还会继续执行。
int sum = 0;
for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue;
}
sum = sum + i;
}
System.out.println(sum); // 25
数组结构
数组是编程语言中最常用的一种数据类型。可以存储多个数据。
数组的要点
- 存放的数据是相同的数据类型
- 数组的长度在定义时就确定了大小,数组是不可变长度的,或者说叫定长
- 数组中可以存放任意的数据类型(包含基本数据类型、引用数据类型、数组)
- 数组本身是引用数据类型(在栈内存中会存储其在堆内存中的引用地址)
定义语法
type[] 变量名; // 强烈建议用这种命名
type 变量名[]; // 只要知道就可以
数组的初始化
在 Java 语言中,数组必须先被初始化,才能被使用。所谓的初始化,就是在内存中为数组元素分配空间,并未每个元素赋予初始值。
- 静态初始化:显式的指定每个数组元素的值,由系统来决定数组的大小;
- 动态初始化:只需要指定数组的长度,通过程序动态的给每个元素赋值(即由系统为每个数组元素分配初始值)。
静态初始化
语法:
type[] arrayName = {element1, element2,....}; // 比较常见
type[] arrayName = new type[]{element1, element2,...};
int[] arrs2;
arrs2 = new int[]{1, 2 ,3 ,4};
int[] arrs = {1, 2, 3, 4}; // 简写
动态初始化
语法:
type[] arrayName = new type[length];
数组中的索引,通过 arrayName[index] 获取指定位置的数据,index 从 0 开始,最大值为 length-1
- 通过数组索引方式对数组元素进行赋值时,使用数组.length属性作为 for 循环的条件。
- 在对数组元素进行操作时,一般使用 for 循环结构。
for (int i = 0; i < arrs3.length; i++) {
arrs3[i] = (i+1) * 10;
}
for (int i = 0; i < arrs3.length; i++) {
System.out.println(arrs3[i]);
}
foreach 遍历数组
for (type element : array | collections) {
element...
}
实例:
for(int a : arrs3) {
System.out.println(a);
}
使用 foreach 一般情况下,只用作遍历数据,如果要对数组中元素进行修改,还是需要使用 for 循环带索引的方式进行,因为在上述的代码中,a 只是循环元素的一个副本。
课程重点
- 理解各种数据类型在内存中的分配情况