实验1 Java编程基础.docx
需积分: 0 96 浏览量
更新于2024-03-17
收藏 35KB DOCX 举报
### 实验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的基本语法和数据结构,为后续更复杂的应用打下坚实的基础。

2301_80887764
- 粉丝: 0
- 资源: 1
最新资源
- Quantitative Research learning plan part1
- 声学振动分析:三倍频程与三分之一倍频程Matlab代码及Z振级衰减关系一键操作全数据保存方案,环境振动分析工具:一键操作批量输出1/3倍频程与最大Z振级数据并保存至指定文件夹,1 3倍频程代码 三分之
- 《DeepSeek:从入门到精通》
- 校园管理系统源码.zip
- fastlio2+gps+loopclosure
- 北京市1175个应急避难场所-所属区县+街道+名称类别+地址+邮编+联系方式
- 光伏MPPT仿真中灰狼算法与扰动观察法相结合的技术优化与应用分析,光伏MPPT仿真:灰狼算法与扰动观察法的结合及其在阴影变化下的应用策略,光伏MPPT仿真-灰狼算法结合扰动观察法,变阴影 ,光伏MPP
- 基于51单片机的直流电机PID调速系统设计与实现:Protues与Keil仿真测试,独立按键控制及数码管速度显示,基于Protues和Keil仿真的直流电机PID调速系统设计与实现:功能包括目标速度设
- 基于交通流数据优化预测算法的Matlab例程及其详细说明文档,交通流量预测代码与说明文档:Matlab例程的实践与应用,交通流量预测代码,含说明文档,Matlab例程 ,交通流量预测; 代码; 说明文
- (源码)基于Python的加密通信综合系统.zip
- 深入探讨COOFDM技术的Matlab仿真:文档代码解析与理论解释的融合研究,CO-OFDM技术的Matlab仿真实践:从文档代码到理论解释的全面解析,COOFDM的Matlab仿真包括文档代码解释和
- 小游戏中心,附加计算器 (免费)
- (源码)基于Chrome插件的Todo神奇助手.zip
- 工具变量-数据资产信息披露水平数据集(2000-2023年).xlsx
- IMG_7290.PNG
- 利用Simulink技术进行光伏电源与控制系统仿真:国家创新设计大赛项目三电平NPC整流器设计与实现附详细文档程序,Simulink在光伏电源仿真及控制中的应用:MPPT控制、光伏逆变控制与三电平NP