java中流程控制结构_java中的流程控制语句(顺序结构,选择结构,循环结构)...
首先呢,流程控制可以分为三类:
顺序结构
选择结构
循环结构
顺序结构
定义:顺序结构就是代码从主函数开始由上至下依次执行。
public class Demo {
public static void main(String[] args) {
System.out.println(“程序开始了…”);
System.out.println(“我爱Java”);
System.out.println(“程序结束了!”);
}
}
// 依次输出 :程序开始了
我爱JAVA
程序结束了!
选择结构
选择结构又可分为:
if条件选择结构
switch条件选择结构
if条件选择结构
定义:是根据条件判断之后再做处理的一种语法结构。
基本格式如下:
if(条件表达式){ //执行时先判断条件,结果为true时
//再执行第一个花括号里的代码块。
代码块;
}else{
代码块; //结果为false时,执行这个代码块
}
//if后边括号里的条件必须是一个布尔表达式,即表达式的值必须为布尔值。
if语句又分为:
单if形式
嵌套if-else形式
和if-else-if形式
1.单if形式
单if形式
if(条件表达式){
当条件为true时执行的代码;
}
2.嵌套if-else形式
注意:
只有当满足外层if的条件时,才会判断内层if的条件。
else总是与它前面最近的那个缺少else的if配对。
为了使if结构更加清晰,应把每个if或else包含的代码块都用大括号括起来。相匹配的一对if和else应该左对齐。
内层的if结构相对于外层的if结构有一定的缩进。
3.if-else-if形式
对这个图的解释:代码块A执行完再执行B,若为真再执行代码块C,接下来再执行I。若B的执行为false,则执行D……
switch选择结构
什么是switch选择结构:
switch(int或者String类型的字面值或变量){
case int或者String类型的字面值或变量:
java语句
……
break;
case int或者String类型的字面值或变量:
java语句
…..
break;
case int或者String类型的字面值或变量:
java语句
……
break;
default:
java语句
……
}
//switch后边的小括号中的数据和case后边的数据进行等值匹配(只能判断单一的值),匹配成功的分支执行;按照自上而下的顺序依次匹配。
switch选择结构注意事项:
匹配成功后的分支执行,分支当中最后有“break”语句的话,整个switch语句终止。
匹配成功后的分支执行,分支当中最后没有“break”语句的话,直接进入下一个分支执行(不进行匹配)。
所有分支都没有匹配成功,当有default的语句的话,会执行default分支当中的语句。
switch和case后面只能是int或者String类型和枚举的数据,不能是其他类型,当然byte,short,char也可以。
case条件里面只能是常量或字面常量
default语句可有可无,最多只有一个且必须在最后一句。
举个例子:
switch(grade) {
case ‘A’ :
System.out.println(“优秀”);
break;
case ‘B’ :
System.out.println(“良好”);
break;
case ‘c’ :
System.out.println(“及格”);
break;
case ‘D’ :
System.out.println(“不及格”);
break;
default :
System.out.println(“未知等级”);
}
循环结构
循环结构主要有:
fou循环
while循环
1.for 循环的语法(主要用于已知次数的循环)
for(初始化; 布尔表达式; 循环的步长) {
中间循环体
}
//初始化表达式只读一次,,判断布尔表达式,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止 。
for循环的例子:
class Demo03_10{
public static void main(String[] args) {
/*
空格数与行数:空格数=n-行数
左边的数字:从行数到一
右边的数字:从二到行数
*/
Scanner input = new Scanner(System.in);
System.out.print(“Enter the number of lines:”);
int n = input.nextInt();
for(int i = 1;i <= n; i++){
for(int j = 1; j <= n-i; j++){ //输出左边空格
System.out.print(“ “ + “\t”);
}
for(int m = i; m >= 1; m—){ //输出左边数字
System.out.print(m + “\t”);
}
for(int l = 2; l <= i; l++){ //输出右边数字
System.out.print(l + “\t”);
}
System.out.print(“\n”);
}
}
}
//输出数字金字塔
2.while循环(不知重复次数但是已知结束条件的循环)
while(布尔表达式){
循环内容
}
//当条件表达式为true时,就会执行while后面大括号中的语句,当把大括号中的所有语 句执行完之后,会又回到while的条件表达式处再次判断,若还为true,就继续执行大括号 中的语句,若为false就跳过大括号中的所有语句,继续往下执行 。
while循环注意事项:
while循环的括号中的表达式计算结果必须为boolean类型的值。
while循环的括号中不能直接写false常量。
while循环的括号后面不要写分号,循环控制的语句的代码用大括号扩起来。
while循环控制的条件变量一定要更新,保证循环能够正常结束(不能死循环)。
while(true){
1.循环初始化
2.循环的继续条件
3.循环体
4.循环的步长
}
//注意:这么写while循环的话,逻辑上比较顺畅的,但是有危险,在于本身是死循环,需要在合适的时候用break关键字跳出循环
还没有评论,来说两句吧...