Java基础之(八):顺序结构与选择结构
顺序结构
- Java的基本结构就是顺序结构
- 顺序结构是最简单的算法结构
- 它是任何一个算法都离不开的一种基本算法结构。
例子:
public static void main(String[] args) {
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5");
}
选择结构
一、if单选择结构
语法:
if(布尔表达式){
//如果布尔表达式为true将执行的语句
}
例子:
import java.util.Scanner;
public class IfDemo01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入内容:");
String s = scanner.nextLine();
//equals:判断字符串是否相等(是一个String的方法)
if (s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
scanner.close();
}
}
二、if双选择结构
if(布尔表达式){
//如果布尔表达式的值为true
}else{
//如果布尔表达式的值为false
}
例子:
import java.util.Scanner;
public class ifDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//考试大于60分就是及格,小于60分就不及格
System.out.println("请输入成绩:");
int score = scanner.nextInt();
if(score>60){
System.out.println("及格");
}else{
System.out.println("不及格");
}
scanner.close();
}
}
三、if多选择结构
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
}else if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}else if(布尔表达式3){
//如果布尔表达式3的值为true执行代码
}else{
//如果以上布尔表达式都不为true执行代码
}
例子:
import java.util.Scanner;
public class ifDemo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int s = scanner.nextInt();
if(s==100){
System.out.println("S");
}else if(s>=90&&s<100){
System.out.println("A");
}else if(s>=80&&s<90){
System.out.println("B");
}else if(s>=60&&s<80){
System.out.println("C");
}else{
System.out.println("D");
}
scanner.close();
}
}
四、嵌套的if结构
if(布尔表达式1){
//如果布尔表达式1的值为true执行代码
if(布尔表达式2){
//如果布尔表达式2的值为true执行代码
}
}
例子:
import java.util.Scanner;
public class ifDemo04 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入成绩:");
int s = scanner.nextInt();
if(s>=0&&s<=100){
System.out.println("A");
if(s<90){
System.out.println("B");
if(s<80){
System.out.println("C");
if(s<70){
System.out.println("D");
if(s<60){
System.out.println("E");
}
}
}
}
}
scanner.close();
}
}
五、switch多选择结构
switch支持字符串String类型
也支持byte、short、int或者char。
case标签必须为字符串常量或字面量。
这里需要注意一下,如果case语句里没有break,那么就会造成case穿透,即从成功的case语句后的所有语句都会执行。
但是一般我们写程序的时候,基本上能不用break就不用,那么我们如何解决这个问题呢?
其实,Java中所有的选择语句都可以转换为if语句,因此如果必须要用break的时候,那就把switch选择结构转换为if语句就好了。
switch(expression){
case value:
//语句
break;//可选
case value:
//语句
break;//可选
//你可以有任意数量的case语句
default://可选
//语句
}
例子:
public static void main(String[] args) {
//case穿透:无break
char grade = 'F';
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("未知等级");
}
}