2018.3.3学习心得

时间:2021-12-08 14:00:30

昨天因为个人原因没有写学习心得。今日补上。

从今天开始改变一下学习方法。

用一个笔记本,写下昨天学习什么,今天学习什么,明天准备学习什么。

每天花更多的时间去复习前面学习的知识点。

现在开始总结一下2018.3.2学习的内容和心得。

if的循环语句

2018.3.3学习心得

注意的是int age 的变量是可以在全局使用的,而String name的变量只能在作用域(if结构中使用)

=============================

if else的语句

2018.3.3学习心得

2018.3.3学习心得

switch语句

2018.3.3学习心得    

这里注意要用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 只是循环元素的一个副本。

课程重点

  • 理解各种数据类型在内存中的分配情况

2018.3.3学习心得