顺序结构
- Java的基本结构就是顺序结构,除非特别指明,否则就按照顺序一句一句执行
- 顺序结构是最简单的算法结构
- 语句与语句之间,框与框之间是按从上到下的顺序进行的,他是由若干个依次执行的处理步骤组成的,他是一个任何算法都离不开的一种基本算法结构
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| package com.xiheya.struct;
public class orderDemo01 { public static void main(String[] args) { System.out.println("helloworld1"); System.out.println("helloworld2"); System.out.println("helloworld3"); System.out.println("helloworld4"); } }
|
因为Java的基本结构是顺序结构,所以会依次输出helloworld1234
输出结果:
选择结构
if单选择结构
- 很多时候需要判断一个东西是否可行,然后再去执行,这个时候我们就需要用到if语句
- 语法:
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| package com.xiheya.struct;
import java.util.Scanner;
public class ifDemo01 { public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); String s = scanner.nextLine(); if (s.equals("helloworld")){ System.out.println("helloworld"); } System.out.println("End"); scanner.close(); } }
|
因为是单判断语句,所以输出时会先判断输入的内容是否为helloworld,如果是的话就输出helloworld后输出End,如果不是就直接输出End
输出结果
if双选择结构
语法和单选择结构类似
设计一个程序,输入分数大于60时输出及格,否则输出不及格
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| package com.xiheya.struct;
import java.util.Scanner;
public class IfDemo02 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩"); if (scanner.nextInt() > 60){ System.out.println("您的成绩及格"); } else{ System.out.println("您的成绩不及格"); } scanner.close(); } }
|
if多选择结构
语法:
1 2 3 4 5 6 7 8 9
| if(布尔表达式 1){ }else if(布尔表达式 2){ }else if(布尔表达式 3){ }else{ }
|
设计一个程序输入的分数为100时输出满分;90-100为A;80-90为B;70-80为C;60-70为D;小于60为不及格,其余成绩为不合法
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| package com.xiheya.struct;
import java.util.Scanner;
public class IfDemo03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩"); int score = scanner.nextInt(); if (score == 100){ System.out.println("满分!"); }else if(score < 100 && score >= 90){ System.out.println("A!"); }else if(score < 90 && score >= 80){ System.out.println("B!"); }else if(score < 80 && score >= 70){ System.out.println("C!"); }else if(score < 70 && score >= 60){ System.out.println("D!"); } else if(score < 60 && score >= 0){ System.out.println("您的成绩不及格"); } else { System.out.println("成绩不合法"); } scanner.close(); } }
|
嵌套的if结构
- 使用嵌套的if……else语句是合法的。也就是说你可以在另一个if或者else if语句中使用if或者else if语句,你可以像if语句一样嵌套else if……else
- 语法
1 2 3 4 5 6
| if(布尔表达式1){ if(布尔表达式2){ } }
|
switch多选择结构
- 多选择结构还有一个实现方式就是switch case语句
- switch case语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支
- 语法:
1 2 3 4 5 6 7 8 9 10 11
| switch(expression){ case value : break; case value : break; default : }
|
- switch 语句中的变量类型可以是
- byte 、short、int或者char
- 从Java SE 7开始 switch就支持字符串String型了
- 同时case标签必须为字符串常量或字面量
设计一个程序,根据ABCD输出不同的评价。
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| package com.xiheya.struct;
public class SwitchDemo01 { public static void main(String[] args) { char grade = 'G'; 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; case 'E' : System.out.println("挂科"); break; default: System.out.println("未知成绩"); } } }
|
Java SE 7 新特性
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| package com.xiheya.struct;
public class SwitchDemo02 { public static void main(String[] args) { String name = "hahaha"; switch (name){ case "xiheya": System.out.println("right"); break; case "hahaha": System.out.println("error"); break; default: System.out.println("???"); } } }
|