一. if
根据boolean表达式进行判断
1)if结构
if(boolean表达式){
...
}
2)if-else
if(boolean表达式){
...
}else{
...
}
3)if-else if-else结构
if(boolean表达式){
...
}
else if{
...
}else{
...
}
新建类IfDemo.java
//if语句的三种格式
class IfDemo
{
public static void main(String[] args)
{
//第一种格式
boolean isMan = true;
if(isMan){
System.out.println("去男洗手间");
isMan =false;
}
if(!isMan){
System.out.println("去女洗手间");
}
//第二种格式
System.out.println("--------------");
if(!isMan){
System.out.println("去女洗手间");
}else{
System.out.println("去男洗手间");
}
//判断两个数的大小
int X = 3;
int Y = 5;
if(X > Y){
System.out.println("X大于Y");
}else{
System.out.println("X小于等于Y");
}
//分页,一共47条数据,每页10条
int totalCount = 47;
int pageSize = 10;
int totalPage;
//三元运算符
totalPage = totalCount % 10 == 0 ? totalCount / pageSize : totalCount / pageSize + 1;
System.out.println("totalPage=" + totalPage);
//if判断
if(totalCount % pageSize == 0){
totalPage = totalCount / pageSize;
}else{
totalPage = totalCount / pageSize +1;
}
System.out.println("totalPage=" + totalPage);
//第三种格式,互相排斥
System.out.println("---------");
//若周一,输出周一
int weekday = 4;
if(weekday == 1){
System.out.println("周一");
}else if(weekday == 2){
System.out.println("周二");
}else if(weekday == 3){
System.out.println("周三");
}else if(weekday == 4){
System.out.println("周四");
weekday = 5;
}else if(weekday == 5){
System.out.println("周五");
}else if(weekday == 6){
System.out.println("周六");
}else if(weekday == 7){
System.out.println("周七");
}else{
System.out.println("没有这个日期");
}
}
}
}
二. If的案例,成绩等级划分
新建ScoreLevelDemo.java
//成绩分等级Demo
class ScoreLevelDemo
{
public static void main(String[] args)
{
double score = -4;
if(score > 100 || score < 0){
System.out.println("成绩错误,不在范围之内");
}else if (score >= 90){
System.out.println("成绩优秀");
}else if(score >= 80){
System.out.println("成绩良好");
}else if(score >= 70){
System.out.println("成绩中等");
}else{
System.out.println("请多多努力!");
}
}
}
三. switch
-
对整型表达式进行判断,
本质只支持int的表达式(byte,short,char自动升为int)。不支持long类型。 -
支持的引用类型以上四种基本类型的包装类,Byte,Short,Character,Integer以及,从Java5开始支持的枚举和Java7开始支持的String类。
-
case是为switch提供执行代码的入口,一旦进入某个入口,后面的case实际上就已经失去了
判断的意义。会一直执行下去,直到遇到break或return。所以case后面没有用{}来表示代码块。
新建SwitchDemo.java
//switch的使用
class SwitchDemo
{
public static void main(String[] args)
{
int weekDay=2;
switch(weekDay){
case 1: System.out.println("周一"); break;
case 2: System.out.println("周二"); break;
case 3: System.out.println("周三"); break;
case 4: System.out.println("周四"); break;
case 5: System.out.println("周五"); break;
case 6: System.out.println("周六"); break;
case 7: System.out.println("周日"); break;
default: System.out.println("没有这个日期"); break;
}
}
}
switch的穿透
新建SwitchDemo.java
//Switch注意Demo
class SwitchDemo1
{
public static void main(String[] args)
{
int weekday = 4;
switch (weekday)
{
case 1 :
case 2 :
case 3 :
case 4 :
case 5 : System.out.println("这是工作日。"); break;
case 6 :
case 7 : System.out.println("这是休息日。"); break;
default : System.out.println("亲,没有这一天。"); break;
}
}
}
四. if和switch的使用选择
-
if:判断条件是boolean类型。
switch:判断条件是整数表达式int类型的值。 -
如果是对整数表达式的判断,首选switch。
其他类型的判断则使用if。