Java流程控制
Posted littleskinny
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java流程控制相关的知识,希望对你有一定的参考价值。
1、顺序结构
-
Java的基本结构就是顺序结构,除非特别指明,否则就按顺序一步一步执行
-
语句与语句之间、框与框之间是按从上到下的顺序执行的,是由若干个依次执行的处理步骤组成的,任何一个算法都离不开顺序结构
2、选择结构
2.1、if
if单选择结构
//语法
if(布尔表达式){
//如果表达式为真,则会执行的代码
}
?
//举例
if(2 > 0){
System.out.println("2是比0大的");
}
if双选择结构
//语法
if(布尔表达式){
//如果表达式为真,则会执行的代码
}else{
//如果表达式为假,则会执行的代码
}
?
//举例
public static void main(String[] args) {
int score = 55;
if(score >= 60){
System.out.println("您的成绩合格!");
}else{
System.out.println("您的成绩不合格!");
}
}
if多选择结构
//语法
if(布尔表达式1){
//如果表达式1为真,则会执行的代码
}else if(布尔表达式2){
//如果表达式2为真,则会执行的代码
}else if(布尔表达式3){
//如果表达式3为真,则会执行的代码
}else{
//如果以上表达式都不为真,则会执行的代码
}
?
//举例
public static void main(String[] args) {
?
int score = 75;
if (score == 100){
System.out.println("您的成绩为A级,分数为:" + score);
}else if(score >= 90){
System.out.println("您的成绩为B级,分数为:" + score);
}else if(score >= 80 && score < 90){
System.out.println("您的成绩为C级,分数为:" + score);
}else if(score >= 70 && score < 80){
System.out.println("您的成绩为D级,分数为:" + score);
}else if(score >= 60 && score < 70){
System.out.println("您的成绩为E级,分数为:" + score);
}else{
System.out.println("您的成绩不合格,分数为:" + score);
}
}
嵌套if
可以在 if() 或者 else if() 中嵌套使用if选择结构,解决一些较为复杂的问题。
2.2、switch
//语法
switch(expression){
case value1:
//语句
break;
case value2:
//语句
break;
case value3:
//语句
break;
default:
//语句
}
?
//举例
public static void main(String[] args) {
?
char code = ‘C‘;
?
switch (code){
case ‘A‘:
System.out.println("这个字符为A");
//break;
case ‘B‘:
System.out.println("这个字符为B");
//break;
case ‘C‘:
System.out.println("这个字符为C");
//break;
default:
System.out.println("这个符不是A、B、C");
}
}
-
注意点
-
value的类型可以是int、byte、short、char或者String类型
-
break是可选的,可写可不写,如果不写则会出现case渗透现象
case渗透:如果 expression 的值等于其中某个 value,就会进入这个 case 分支里执行其中的语句,但是执行完这个分支里的语句之后程序并不会结束,而是执行后面所有的case分支,直到遇见break语句或者执行到最后,程序才会终止。
-
3、循环结构
循环三要素:初始值、判断循环是否终止的条件、更新,三者缺一便会形成死循环
3.1、while循环
//语法
while(布尔表达式){
//布尔表达式为真时的循环语句
}
?
//举例
public static void main(String[] args) {
//i = 1 为初始值
int i = 1;
//i <= 100 布尔表达式,即判断循环是否终止的条件
while(i <= 100){
System.out.println("i的值为:" + i);
//i++ 为更新,即改变循环控制变量值以求越来越接近于循环终止的条件
i++;
}
}
-
while循环是先判断后执行,所以如果布尔表达式为假,则循环语句一次都不会执行
3.2、do while循环
//语法
do{
//循环语句
}
while(布尔表达式);
?
//举例
public static void main(String[] args) {
?
int i = 1;
?
do {
System.out.println("i的值为:" + i);
i++;
}while (i < 100);
}
-
do while循环是先执行后判断,所以不管布尔表达式为真或者为假,则循环语句至少会执行一次
3.3、for循环
//语法
for(初始值;布尔表达式;更新){
//循环语句
}
?
//举例
public static void main(String[] args) {
for (int x = 1; x <= 100; x++) {
System.out.println(x);
}
}
-
for循环执行顺序:
-
先执行初始化步骤,可以在其中声明类型,也可在循环体外提前声明,可初始化一个或者多个循环控制变量
-
其次检测布尔表达式的值,如果值为真,执行循环语句,否则结束循环
-
执行一次循环后,更新循环控制变量的值
-
再次检查布尔表达式的值,循环执行上面的过程
-
3.2、增强for循环
//语法
for(声明语句:表达式){
//循环语句
}
?
//举例
public static void main(String[] args) {
?
int[] arrays = {10,20,30,40,50,60};
for (int i : arrays) {
System.out.println(i);
}
}
-
声明语句:声明新的局部变量,该变量的类型必须和数组元素的类型匹配,其作用域限定在循环语句块,其值与此时数组元素的值相等。
-
表达式:要访问的数组名或者返回值为数组的方法。
4、break、continue
-
break可用于任何循环结构的主体部分,强行退出循环,不执行循环中剩下的语句。
-
以上是关于Java流程控制的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段15——git命令操作一个完整流程