程序的三种结构:顺序,选择和循环结构。对于初学者来说,很容易学懂,但是也很不容易真正吃透。对于选择结构,我认为有五种选择结构,对于这五种基本结构,一定要做到可以清晰的认知,在自己的心里有明细的框架。
1、if(条件){
//代码
}
条件是boolean类型的值或者变量,也可以是关系表达式。当条件为true时,执行大括号内的代码,否则跳过大括号,直接执行之后的代码。
2、if(条件){
//代码
}else{
//代码
}
当条件为true,执行if大括号内的代码片段,否则执行else大括号内的代码片段。
3、if(条件){
//代码
}else if(条件){
//代码
}else if(条件){
//代码
}else if(条件){
//代码
}else{
//代码
}
这个结构是多重if选择,使用时要注意各个条件的范围。
4、switch结构
switch(表达式){
case 常量表达式1:
//代码
case 常量表达式2:
//代码
……
case 常量表达式n:
//代码
default:
//代码
}
注意switch的表达式只能是int类型或者char类型,由于case后面的是常量表达式,说明了switch只能是等值判断,并且各常量表达式的值不能相同。为了使程序更有意思,应注意break的使用。
和if的多重选择相比,会发现多重if不仅可以进行等值判断,还可以进行条件的区间判断。
5、三元表达式
表达式1 ? 表达式2 : 表达式3
表达式1为boolean类型,若为true,则返回表达式2;若为false,返回表达式3。
以下代码,可以帮助大家理解:
public class XuanZe{
public static void main(String[] args){
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("请输入一个数字:");
int num = input.nextInt();
System.out.println("您输入的数字是: "+num);
//第一种结构
/*
if(num <100){
System.out.println("这个数字小于100");
}
*/
//第二种选择结构
/*
if(num >= 60){
System.out.println("考试及格");
}else{
System.out.println("考试不及格");
}
*/
//第三种选择结构
/*
if(num > 90){
System.out.println("A");
}else if(num > 75){
System.out.println("B");
}else if(num > 60){
System.out.println("C");
}else{
System.out.println("D");
}
*/
//第四种选择结构,其中switch中的条件的值只能是int或者char两种之一
switch(num){
case 1:
System.out.println("A");
break;
case 2:
System.out.println("B");
break;
case 3:
System.out.println("C");
break;
default:
System.out.println("下次努力");
}
}
}
以下是关于三元式选择的例子:
//一种特殊的选择结构,本例是输出输入的两个数中的较大的数字
public class SanYuanShi{
public static void main(String[] args){
java.util.Scanner input = new java.util.Scanner(System.in);
System.out.println("请输出两个数字:");
int num1 = input.nextInt();
int num2 = input.nextInt();
System.out.println("输入的两个数字分别是:"+num1+" 和 "+num2);
int max = num1 > num2 ? num1 : num2;
System.out.println("两数中的较大者是:"+max);
}
}
以上就是五种选择结构,希望可以对每种结构都可以完全吃透,因为这些看似细小的知识点,在所有的程序中时无处不见。