Java基础第4讲:逻辑控制语句

1、条件控制语句

       在Java中条件控制是通过if语句或switch语句实现的。

1.1、if-else语句的三种形式

类型

表达式

单分支

if

双分支

if…else…

多分支

If…eliseif…elseif…else

1.2、if

1.2.1、if结构

if(表达式){

    语句

}

1.2.2、示例

int x=4;

if(x>0){

   System.out.println("x大于0");

}

运行结果:

1.3、if-else

1.3.1、if-else结构

if(表达式){

    语句1

}else{

    语句2

}

1.3.2、示例

int x=4;

if(x>0){

   System.out.println("x大于0");

}else{

   System.out.println("x小于等于0");

}

运行结果:

1.3.3、面试题:从键盘输入两个整数a,b,如果a>b,输出a大于b,否则输出a小于等于b

Scanner s = new Scanner(System.in);

System.out.println("请输入a的值");

int a = s.nextInt();

System.out.println("请输入b的值");

int b = s.nextInt();

if(a>b){

   System.out.println("a大于b");

}else{

   System.out.println("a小于b");

}

运行结果:

1.4、if-else if-else

1.4.1、if-else if-else结构

if(表达式1){

语句1

}else if(表达式2){

语句2

}else if(表达式3){

语句3

}

else if(表达式n){

 语句n

}else{

语句m

}

1.4.2、示例

int x=5;

if(x<0){

   System.out.println("x小于0");

}else if(x>=0 && x<5){

   System.out.println("x大于等于0或小于5");

}else if(x>5){

   System.out.println("x大于5");

}else{

   System.out.println("x等于5");

}

运行结果:

1.4.3、面试题:从键盘输入一个整数x,根据x的情况,输出相应的显示信息(输出x大于0或x小于0或x等于0)

Scanner s = new Scanner(System.in);

System.out.println("请输入x的值");

int x = s.nextInt();

if(x<0){

   System.out.println("x小于0");

}else if(x>0){

   System.out.println("x大于0");

}else{

   System.out.println("x等于0");

}

运行结果:

1.4.4、面试题:输入一个年份,判断该年份是否为闰年(闰年的条件是:1、能被4整除,但是不能被100整除;2、能被400整除)

Scanner s = new Scanner(System.in);

System.out.println("请输入月份");

int year = s.nextInt();

if((year%4==0 && year%100!=0) || year%400==0){

   System.out.println("是闰年");

}else{

   System.out.println("不是闰年");

}

运行结果:

1.5、switch分支选择语句

       switch语句和if-else if语句相似,但是switch要比if-else if语句要优秀,他是根据表达式的值来判断要执行的语句

1.5.1、switch语句结构

switch(表达式){

  case  常量表达式1:

       语句1

           break;

  case  常量表达式2:

       语句2

           break;

  case 常量表达式3:

       语句3

           break;

  case 常量表达式n:

       语句n

           break;

  default: 语句n+1

}

1.5.2、示例

Scanner s = new Scanner(System.in);

System.out.println("请输入1-2的整数");

int x=s.nextInt();

switch(x){

case 1:

   System.out.println("输入的是1");

   break;

case 2:

   System.out.println("输入的是2");

   break;

default:

   System.out.println("不在范围内");

}

运行结果:

1.5.3、面试题:按照下列要求编写程序(用户输入1、2、3、4、其他数字,屏幕显示111、222、333、444、其他数字)

Scanner s = new Scanner(System.in);

System.out.println("请输入1-4的整数");

int x=s.nextInt();

switch(x){

case 1:

   System.out.println(111);

   break;

case 2:

   System.out.println(222);

   break;

case 3:

   System.out.println(333);

   break;

case 4:

   System.out.println(444);

   break;

default:

   System.out.println("其他数字");

}

运行结果:

1.5.4、使用switch语句的注意事项

  • 用作判断的表达式必须是符合byte、short、int、char类型的表达式,而不能使用double、long、boolean,也不能使用字符串
  • switch表达式依次和每个case子句中的常量值相比较。如果匹配成功,则执行case子句中常量值后的语句,直到break语句为止
  • case子句中的常量值不能相同,否则会报错
  • default子句可以省略
  • 10
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值