Java是一种广泛使用的编程语言,它提供了三种基本的控制结构,即顺序结构、分支结构和循环结构。这些结构是Java程序设计中不可或缺的要素,也是Java语言的重要基础。
在本文中,我们将深入探讨这三种基本控制结构的特点和用法。通过了解它们的逻辑,您可以更好地理解和运用它们,从而提高Java程序的设计水平和效率。
顺序控制结构是Java中最简单的控制结构,也是默认的控制结构。在顺序控制结构中,代码按照从上到下的顺序执行,每个语句都会被依次执行。
public class SequentialControlExample {
public static void main(String[] args) {
int x = 5;
System.out.println("x = " + x); // 输出 x = 5
x = x * 2;
System.out.println("x = " + x); // 输出 x = 10
}
}
分支控制结构允许根据条件来执行不同的代码块。Java中的分支控制结构包括if语句和switch语句。
if语句允许在满足条件时执行代码块。
一个 if 语句包含一个布尔表达式和一条或多条语句。
if(布尔表达式)
{
//如果布尔表达式为true将执行的语句
}
if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false 时,else 语句块会被执行。
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
以下是一个使用if语句的示例:
public class IfControlExample {
public static void main(String[] args) {
int x = 5;
if (x > 0) {
System.out.println("x is positive");
} else if (x < 0) {
System.out.println("x is negative");
} else {
System.out.println("x is zero");
}
}
}
嵌套的 if…else 语句:可以在另一个 if 或者 else if 语句中使用 if 或者 else if 语句。
if(布尔表达式 1){
如果布尔表达式 1的值为true执行代码
if(布尔表达式 2){
如果布尔表达式 2的值为true执行代码
}
}
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
switch语句允许根据不同的条件执行不同的代码块。
switch(expression){
case value :
//业务语句
break; //可写可不写
case value :
//业务语句
break; //可写可不写
//可以有任意数量的case语句
default : //可选
//语句
}
switch 语句中的变量类型可以是: byte、string、short、int 或者 char。
以下是一个使用switch语句的示例:
public class SwitchControlExample {
public static void main(String[] args) {
char grade = 'B';
switch (grade) {
case 'A':
System.out.println("Good job!");
break;
case 'B':
System.out.println("Keep it up!");
break;
case 'C':
System.out.println("You can do better.");
break;
default:
System.out.println("Invalid grade.");
}
}
}
顺序结构的程序语句只能被执行一次。如果您想要同样的操作执行多次,就需要使用循环结构。
循环控制结构允许重复执行代码块。Java中的循环控制结构包括for循环、while循环和do-while循环。
for循环允许在已知的循环次数内重复执行代码块。
以下是一个使用for循环的示例:
public class ForControlExample {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
System.out.println("i = " + i);
}
}
}
关于for循环的说明:
1、执行过程:
for 循环会遍历列表或可迭代对象中的每个元素,并将每个元素赋值给变量名。
执行循环体中的代码,即对每个元素执行相同的操作。
循环体执行完毕后,继续遍历下一个元素,直到遍历完所有元素。
2、循环结束条件:
列表或可迭代对象中的所有元素都被遍历完毕。
用户手动调用 break 语句跳出循环。
3、注意事项:
for 循环中的变量名只存在于循环体中,循环结束后会被销毁。
循环体中的代码可以修改列表或可迭代对象中的元素,但不会影响列表或可迭代对象的长度。
while循环允许在满足条件时重复执行代码块。
语法格式如下:
while( 布尔表达式 ) {
//循环内容
}
以下是一个使用while循环的示例:
public class WhileControlExample {
public static void main(String[] args) {
int i = 0;
while (i < 5) {
System.out.println("i = " + i);
i++;
}
}
}
对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。
do-while循环允许在执行一次代码块后,在满足条件时重复执行代码块。
我们可以看到布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true,则语句块一直执行,直到布尔表达式的值为 false。
语法格式如下:
do {
//业务语句
}while(布尔表达式);
以下是一个使用do-while循环的示例:
public class DoWhileControlExample {
public static void main(String[] args) {
int i = 0;
do {
System.out.println("i = " + i);
i++;
} while (i < 5);
}
}
增强 for 循环是Java5 引入了一种主要用于数组的循环
public class Test {
public static void main(String[] args){
int [] numbers = {10, 20, 30, 40, 50};
for(int x : numbers ){
System.out.print( x );
System.out.print(",");
}
System.out.print("\n");
String [] names ={"heihei", "azhen", "aqiu", "aqing"};
for( String name : names ) {
System.out.print( name );
System.out.print(",");
}
}
}
控制流语句是指用于控制程序执行流程的语句。Java中的控制流语句包括if语句、switch语句、for循环、while循环和do-while循环等。
Java中的嵌套循环具有以下特点:可以嵌套多层,外层循环会影响内层循环的执行,内层循环不会影响外层循环的执行。
Java中的循环结构具有以下特点:for循环适用于已知循环次数的情况,while循环适用于未知循环次数的情况,do-while循环保证至少执行一次循环体。
Java中的break语句主要有两个作用,分别是用于跳出循环和用于跳出switch语句。
Java中的continue语句主要有两个作用,分别是用于结束本次循环和用于在switch语句中跳过当前case。