程序控制结构
# 程序控制结构
## 分支控制
单分支 if
双分支 if else
多分支 if else-if else
嵌套分支 NestedIf
Switch分支控制
```java
Scanner myScanner = new Scanner(System.in);
System.out.println("请输入你的信用分(0-100)");
int grade = myScanner.nextInt();
if (grade >= 1 && grade <= 100) {
//四种情况,多分支
if (grade == 100) {
System.out.println("信用极好");
} else if (grade > 80 && grade <= 99) {
System.out.println("信用优秀");
} else if (grade > 60 && grade <= 80) {
System.out.println("信用一般");
} else {
System.out.println("信用不及格");
}
}else{
System.out.println("信用分应该在0-100之间,请重新输入" );
}
```
```java
switch(表达式){
case常量1: //当...
语句块1;
break;
case常量2;
语句块2;
break;
case常量n;
语句块n;
break;
default:
default语句块;
break;
}
```
## 循环控制
```java
for循环基本语句
for(循环变量初始化;循环条件;循环变量更迭){
循环操作(可以多条语句);
}
//输出10句“你好,赵赵!”
for(int i = 1; i <= 10; i++){
System.out.println("你好,赵赵!" + i);
}
for循环变量细节1
for(;循环判断条件;)中的初始化和变量更迭可以写到其他地方,但是两边的分号不能省略
int i = 1;//用于满足整个程序对 i 变量的需求
for (; i <= 10; ) {
System.out.println("你好,亲爱的赵赵!" + i);
i++;
补充 for(;;){ =====> 无限循环/死循环 + break
细节二:
//循环初始值可以有多条初始化语句,但要求类型一样,并且中间用逗号隔开
//循环变量迭代也可以有多条变量迭代语句,中间用 ,隔开
int count = 3;
for(int m = 0,j = 0; m < count;m++,j += 2){
System.out.println("m=" + m + "j=" + j);
}
多重for循环
for(int i = 0; i < 2; i++){//输出次数
for(int j = 0; j < 3; j++){//输出内容
System.out.println("i=" + i + "j=" + j);
}
}
```
```java
while 基本语句
循环变量初始化
while(循环条件){
循环体(语句)
循环变量迭代
}
//输出10句“你好,赵赵!”
int i = 1;//循环变量初始化
while(i <= 10){
System.out.println("你好,赵赵!" + i);
i++;//没有循环迭代,就是一个死循环 在括号外面也是死循环
}
System.out.println("退出while,继续" + i);
```
```java
DoWhile基本语法
循环变量初始化;
do{
循环体(语句)
循环变量迭代;
}while(循环条件)
//输出十句“你好,赵赵!”
int i = 1;
do{
System.out.println("你好,赵赵!");
i++;//否则就是死循环
} while(i <= 10);
System.out.println("退出do..while 程序,继续执行");
```
```java
//如果李三不还钱,则老韩将一直使出五连鞭,知道李三说还钱为止 do-while 语句是先做后问
// System.out.println("老韩问 :还钱吗? y/n");
//思路分析:不停的问还钱吗? 定义一个变量answer 使用 char answer 来接收回答
Scanner myScanner = new Scanner(System.in);//引入键盘输入工具类
char answer = ' ';//这里是是一个空字符
do{
System.out.println("老韩使出五连鞭!");
System.out.println("老韩问还钱吗? y/n");
answer = myScanner.next().charAt(0);
System.out.println("他的回答是" + answer);
}while(answer == 'n');//经过判断,只有当 false时,才会退出do while 程序
//while(answer != 'y');这种写法也是正确的 判断条件很关键
```
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」