if选择结构分为:
①单选择结构;
if(比较表达式) {
语句体;
}
:执行流程:
* 先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行语句体;
* 如果是false,就不执行语句体;
import java.util.Scanner;
class demo{
public static void main(String[] args){
/*
需求获取,学生的年龄,如果大于18岁就可以上网
*/
Scanner sc = new Scanner(System.in); // 创建对象
System.out.println("请输入您的年龄");
int x = sc.nextInt();//获取数据
if (x > 18){
System.out.println("来网吧玩lol");
}
}
}
-----------------------------
请输入您的年龄
188
来网吧玩lol
②双选择结构;
if(比较表达式) {
语句体1;
}else {
语句体2;
}
:执行流程:
* 首先计算比较表达式的值,看其返回值是true还是false。
* 如果是true,就执行语句体1;
* 如果是false,就执行语句体2;
import java.util.Scanner;
class demo{
public static void main(String[] args){
/*
需求获取,学生的年龄,如果大于18岁就可以上网,否则就回家好好学习
*/
Scanner sc = new Scanner(System.in); // 创建对象
System.out.println("请输入您的年龄");
int x = sc.nextInt();//获取数据
if (x > 18){
System.out.println("来网吧玩lol");
}else {
System.out.println("回家好好学习");
}
}
}
--------------------------------------------------
请输入您的年龄
5
回家好好学习
③多选择结构。
if(比较表达式1) {
语句体1;
}else if(比较表达式2) {
语句体2;
}else if(比较表达式3) {
语句体3;
}
...
else {
语句体n+1;
}
* B:执行流程:
* 首先计算比较表达式1看其返回值是true还是false,
* 如果是true,就执行语句体1,if语句结束。
* 如果是false,接着计算比较表达式2看其返回值是true还是false,
* 如果是true,就执行语句体2,if语句结束。
* 如果是false,接着计算比较表达式3看其返回值是true还是false,
* 如果都是false,就执行语句体n+1。
* C:注意事项:最后一个else可以省略,但是建议不要省略,可以对范围外的错误值提示
import java.util.Scanner;
class demo{
public static void main(String[] args){
/*
需求获取,年龄,如果大于12岁小于80就要全款买票,如果小于等于12岁就半价,如果大于等于80岁就免票
*/
Scanner sc = new Scanner(System.in); // 创建对象
System.out.println("请输入您的年龄");
int x = sc.nextInt();//获取数据
if (x > 12 && x <80){
System.out.println("请买全票");
}else if(x <= 12 ) {
System.out.println("请买半票");
}else if (x >=80){
System.out.println("免费了");
}else {
System.out.println("输入错误");
}
}
}
---------------------------------------------
请输入您的年龄
154
免费了
if之嵌套使用
import java.util.Scanner;
class demo{
public static void main(String[] args){
/*
需求,输入三个int数,获取最大值
*/
Scanner sc = new Scanner(System.in); // 创建对象
System.out.println("请输入第一个数");
int x = sc.nextInt();//获取数据
System.out.println("请输入第二个数");
int y = sc.nextInt();//获取数据
System.out.println("请输入第三个数");
int z = sc.nextInt();//获取数据
if ( x > y){
if (x > z){
System.out.println("最大数是"+x);
}else {
System.out.println("最大数是" + z);
}
}else {
if (y > z ){
System.out.println("最大数是" + y);
}else {
System.out.println("最大数是" +z);
}
}
}
}
----------------------------------------------------
请输入第一个数
56
请输入第二个数
65
请输入第三个数
211
最大数是211