1.三元运算符
三元运算符语法格式:
关系表达式 ?表达式1:表达式2;
解释:问号前面的位置是判断的条件,判断结果为boolean型,为true时调用表达式1,为false时调用表达式2。其逻辑为:如果条件表达式成立或者满足则执行表达式1,否则执行第二个。
int a = 10;int b = 20;
int c = a > b ? a : b;//判断a>b 是否为真,如果为真取a的值,如果为假,取b的值
关系表达式?表达式1:表达式2;关系表达式--boolean类型
10>1?表达式1:表达式2
10>1===true==执行表达式1
10>20===false==表达式2
int a =10;
int b = 20;
// 三元表达式 a > b= 10 > 20 false b将b的结果赋值给c
int c = a >b ? a:b;
// 关系表达式 ? 表达式1 : 表达式2;
// 判断 a > b 是否为true 如果为true 则返回表达式1 false 返回表达式2
System.out.println(c); //20
1.1三元运算符(表达式案例1)
需求:动物园里有两只老虎,已知两只老虎的体重分别为180kg、200kg,请用程序实现判断两只老虎的体重是否相同。
1.1.1三元运算符(表达式案例2)
在我们班级中有三名同学,已知他们的身高分别为150cm、210cm、165cm,请用程序实现获取这三名同学的最高身高。
int height1 = 110;
int height2 = 120;
int height3 = 150;
int tempHeight = height1 > height2 ? height1:height2;
int max_height = tempHeight > height3 ? tempHeight : height3;
System.out.println(max_height);
1.2 Scanner使用基本步骤
①导包import java.util.Scanner;
导包的动作必须出现在定义的类上面
②创建对象
Scanner sc=new Scanner (System.in);src是为变量的名称可以发生变化其他的
都不允许发生变化
③接受数据
int i=sc.nextInt();//接受一个int数据
i是为变量的名称可以发生变化其他的都不允许发生变
1.3 Scanner类实现求两个数之和
1.4判断语句1-if写法1
格式:
if(关系表达式){
语句体;
}
1.首先判断关系表达式看其结果是true还是false
2.如果是true就执行语句体
3.如果是false就不执行语句体
1.4.1判断语句1-if写法1案例
需求:
1.判断a和b的值是否相等,如果相等,就控制台输出a等于b
2.判断a和b的值是否相等,如果不相等,就控制台输出a不等于b
int a = 10;
int b = 20;
if (a==b){ //false
System.out.println("a 等于 b");
}
if(a!=b){ //true
System.out.println("a 不等于 b");
1.5判断语句1- if写法2
if(关系表达式){
语句体1;
}else {
语句体2;
}
1.首先判断关系表达式看其结果是true还是false
2.如果是true就执行语句体1;
3.如果是false就执行语句体2。
int a = 10;
int b = 20;
if (a>b){
System.out.println("a 小于 b");
}
else {
System.out.println("a 大于 b");
}
1.6判断语句1-if案例奇偶数
需求:任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶然数
分析思路:
1.键盘录入数据
2.判断该录入的键盘数是奇数还是偶数3.如何判断一个数是偶数还是奇数?
number%2如果余数为0则是为偶数如果有余数则是为奇数
//需求:任意给出一个整数,请用程序实现判断该整数是奇数还是偶数,
//并在控制台输出该整数是奇数还是偶然数
//创建打印机
Scanner sc = new Scanner(System.in);
//提示语
System.out.print("请输入一个整数类型的数字: ");
int a = sc.nextInt();
if (a%2 == 0){ // 判断余数 整除 2 是不是等于0 == true
System.out.print(a+" 是一个偶数");
}
else{
System.out.print(a+" 是一个奇数");
}
1.7 判断语句3- if…else if…else
if(判断条件1){执行语句1;
}else if(判断条件2) {执行语句2;
}
}else if (判断条件n) {执行语句n;
}else {
执行语句n+1;}
首先判断关系表达式1看其结果是true还是false如果是true就执行语句体1
如果是false就继续判断关系表达式2看其结果是true还是false如果是true就执行语句体2
如果是false就继续判断关系表达式…看其结果是true还是false
如果没有任何关系表达式为true,就执行语句体n+1。
1.7.1判断语句3- if…else if…else案例1
需求:键盘录入一个星期数{1,2,3,4,5,6,7}输出对应的星期一…星期日
//需求:键盘录入一个星期数{1,2,3,4,5,6,7}输出对应的星期一....星期日
Scanner sc = new Scanner(System.in);
System.out.print("请输入星期数1-7: ");
int day = sc.nextInt();
if(day == 1){
System.out.println("今天是星期一");
}
else if(day == 2){
System.out.println("今天是星期二");
}
else if(day == 3){
System.out.println("今天是星期三");
}
else if(day == 4){
System.out.println("今天是星期四");
}
else if(day == 5){
System.out.println("今天是星期五");
}
else if(day == 6){
System.out.println("今天是星期六");
}
else if(day == 7){
System.out.println("今天是星期七");
}
else{
System.out.println("你输入的星期数有毛病!");
}
1.8判断语句3- if…else if…else案例2
需求:现在需要根据学生的成绩评定出等级,90分以上的是优,80-90分的是良,70-79是中,60-69是及格.60分以下是不及格
/创建键盘录入数据
Scanner sc= new Scanner(System.in);System.out.println("请输入成绩:");/获取到键盘录入的数据
int result=sc.nextlnt();
if(result>90&&result<=100){
System.out.println("成绩为优秀");}
else if(result> =80&&result< =90)
{System.out.println("成绩为良");}
else if(result> =70&&result<80)
{System.out.println("成绩为中等");}
else if(result> =60&&result<70)
{System.out.println("成绩为及格");}
else {
System.out.println("成绩为不及格");