Java学习——Java语法基础02(执行结构)
文章目录
一、Java的执行结构
Java的执行结构 概述:
1996 年,计算机科学家 Bohm 和 Jacopini 证明了:任何简单或复杂的算法都可以由顺序结构、分支结构和循环结构这三种基本 结构组合而成。 它们的共同点是都包含一个入口和一个出口,它们的每个代码都有机会被执行,不会出现死循环。
(1). 顺序结构
顺序结构是一种基本的控制结构,它按照语句出现的顺序执行操作。
按照正常顺序流程执行的程序结构,不做概述。
(2). 分支结构
分支结构大致分为 if条件语句 和 switch语句
if 条件结构是根据条件判断之后再做处理
语法结构:
if(条件语句){…}
if (条件语句){…}else{…}
if (条件语句){…}else if(条件语句){…}
if (条件语句){…}else if(条件语句){…}else{…}
例:
int testScore = 76;
char grade;
if (testScore >= 90) {
grade = 'A';
} else if (testScore >= 80) {
grade = 'B';
} else if (testScore >= 70) {
grade = 'C';
} else if (testScore >= 60) {
grade = 'D';
} else {
grade = 'F';
}
System.out.println("Grade = " + grade);
switch 语句有关规则
表达式的返回值必须是下述几种类型之一:int, byte, char, short, String;
case 子句中的取值必须是常量,且所有 case 子句中的取值应是不同的;
default 子句是可选的;
break 语句用来在执行完一个 case 分支后使程序跳出 switch 语句块;
如果 case 后面没有写 break 则直接往下面执行! Case 后面的执行体可写{ }也可以不写{ }
语法结构:
switch(表达式){
case 取值 1: 语句块 1; break;
case 取值 n: 语句块 n; break;
default: 语句块 n+1; break;
}
例:
int testScore = 75;
char grade;
switch (testScore / 10) {
case 9: grade = '优'; break;
case 8: grade = '良'; break;
default: grade = "差";
}
(3). 循环结构
循环语句功能 :
在循环条件满足的情况下,反复执行特定代码 。
循环语句分类 :
for 循环 while 循环 do/while 循环。
(1). while 循环
符合条件,循环继续执行;否则,循环退出。
特点:先判断,再执行
语法结构:
while(条件表达式){
//语句块;
}
提示:
使用 while 循环的步骤
1、分析循环条件和循环操作
2、套用 while 语法写出代码
3、检查循环是否能够退出
(2). do/while 循环
功能:
先执行一遍循环操作,符合条件,循环继续执行;否则,循环退出 。
特点:先执行,再判断。
语法:
do {
循环操作
}while ( 条件表达式 );
while 循环和 do-while 循环的区别:
do while相比较于while: 先执行一遍循环操作,然后再判读条件,如果条件满足,继续执行循环操作。
(3). for 循环
相比较于前两种循环,功能与简便性更显强大。
语法结构:
for(初始化参数;判断条件 ;更新循环变量){
循环体;
}
例:
for(int i=1; i<=100; i++) {
result += i;
}
(4). for-each 语句
Java 5之后提供了一种专门用于遍历集合的for循环 ——for-each循环。使用for-each循环不必按照for的标准套路编写代码,只需要提供一个集合就可以遍历。
先举例,假设有一个数组,采用for语句遍历数组的方式如下:
// 声明并初始化int数组
int[] numbers = { 43, 32, 53, 54, 75, 7, 10 };
System.out.println("----for-------");
// for语句
for (int i = 0; i < numbers.length; i++) {
System.out.println("Count is:" + numbers[i]);
}
而使用for-each语句,显得轻便了许多。
// 声明并初始化int数组
int[] numbers = { 43, 32, 53, 54, 75, 7, 10 };
System.out.println("----for each----");
// for-each语句
for (int item : numbers) {
System.out.println("Count is:" + item);
}
从示例中可以发现,item不是循环变量,它保存了集合中的元素,for-each语句将集合中的元素取出来,并保存到item中,这个过程中不需要使用 循环变量,通过数组下标访问数组中的元素。可见 for-each语句在遍历集合的时候要简单方便得多。