Java–程序流程控制

java教程评论2.6K views阅读模式

Java程序流程控制 (上)

Java程序大体分为三种流程控制结构:顺序结构、分支结构、循环结构

  • 顺序结构

程序由上到下的逐行执行,中间没有任何跳转和判断语句。

示例代码如下:

 1 public class TestSortStruc { 2     public static void main(String[] args) { 3         //流程控制:顺序结构 4         int i = 15; 5         int j = i + 1; 6         System.out.println(j); 7          8         /*错误示例,因为n的赋值语句使用到了m,所以不能将m在n后面定义 9          * int n = m + 1;10            int m = 10;11            System.out.println(n);*/12     }13 }

  • 分支结构

  根据条件,选择性的执行某段代码块。

  分为if...else和switch..case两类分支语句。

  一、if语句的三种结构:

  1. if(true){

    执行代码块;}

  示例代码如下:

  

1 public class TestIf1 {2     public static void main(String[] args) {3         if(true){4             System.out.println("Hello World!!");5         }6     }7 }

  2. if(条件判断语句){

    执行代码块;}

   else{

   执行代码块;}

  示例代码如下:

 1 public class TestIf2 { 2     public static void main(String[] args) { 3         int age = 21; 4         if(age>18){ 5             System.out.println("你已经成年了!!"); 6         }else{ 7             System.out.println("你还没有成年!!"); 8         } 9     }10 }

  3. if(条件判断语句){

    执行代码块;}

   else if(条件判断语句){

    执行代码块;}

   ......

   else{执行代码块;}

 1 public class TestIf3{ 2     public static void main(String[] args) { 3         int age = 26; 4         
 5         if(age > 130 || age < 0){ 6             System.out.println("估计不是人吧!!"); 7         }else if(age <30){ 8             System.out.println("你还挺年轻!!只有"+ age +"岁"); 9         }else{10             System.out.println("我都是孩子他爹了,你另找心上人吧!!");11         }12     }13 }

  通过键盘获取值,然后使用if判断语句进行判断学生成绩,使用Scanner对象,让用户在控制台输入值

  示例代码如下:

  

 1 /*题目: 2  * 从键盘输入自己的考试成绩 3  * 当成绩为100分时,奖励一台外星人电脑 4  * 当成绩在80~99时,奖励一部iPhone7 plus 5  * 当成绩在60~80时,奖励一本考试科目的习题册 6  * 成绩低于60时,没有奖励,需要连续三个月不许玩游戏看电视。*/ 7 //1.导入Scanner包,记住一定要是java.util下的Scanner包 8 import java.util.Scanner; 9 10 public class TestScanner {11     public static void main(String[] args) {12         //2.new 一个Scanner对象sc13         Scanner sc = new Scanner(System.in);14         /*3.从键盘获取用户输入的值,因为要判断成绩,15             所以规定输入的值是int类型的数字,使用nextInt()方法*/16         System.out.println("请输入你的成绩:");17         int grade = sc.nextInt();18         //使用if判断语句进行成绩奖励判断19         if(grade == 100){20             System.out.println("恭喜你,获得一台外星人电脑!!");21         }else if(grade < 100 && grade >= 80){22             System.out.println("恭喜你,获得一部iPhone7 plus!!");23         }else if(grade < 80 && grade >=60 ){24             System.out.println("恭喜你,你需要完成一本本学科的习题册!!");25         }else{26             System.out.println("很遗憾,你在未来的三个月不能玩游戏,看电视!!");27         }28     }29 }

  注:1.if条件判断之间可以进行嵌套;

     2. 1)如果多个条件之间是“互斥”关系,那么条件语句的顺序是自由的;

       2)如果多个条件之间是“包含”关系,那么要求范围小的条件要写在范围大的条件上面。

  二、switch...case语句:

  switch(表达式){

  case 常量1:

    语句1;

    break;

  case 常量2:

    语句2;

    break;

  ......

  case 常量n:

    语句n;

    break;

  default:

    语句;

    break;

  }

  根据表达式的值,选择相应的case去判断,一旦满足case条件,就执行相应case下的语句。

  switch 后小括号里面的表达式的值的数据类型包含:char、byte、short、int、枚举、String(JDK1.7以上才能使用String类型)。

  case后跟的常量只能为准确的值,而不能为取值范围。

  示例代码如下:

 1 public class TestSwitch { 2     public static void main(String[] args) { 3         int i=1; 4         switch(i){ 5         case 0: 6             System.out.println("zero"); 7             break; 8         case 1: 9             System.out.println("one");10             break;11         case 2:12             System.out.println("one");13             break;14         case 3:15             System.out.println("one");16             break;17         case 4:18             System.out.println("one");19             break;20         default:21             System.out.println("ending");22             break;23         }24     }25 }

  注:如果没有break或者已经到结尾的话,会继续向下执行其他的case语句,如果只想得到某一个值,需要都加上break关键字;default虽为结尾语句,但是可以写在       switch中任何一个case前或者后面,但是不能写进case里面,但是习惯性的放在末尾,default也可以不写。

  • 循环结构

  通过循环条件,重复性的执行某段代码块,直到该条件不被满足。

  分为while、do..while、for循环三种循环语句。

  注:在JDK1.5中提供了foreach循环,更方便用于便利集合和数组元素。

  循环结构是最常用的也最重要的,故此讲其单独放在(下)篇进行梳理。

以上就是Java--程序流程控制的详细内容,更多请关注php教程其它相关文章!

企鹅博客
  • 本文由 发表于 2019年7月26日 16:24:40
  • 转载请务必保留本文链接:https://www.qieseo.com/332015.html

发表评论