Day2
一、内存模型
二、分支语句
(1)if 语句
if(boolean|表达式)
{
语句块(业务逻辑)
}else{
语句块(业务逻辑)
}
例如: 输入一个数,判断它是否能被3、5、7整除,注意考虑同时整除的情况
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if(a%30||a%50||a%70){
System.out.println(“能被3、5、7整除”);
}else{
System.out.println(“不能被3、5、7整除”);
}
(2)if …else语句
if(boolean|表达式)
{
语句块(业务逻辑)
}else if(boolean|表达式)
{
语句块(业务逻辑)
}
…
else{
语句块(业务逻辑)
}
例如:打印某年某月有多少天。
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
int month = sc.nextInt();
if(month1||month3||month5||month7||month8||month10||month12)
{
System.out.println(“31天”);
}else if(month4||month6||month9||month11)
{
System.out.println(“30天”);
}else if(month2)
{
if((year%40&&year%100!=0)||year%400==0)
{
System.out.println(“29天”);
}else
{
System.out.println(“28天”);
}
}else{
System.out.println(“非法月份”);
} (
3)switch 条件语句
switch(变量){
case 值:
语句块(业务逻辑)
break;
case 值:
语句块(业务逻辑)
break;
case 值:
语句块(业务逻辑)
break;
…
default:
语句块(业务逻辑)
}
例如: 当前小学生的成绩单由以前的百分制改为优秀、良好、合格、不合格四个等级的等级制。编一程序完成分数的自动转换工作。转换规则如下:60分以下的为不合格;60到69分为合格;70到89分为良好;90分以上的为优秀。(提示:可以利用除法运算来使程序更简明,结合case语句)。
int score = 45;
int b = score/10;
switch(b){
case 9:
System.out.println(“优秀”);
break;
case 8:
case 7:
System.out.println(“良好”);
break;
case 6:
System.out.println(“合格”);
break;
default:
System.out.println(“不合格”);
break; }
结果
不合格
补充: 三目运算符
表达形式:表达式?值1:值2
若表达式成立,输出值1,否则输出值2.
例如:定义三个数,求出其中的最大值
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int d = a>b?a:b;
int max = d>c?d:c;
System.out.println(max);