JAVA学习|第二章 控制语句

目录

1. 程序块、循环和分支

1.1 程序块

1.2 循环结构

1.2.1 while 循环

1.2.2 do...while 循环

1.2.3 for 循环

1.3 分支结构

1.3.1 if 语句

1.3.2 switch 语句

2. 程序设计中的算法

2.1 伪代码与逐步细化

3. Java 语言中的异常处理简介

3.1 异常的分类

3.2 try-catch 机制

3.3 throws 和 throw

4. 数组

4.1 数组的声明与创建

4.2 数组的初始化

4.3 多维数组

4.4 数组的遍历


1. 程序块、循环和分支

1.1 程序块

在 Java 中,程序块(或称复合语句)是用大括号 {} 包围的一组语句。与 C 语言相似,程序块用于将多个语句组合在一起,使其作为一个单一的逻辑单元执行。然而,Java 在变量作用域和隐藏规则上与 C 语言有所不同。

示例:

{
    int x = 10;
    System.out.println(x);
}

在 Java 中,程序块可以在任何允许语句的地方使用。与 C 语言不同的是,Java 不允许在嵌套的程序块中声明同名变量,这可以避免变量冲突和编译错误。例如:

C 语言示例:

int x = 20;
{
    int x = 10; // 合法,x 在内部块中隐藏外部的 x
    printf("%d\n", x); // 输出 10
}
printf("%d\n", x); // 输出 20

Java 示例:

int x = 20;
{
    int x = 10; // 非法,Java 不允许在嵌套块中声明同名变量
    System.out.println(x); // 编译错误
}
System.out.println(x); // 输出 20

Java 的这一限制有助于减少变量作用域的混淆,提高代码的可读性和可维护性。


1.2 循环结构

Java 提供了多种循环结构,主要包括 while 循环、do...while 循环和 for 循环。这些循环结构在语法上与 C 语言相似,但在某些方面有所不同。

1.2.1 while 循环

while 循环的基本语法与 C 语言相同:

while (条件) {
    // 循环体
}

在循环体执行之前,条件会被检查,只有当条件为真时,循环体才会执行。

示例:

int sum = 0;
int i = 1;
while (i <= 100) {
    sum += i;
    i++;
}
System.out.println("1~100的和是:" + sum);

与 C 语言类似,while 循环在 Java 中也常用于需要先检查条件再执行循环体的场景。

1.2.2 do...while 循环

do...while 循环保证循环体至少执行一次,语法如下:

do {
    // 循环体
} while (条件);

这与 C 语言的用法一致。

示例:

int number;
do {
    System.out.print("请输入一个正数:");
    number = scanner.nextInt();
} while (number <= 0);

与 C 语言类似,do...while 循环适用于需要先执行循环体再检查条件的场景。

1.2.3 for 循环

for 循环的语法在 Java 中与 C 语言相似,但 Java 允许使用增强型 for 循环(也称为 foreach 循环),用于遍历数组或集合。

示例:

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

与 C 语言类似,for 循环适用于已知循环次数的场景。

增强型 for 循环(Java 特有):

int[] numbers = {1, 2, 3, 4, 5};
for (int num : numbers) {
    System.out.println(num);
}

增强型 for 循环在 Java 中简化了数组和集合的遍历操作,这是 Java 相对于 C 语言的一个优势。


1.3 分支结构

Java 的分支结构包括 if 语句和 switch 语句,这些结构在语法上与 C 语言相似,但在功能上有所不同。

1.3.1 if 语句

if 语句用于条件判断,语法与 C 语言相似:

if (条件) {
    // 语句
} else {
    // 语句
}

Java 还支持多重条件的 else if 结构。

示例:

if (score >= 90) {
    System.out.println("A级");
} else if (score >= 80) {
    System.out.println("B级");
} else {
    System.out.println("C级");
}

与 C 语言类似,if 语句适用于简单的条件判断场景。

1.3.2 switch 语句

switch 语句在 Java 中支持多种数据类型,包括 intcharString,使其比 C 语言更为灵活。

示例:

switch (season) {
    case "春天":
        System.out.println("春暖花开");
        break;
    case "夏天":
        System.out.println("夏日炎炎");
        break;
    default:
        System.out.println("未知季节");
}

与 C 语言不同,Java 的 switch 语句可以处理 String 类型的变量,这是 Java 的一个显著优势。


2. 程序设计中的算法

算法是程序执行任务所采取的步骤。在 Java 中,设计算法时通常使用伪代码来描述逻辑,随后将其转化为 Java 代码。伪代码是一种不依赖于具体编程语言的描述方式,便于理解和交流。

2.1 伪代码与逐步细化

伪代码应清晰地描述算法要完成的任务,而不必过于详细。逐步细化算法是将高层描述逐渐转化为具体实现的过程。

示例:

获取用户输入
计算总和
输出结果

与 C 语言类似,Java 也支持使用伪代码来设计算法,但 Java 的面向对象特性使得算法设计更加灵活和模块化。


3. Java 语言中的异常处理简介

Java 提供了强大的异常处理机制,以便在程序运行期间捕获和处理错误,避免程序崩溃。

3.1 异常的分类

Java 中的异常主要分为检查型异常(Checked Exceptions)和非检查型异常(Unchecked Exceptions)。

  • 检查型异常:编译器会检查是否处理这些异常,常见的有 IOExceptionSQLException 等。
  • 非检查型异常:通常是程序逻辑错误,如 NullPointerException,编译器不强制要求处理。
3.2 try-catch 机制

使用 try-catch 语句可以捕获异常并处理它们,保持程序的正常运行。

示例:

try {
    int result = 10 / 0; // 可能引发异常
} catch (ArithmeticException e) {
    System.out.println("不能除以零!");
}

与 C 语言不同,Java 的异常处理机制更加完善,能够更好地处理程序运行期间的错误。

3.3 throws 和 throw
  • throws:用于方法声明,表示该方法可能抛出异常。
  • throw:用于主动抛出异常。

示例:

public void myMethod() throws IOException {
    throw new IOException("文件未找到");
}

与 C 语言不同,Java 的异常处理机制通过 throwsthrow 关键字提供了更灵活的错误处理方式。


4. 数组

数组是存储同一类型数据的集合,Java 中的数组与 C 语言中的数组有相似之处,但在某些方面更为灵活。

4.1 数组的声明与创建

在 Java 中,数组的声明与 C 语言类似,但创建数组时使用 new 关键字。

示例:

int[] numbers = new int[5]; // 创建一个包含5个元素的整数数组

与 C 语言不同,Java 的数组是动态的,可以通过 new 关键字动态分配内存。

4.2 数组的初始化

Java 支持静态初始化和动态初始化,静态初始化可以在声明时直接赋值。

示例:

int[] numbers = {1, 2, 3, 4, 5}; // 静态初始化

与 C 语言类似,Java 的数组初始化方式更加灵活,支持多种初始化方法。

4.3 多维数组

Java 中的多维数组是数组的数组,可以用于存储表格数据。

示例:

int[][] matrix = new int[3][3]; // 创建一个3x3的二维数组

与 C 语言类似,Java 的多维数组可以通过嵌套的数组实现,但 Java 的数组更加灵活和动态。

4.4 数组的遍历

可以使用 for 循环或增强型 for 循环遍历数组。

示例:

for (int num : numbers) {
    System.out.println(num);
}

与 C 语言不同,Java 的增强型 for 循环简化了数组的遍历操作,使代码更加简洁和易读。

你可能感兴趣的:(JAVA入门学习,java,学习,开发语言,笔记)