Java 基础 程序流程控制 (上)
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对象sc 13 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循环,更方便用于便利集合和数组元素。
循环结构是最常用的也最重要的,故此讲其单独放在(下)篇进行梳理。
浙公网安备 33010602011771号