1.选择结构语句if
格式1:
if(表达式){
语句;
}
格式2:
if(表达式){
语句1;
}else{
语句2;
}
格式3:
if(表达式1){
语句1;
}else if(表达式2){
语句2;
...
...
}else{
语句n+1 ;
}
需求:
键盘录入学生成绩,判断学生的成绩等级!
90-100 优秀
80-90 良好
70-80 一般
60-70 及格
60以下 不及格
import java.util.Scanner ;
class IfDemo3{
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in) ;
//提示并录入数据
System.out.println("请你输入学生成绩:") ;
int scroe = sc.nextInt() ;
//使用if格式3
/*
90-100 优秀
80-90 良好
70-80 一般
60-70 及格
60以下 不及格
*/
/*
if(scroe >=90 && scroe <=100){
System.out.println("成绩优秀") ;
}else if(scroe>=80 && scroe<90){
System.out.println("成绩良好") ;
}else if(scroe>=70 && scroe<80){
System.out.println("成绩一般") ;
}else if(scroe>=60 && scroe<70){
System.out.println("成绩一般") ;
}else{
System.out.println("成绩不及格") ;
}
*/
//测试程序
//测试:错误数据 :非法数据---- "友情提示"
//测试:正确数据 : 85分
//测试:边界数据 :100,70,60....
//改动
if(scroe < 0 || scroe>100 ){
System.out.println("您当前输入的数据是不合法的!") ;
}else if(scroe >=90 && scroe <=100){
System.out.println("成绩优秀") ;
}else if(scroe>=80 && scroe<90){
System.out.println("成绩良好") ;
}else if(scroe>=70 && scroe<80){
System.out.println("成绩一般") ;
}else if(scroe>=60 && scroe<70){
System.out.println("成绩一般") ;
}else{
System.out.println("成绩不及格") ;
}
}
}
if格式的嵌套
if(表达式){
if(表达式1){
}else{
}
}else{
if(表达式2){
}else{
}
需求:
键盘录入三个数据,求最大值(int类型)
两种方案
1)使用三元运算符去完成
2)使用if格式2的嵌套
import java.util.Scanner ;
public class IfTest2 {
public static void main(String[] args){
//创建键盘录入对象
Scanner sc = new Scanner(System.in);
//提示并录入数据
System.out.println("请您输入第一个数据:") ;
int a = sc.nextInt() ;
System.out.println("请您输入第二个数据:") ;
int b = sc.nextInt() ;
System.out.println("请您输入第三个数据:") ;
int c = sc.nextInt() ;
//方案1:
//三元运输符 (表达式)? 执行true的结果:执行false的结果
//使用中间变量
int temp = (a> b) ? a: b ;
//定义结果变量
int max = (temp > c)? temp :c ;
System.out.println ("三个数据中的最大值是:"+max) ;
System.out.println("---------------------------------------") ;
//方式2:if格式2的嵌套 (不推荐的)
//定义变量max2
int max2 ;
if(a > b){
//使用a和c进行对比
if(a> c){
max2 = a ;
}else{
max2 = c ;
}
}else {
//b大
if(b > c){
max2 = b ;
}else{
max2 = c ;
}
}
System.out.println("三个数据中的最大值是:"+max2) ;
}
}
用三元运算符作比较相比于if格式嵌套更简洁