1.if-else
三种结构:
1.第一种
if(条件表达式){
执行表达式
}
2.第二种(二选一)
if(条件表达式){
执行表达式1
}else{
执行表达式2
}
3.第三种(多选一)
if(条件表达式){
执行表达式1
}else if(条件表达式){
执行表达式2
}else if(条件表达式){{
执行表达式3
}
…
else{
执行表达式n
}
if-else 使用说明:
条件表达式必须是布尔表达式(关系表达式或逻辑表达式)、布尔变量;
语句块只有一条执行语句时,一对 {} 可以省略,但建议保留;
if-else 语句结构,根据需要可以嵌套使用;
当 if-else 结构是“多选一”时,最后的 else 是可选的,根据需要可以省略;
当多个条件是“互斥”关系时,条件判断语句及执行语句间顺序无所谓,有交集的关系,需要根据实际情况,考虑清楚应该将哪个结构声明放在上面。
当多个条件是“包含”关系时,“小上大下 / 子上父下”。
2.练习
import java.util.Scanner;
class IfTest{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.print("请输入您的成绩");
int score= sc.nextInt();
if(score==100){
System.out.print("奖励一俩");
}else if(score>80&&score<=99){
System.out.print("奖励一台");
}else if(score>60&&score<80){
System.out.print("奖励一个");
}else{
System.out.print("没有");
}
注意:}else if(80<score<=99)不能这样写
if(score=80)不能这样写,而是==
最后的else可选,不用写可以。
编写程序:由键盘输入三个整数分别存入变量num1,num2,num3,对他们进行排序(使用if-else if-else ,并且从小到大输出
import java.util.Scanner;
class IfTest2{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
System.out.print("输入第一个整数");
int num1= sc.nextInt();
System.out.print("输入第二个整数");
int num2= sc.nextInt();
System.out.print("输入第三个整数");
int num3= sc.nextInt();
if(num1>=num2){
if(num3>=num1){
System.out.print(num2+","+num1+","+num3);
}else if(num3<=num1){
System.out.print(num3+","+num2+","+num1);
}
else{
System.out.print(num2+","+num3+","+num1);
}
}else{
if(num1<=num2){
if(num3<=num1){
System.out.print(num3+","+num1+","+num2);
}
else if(num3>=num1){
System.out.print(num1+","+num2+","+num3);
}else{
System.out.print(num1+","+num3+","+num2);
}
}
}
}
}
我家的狗5岁了,5岁的狗相当于人类多大嘞,其实,狗的前两年每一年相当于人类的10.5岁,之后每增加一年就增加四岁,那么5岁的狗相当于人类多少年龄呢?应该是10.5+10.5+4+4+4
编写一个程序,获取用户输入的狗的年龄,通过程序显示其相当于人类的年龄,如果用户输入负数请显示一个提示信息。
class PracticeTest2{
public static void main(String[] args){
int dogAge=-1;
if(dogAge>=0&&dogAge<=2){
System.out.print("相当于人的年龄:"+dogAge*10.5);
} else if(dogAge>2){
System.out.print("相当于人的年龄:"+(2*10.5+(dogAge-2)*4));
}else{
System.out.print("狗狗未出生");
}
}
}
注意:
写dogAge应该考虑到
1)dogAge>=0&&dogAge<=2的情况
逻辑是狗的年龄乘10.5
2)dogAge>2的情况
2*10.5+(dogAge-2)*4
假设你想开发一个玩彩票的游戏,程序随机的产生一个两位数的彩票,提示用户输入一个两位数,然后按照下面规则判定用户是否能赢。
1)如果用户输入的数匹配彩票的实际顺序,奖金1000
2)如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金3000
3)如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1000
4)如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500
5)如果用户输入的数字没有匹配任何一个数字,则彩票作废
提示:使用(int)(Math.random()*90+10)产生随机数。
Math.random():[0:1)90–【0,90)+10–【10,100)–【10,99】
import java.util.Scanner;
//10-99 随机数 0.0-1.0 随机数(99-10+1)+10—》 【10.0–100.0)–》【10-99】
class PriacticeTest3{
public static void main(String[] args){
int number=(int)(Math.random()*90+10);
int numberShi=number/10;
int numberGe=number%10;
Scanner sc=new Scanner(System.in);
System.out.print("请输入一个两位数");
int finalResult= sc.nextInt();
int finalShi=finalResult/10;
int finalGe=finalResult%10;
if(number==finalResult){
System.out.print("10000");
}else if(numberShi==finalGe&&numberGe==finalShi){
System.out.print("3000");
} else if(numberShi==finalShi||numberGe==finalGe){
System.out.print("1000");
}else if(numberShi==finalGe&&numberGe==finalShi){
System.out.print("500");
}else{
System.out.print("500");
}
System.out.print("中奖号码是:"+number);
}
}
注意:考虑到获取随机数:math.Random() 考虑到两位数是用个位数和十位数来表示 两位随机数,【a,b】
(int)(math.Random()*(b-a+1)+a)
大家都知道,男大当婚,女大当嫁。那么女方家长要嫁女儿,当然要提出一定的条件:高:180cm以上,富:财富500百万 帅:是
如果这三个条件同时满足,则:嫁
如果三个条件有为真的情况,则:嫁吧
如果三个条件都不满足,则不嫁