### 实验1 Java编程基础知识点解析 #### 一、Java 输入输出方式 在Java中,基本的输入输出可以通过`java.io`包中的类实现。最常用的是`System.out.println()`和`Scanner`类。 - **System.out.println()**: 用于向控制台输出信息。 ```java System.out.println("Hello, World!"); ``` - **Scanner 类**: 用于读取用户的输入。 ```java Scanner scanner = new Scanner(System.in); int year = scanner.nextInt(); ``` #### 二、if 语句的用法 if 语句用于根据不同的条件执行不同的代码块。其基本形式包括简单的if语句、if-else语句以及if-else if-else语句结构。 - **简单的 if 语句**: ```java if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { System.out.println(year + " 是闰年"); } ``` - **if-else 语句**: ```java if (score >= 90) { System.out.println("优秀"); } else { System.out.println("良好"); } ``` - **if-else if-else 语句**: ```java if (score >= 90) { System.out.println("优秀"); } else if (score >= 80) { System.out.println("良好"); } else if (score >= 70) { System.out.println("中等"); } else if (score >= 60) { System.out.println("及格"); } else { System.out.println("不及格"); } ``` #### 三、switch 语句的语法 switch 语句用于基于不同的条件执行不同的代码块。它通常用于多个条件的情况下。 ```java switch (grade) { case 10: case 9: System.out.println("优秀"); break; case 8: System.out.println("良好"); break; case 7: System.out.println("中等"); break; case 6: System.out.println("及格"); break; default: System.out.println("不及格"); } ``` **注意**: - 在每个 `case` 后面的 `break` 语句是必须的,它用来终止当前的 `case` 分支,并将控制转移到 `switch` 结构之外。 - 如果不使用 `break`,则会继续执行下一个 `case` 的代码,直到遇到 `break` 或者 `switch` 的结束。 #### 四、循环语句的用法 循环语句用于重复执行一段代码。Java 支持多种类型的循环,如 `for` 循环、`while` 循环和 `do-while` 循环。 - **for 循环**: ```java for (int i = 1; i <= 100; i++) { if (i % 2 == 1) { sum += i; } } ``` - **while 循环**: ```java int i = 1; while (i <= 100) { if (i % 2 == 1) { sum += i; } i++; } ``` - **do-while 循环**: ```java int i = 1; do { if (i % 2 == 1) { sum += i; } i++; } while (i <= 100); ``` #### 五、数组的声明、创建和使用方法 数组是一组相同类型元素的集合。 - **一维数组**: ```java int[] numbers = new int[10]; numbers[0] = 100; ``` - **二维数组**: ```java int[][] triangle = new int[10][]; for (int i = 0; i < 10; i++) { triangle[i] = new int[i + 1]; triangle[i][0] = 1; triangle[i][i] = 1; for (int j = 1; j < i; j++) { triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; } } ``` #### 六、Arrays 类的用法 `Arrays` 类提供了许多静态方法来操作数组。 - **排序**: ```java int[] arr = {5, 3, 8, 1}; Arrays.sort(arr); ``` - **查找**: ```java int index = Arrays.binarySearch(arr, 3); ``` - **填充**: ```java Arrays.fill(arr, 0); ``` #### 七、案例分析 1. **if...else 语句构造多分支判断闰年**: ```java if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) { System.out.println(year + " 是闰年"); } else { System.out.println(year + " 不是闰年"); } ``` 2. **switch 语句判断成绩等级**: ```java switch (true) { case score >= 90: System.out.println("优秀"); break; case score >= 80: System.out.println("良好"); break; case score >= 70: System.out.println("中等"); break; case score >= 60: System.out.println("及格"); break; default: System.out.println("不及格"); } ``` 3. **循环计算序列和**: ```java int sum = 0; for (int i = 0; i <= 20; i++) { sum += Math.pow(2, i) - 1; } ``` 4. **循环求素数之和**: ```java int sum = 0; for (int i = 100; i <= 200; i++) { boolean isPrime = true; for (int j = 2; j * j <= i; j++) { if (i % j == 0) { isPrime = false; break; } } if (isPrime) { sum += i; } } ``` 5. **冒泡排序**: ```java int[] nums = {3, 1, 4, 2, 5}; for (int i = 0; i < nums.length - 1; i++) { for (int j = 0; j < nums.length - 1 - i; j++) { if (nums[j] < nums[j + 1]) { int temp = nums[j]; nums[j] = nums[j + 1]; nums[j + 1] = temp; } } } ``` 6. **打印杨辉三角**: ```java int[][] triangle = new int[10][]; for (int i = 0; i < 10; i++) { triangle[i] = new int[i + 1]; triangle[i][0] = 1; triangle[i][i] = 1; for (int j = 1; j < i; j++) { triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; } } ``` 7. **程序运行结果**: ```java class TestApp { public static void main(String[] args) { for (int i = 0; i < 10; i++) { if (i == 3) break; System.out.print(i); } } } ``` 运行结果是:`012`。 8. **switch 语句分析**: ```java class SwitchDemo { public static void main(String[] args) { int c = 38; switch (c < 10 ? 1 : c < 25 ? 2 : c < 35 ? 3 : 4) { case 1: System.out.println(" " + c + "℃ 有点冷。要多穿衣服。"); case 2: System.out.println(" " + c + "℃ 正合适。出去玩吧。"); case 3: System.out.println(" " + c + "℃ 有点热。"); default: System.out.println(" " + c + "℃ 太热了!开空调。"); } } } ``` - 当 `c=38` 时,运行结果是:`38℃ 太热了!开空调。` - 当 `c=8` 时,运行结果是:`8℃ 有点冷。要多穿衣服。` - 当 `c=48` 时,运行结果是:`48℃ 太热了!开空调。` **添加 break 语句后的变化**: - 添加 `break` 语句后,程序将在匹配到第一个 `case` 后立即退出 `switch` 结构,不再执行后续的 `case` 分支。 - 当 `c=38` 时,运行结果是:`38℃ 太热了!开空调。` - 当 `c=8` 时,运行结果是:`8℃ 有点冷。要多穿衣服。` - 当 `c=48` 时,运行结果是:`48℃ 太热了!开空调。` 通过以上分析和实践,可以深入理解Java的基本语法和数据结构,为后续更复杂的应用打下坚实的基础。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【Unity对话和任务管理插件】Dialogue and Quests 灵活的对话系统,轻松创建对话
- k8s命令详细教程大大是的
- 基于Java的运动赛事管理系统
- 【Unity 资源管理插件】Asset Inventory 2 高效组织、搜索、管理各种资源,提高工作效率
- 【 Unity网格优化插件】MeshFusion Pro: Ultimate Optimization Tool 优化 3D 模
- 平面设计-39款粗糙污渍纹理轻微颗粒矢量设计素材
- 为圣诞树增添节日祝福:用CSS和HTML添加文本标签
- qml和c++的交互,和QQuickWidget的使用
- 11阿发发发案发时发生
- Node-Red语音识别节点node-red-node-ui-microphone-0.3.1