1 选择结构基本概念
什么事选择结构?
指的是选择某一条件后,决定下一步所要做的事情。
为什么需要选择结构
因为程序是为了解决生活中的问题。而我们在生活中会遇到选择之类的问题。比如:过年回家,钱够的话选择飞机,钱不够了我们选择火车。所以对应的程序中也应该有一个可以描述选择结构。
现实中的选择结构都有哪些要素
选择的条件
2、选择某一条件后所执行的步骤。
2 基本 if语句
if的基本结构:
if(判断条件){
满足判断条件后执行的语句
}
C201_02_02 计算最大值
if…else…的基本结构是
If(判断语句){
满足判断条件执行的语句
}else{
不满足判断条件需要执行的语句。
}
代码:
public static void main(String[] args) {
/* 1、输入两个数
2、接受输入
3、比较两个数的大小关系
4、输出最大的数*/
System.out.println("请输入一个整数:");
Scanner n = new Scanner(System.in);
int num1 = n.nextInt();
int num2 = n.nextInt();
if(num1>num2){
System.out.printf("最大值是:%d",num1);
}else{
System.out.printf("最大值是:%d",num2);
}
}
}
输出结果:
C201_02_03 计算三角形改进
C201_02_04 判断水仙花数
public class Main {
public static void main(String[] args) {
/*1、输入一个数
2、接收输入
3、判断这个数是否是三位数
4、求出这个三位数的各个位数
5、判断各个位数的立方和是等于这个数本身
5、输出结果
* */
System.out.println("请输入一个数字:");
Scanner a = new Scanner(System.in);
int num = a.nextInt();
if(num>99 && num<1000){
int x = num/100;
int y =num%100/10;
int z = num%10;
if(x * x * x + y * y * y + z * z * z == num){
System.out.println(num+"为水仙花数");
}else{
System.out.println(num+"不是水仙花数");
}
}else{
System.out.println(num+"不是水仙花数");
}
}
}
结果:
3 if语句嵌套
if嵌套用于选择结构中有多个分支的情况,而基本的if语句只能解决两个分支的情况
C201_02_05 判断整数符号
多分支的另一种结构
Else if的语句结构:
If(){
}else If(){
}else If(){
}
else if形式的特点:
else if
C201_02_06 根据血红蛋白计算输血量
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
/*
*1、输入血红蛋白含量
* 2、接收输入
* 3、判断性别
* 4、判断血红蛋白含量
* 5、判断输血量
* 6、输出输血量
*/
System.out.println("请输入性别和血红蛋白量:");
Scanner x = new Scanner(System.in);
int sex = x.nextInt();
int dan = x.nextInt();
if (sex == 1) {//1代表男
if (dan > 10 && dan < 30) {
System.out.println("输血量为150ml");
} else if (dan > 30 && dan < 50) {
System.out.println("输血量为200ml");
} else if (dan > 50 && dan < 70) {
System.out.println("输血量为300ml");
}
}else{
if (dan > 8 && dan < 25) {
System.out.println("输血量为130ml");
} else if (dan > 25 && dan < 40) {
System.out.println("输血量为180ml");
} else if (dan > 40 && dan < 60) {
System.out.println("输血量为250ml");
}
}
}
}
输出结果:
C201_02_07判断整数符号_elseif改写
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("请输入一个整数:");
Scanner a = new Scanner(System.in);
int s = a.nextInt();
if(s>0){
System.out.println("这个数是正数");
}else if(s==0){
System.out.println("这个数是0");
}else if(s<0){
System.out.println("这个数是负数");
}
}
}
输出结果:
由上代码我们得出 else if 形式的特点:
这种写法更加简洁;
Else if语句的条件是并列的,而不是像if 的嵌套那样是层次关系;