Java流程控制

1. 顺序结构

        顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。

        总的来说:程序按照从上到下的顺序执行。

 Java顺序结构示例代码:

public class Test{
    public static void main(String[] args) {
        System.out.println(1);
        System.out.println(2);
        System.out.println(3);
    }
}

2. 分支结构

  条件语句可根据不同的条件执行不同的语句。包括if条件语句与switch多分支语句。这是学习Java的一个基础与重点。

 2.1 if条件语句

  使用if条件语句,可选择是否要执行紧跟在条件之后的那个语句。关键字if之后是作为条件的“布尔表达式”,如果该表达式返回true,则执行其后的语句;若为false,则不执行if后的语句。可分为简单的if条件语句、if···else语句和if···else if多分支语句。

int a = 100;
if(a == 100) {
    System.out.println(a);
}

  如上方代码,{}之间为复合语句,if为条件语句,翻译过来就是如果a等于100,则输出a的值,否则不执行。

  如果if后只有一条语句,比如上述代码只有一条输出,可以不加{},但为了代码的可读性,以及防止代码过多出现不必要的错误,建议所有的if、else后都加上相应的{}。

  2.2 if···else语句

  if···else语句是条件语句中最常用的一种形式,它会针对某种条件有选择的作出处理。通常表现为“如果满足某种条件,就进行某种处理,否则就进行另一种处理”。

  if后的()内的表达式必须是boolean型的。如果为true,则执行if后的复合语句;如果为false,则执行else后的复合语句。

  如:

public class Getifelse {
 
     public static void main(String[] args) {
         int math = 80;        // 声明,数学成绩为80(及格)
         int english = 50;    // 声明,英语成绩为50(不及格)
         
         if(math >= 60) {    // if判断语句判断math是否大于等于60
             System.out.println("math has passed");
         } else {            // if条件不成立
            System.out.println("math has not passed");
         }
         
         if(english >= 60) {    // if判断语句判断english是否大于等于60
            System.out.println("english has passed");
        } else {            // if条件不成立
            System.out.println("english has not passed");
         }
     }
  }

2.3 if···else if多分支语句

  if···else if多分支语句用于针对某一事件的多种情况进行处理。通常表现为“如果满足某种条件”,就进行某种处理,否则,如果满足另一种条件,则进行另一种处理。

 public class GetTerm {
 
     public static void main(String[] args) {
         int x = 40;
         
         if(x > 60) {
             System.out.println("x的值大于60");
         } else if (x > 30) {
             System.out.println("x的值大于30但小于60");
         } else if (x > 0) {
             System.out.println("x的值大于0但小于30");
         } else {
             System.out.println("x的值小于等于0");
         }
     }
 
 }

2.4 switch分支语句

  switch语句是一种比较简单明了的多选一的选择,在Java语言中,可以用switch语句将动作组织起来进行多选一。语法格式如下:

switch(表达式)
{ 
 case 常量值1:
        语句块1
        [break;]
...
case 常量值n:
        语句块2
        [break;]
default:
        语句块 n+1;
        [break;]
}  

switch语句中表达式的值必须是常量(整型或字符型),常量值1~n必须也是整型或字符型。

3. 循环结构

什么是循环结构?

        在满足循环条件的情况下,反复执行某一段代码的结构称为循环结构,被重复执行的代码叫做循环体,循环结构需要一个条件结束循环,不然就会形成死循环。

3.1 for 循环

for(初始化表达语句;判断条件语句;控制条件语句){
	循环体语句;
}
  • 执行流程

    • 进行初始化表达语句
    • 执行判断条件语句,如果为true,继续执行;如果为false,跳出循环,循环结束
    • 为true执行循环体语句
    • 执行控制条件语句
    • 执行判断条件语句,为true继续执行循环体语句,为false跳出循环,循环结束
    • 为true执行循环体语句
    • 执行条件判断语句
    • ……
  • 注意:初始化表达语句只执行一次

3.2 while循环

初始化条件语句;
while(判断条件语句) {
	循环体语句;
	控制条件语句;
}
  • 执行流程

    • 执行初始化条件语句
    • 执行条件判断语句,若为true,继续执行循环体语句;若为false,结束循环
    • 执行循环体语句
    • 执行控制循环语句
    • 执行条件判断语句,若为true,继续执行循环语句;若为false,结束循环
    • ……

3.3 do while循环

初始化条件语句;
do {
	循环体语句;
	控制条件语句;
}while(判断条件语句);
  • 执行流程

    • 执行初始化条件语句
    • 执行循环体语句
    • 执行控制条件语句
    • 执行判断条件语句,若为true,继续循环;若为false,跳出循环
    • 若为true,执行循环体语句
    • 执行控制条件语句
    • ……

3.4 for、while、do while 三种循环的区别

  • do while 循环至少执行一次,而 for 和 while 可以一次也不执行

  • 如果已知循环次数,用for循环方便;如果只知道循环结束条件,用while循环

  • 如果想在循环过后继续使用控制条件变量,用while循环,否则用for循环

  • 建议优先使用for循环,再是while循环,最后是do while循环

  • 注意:一定要注意控制循环的变量,不然容易造成死循环

4. 控制跳转语句

控制跳转语句分类

  • break:中断整个循环
  • continue:跳过当次循环
  • return:退出当前方法
4.1 break语句
  • 作用:退出循环
4.2 continue语句
  • 作用:跳过当次循环,继续下一次循环
4.3 return语句
  • 作用:退出当前方法,跳转到上层调用的方法处
  • 14
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值