今日往后预习了 流程控制到隐藏和封装 我认为有几大难点。

1.数组结构 挺复杂
静态初始化:显式的指定每个数组元素的值,由系统来决定数组的大小;
动态初始化:只需要指定数组的长度,通过程序动态的给每个元素赋值(即由系统为每个数组元素分配初始值)。
我觉得下次上课要理解。
2.还有构造器的具体用法。

其余的定义总结

&&”和“||”是两个不同的计算机符号。

具体的分析如下:

&&符号可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,

||符号可以作逻辑或运算符,表示逻辑或(or),当运算符有一边为true时,整个运算结果为true!

1.流程控制就是程序代码从上到下按顺序运行,个人感觉类似于 js 。。。

if 结构

if (age >= 0 && age <= 10) {
    System.out.println("少年");
} else if (age <= 18) {
    System.out.println("青少年");
} else if (age <= 30) {
    System.out.println("青年");
} else if (age <= 50) {
    System.out.println("中年");
} else {
    System.out.println("老年");
}
int age = 16;
if (age > 18) {
    String name = "Tom";
    System.out.println("我叫" + name + ",已经" + age + "岁了,我成年了!");
} else {
    System.out.println("我还未成年!");
}

个人感觉这两个用的比较多

switch 结构

swtich 语句是由控制表达式和多个 case 标签块组成。在控制表达式中,只允许出现 byte、short、int、char四种基础数据类型,在JDK1.7以后,支持 String 类型的控制表达式。

这个也是比较好理解的 几选一

String color = "red";
switch (color) {
case "red": {
    System.out.println("红色");
    break;
}
case "blue": {
    System.out.println("蓝色");
    break;
}
case "green": {
    System.out.println("绿色");
    break;
}
default: {
    System.out.println("没有找到");
    break;
}
}

在 case 中要加入 break 关键字跳出;

在实际的开发中,我们一般使用 if - else 结构替代 switch。swtich 结构应用的较少。

循环结构

循环语句可以在满足循环条件的情况下,反复执行某一段代码。

被重复执行的代码叫做循环体。

循环语句可能包含的部分有:

初始化语句(init_statement):一条或多条语句,这些语句用于完成一些初始化的工作。
循环条件(test_expression):是一个 boolean 类型的表达式,这个表达式决定是否继续执行循环体。
循环体(body_statement):如果条件允许,循环体会被反复执行。
迭代语句(iteration_statement):在一次循环体执行结束后,对循环体条件进行求值,通常用于控制循环条件中的变量,使得循环在合适的时候结束。

while结构

int sum = 0;
int i = 1;

while (i <= 10) {
    sum = sum + i;
    i++;
}

System.out.println(sum); // 55

do-while 结构

int i = 1;
int sum = 0;

do {
    sum += i++;
//    sum = sum + i;
//    i = i + 1;
} while (i <= 10);

System.out.println(sum); //55

for 循环

int sum = 0;
for (int i = 1; i <= 28; i++) {
    sum = sum + i;
}
System.out.println(sum);

控制循环结构

break

在循环体中,使用 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

2.隐藏和封装

封装
封装的目的:
隐藏类方法实现的细节;
让使用者只能通过预先定义的方法来访问数据,从而可以在方法中加入一些控制逻辑,限制对成员变量的不合理访问。
简单的理解就是,把成员变量隐藏起来,暴露方法来提供成员的修改和访问。

Getter 和 Setter
把属性定义为 private 类型,即私有,向外部暴露其 get 和 set 方法。
相关方法名的定义:
get + 首字母大写的属性名() :get 方法一般都是具有和属性数据类型一致的返回值,并且是没有形参的。
set + 首字母大写的属性名(参数):set 方法一般都是具有和属性数据类型一致的方法参数,返回值一般是 void。

还有一个重点是类和对象

: 是一种自定义的数据类型。有时把这种数据类型也叫做「类类型」或者「引用数据类型」。「引用」就是内存地址的意思。

对象:通过类创建的变量,或者叫类的实体。