java switch 相同条件_java中的条件语句Switch的注意点(随记)

一、先了解switch语句的功能,和实用条件有哪些?

解:switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的,如果条件是1,那么case 0还是会跳过,但是从1开始往后都会被执行:2会、如果有3、4、5都会被执行,直到遇到break或者跑出Switch.

使用switch语句时候要注意一下两点:

1、其它的任何类型都不可以.如String,boolean,Object等switch...case会生成一个跳转表来指示实际的case分支的地址,而这个跳转表的索引号与switch变量的值是相等的。

2、使用java的switch语句要注意每个case后面有一个break;否则会发生switch穿透现象。假如你的代码里面一个break都没有,所以会依次向下执行,直到最后。如果default放到最后的话,里面没有返回语句,和你方法的声明不相符合,所以语法错误。

因此在使用switch时候最好:

1、在每一个case后面加上一个break;2、在最后加上default,这样更加安全和规范。

二、举个switch...例子:输入一个(范围在1至100之间的int型数字),然后于你所输入的数来判断,这个数年龄的人的生肖是什么?并且把满足属此生肖的数(范围在1至100之间的int型数字)全部输出。

package com.cn;

import java.util.Scanner;

public class Zuoye {

static void fun(int k){//定义一个fun的方法,并且实现算法

for(int i=1;i<=100;i++){

if(i%12 == k){

System.out.print(i+"  ");

}

}

System.out.println();

}

public static void main(String[]args){

Scanner s=new Scanner(System.in);//从控制台输入数值(信息:表示可以是字符串类型)

int a ;

while(true){

System.out.println("请输入数字:");

a=s.nextInt();//把控制台输入的值赋值给a

while(!(a>=1&&a<=100)){

System.out.println("无效年龄,重新输入:");

a = s.nextInt();

}

switch(a%12){

case 0:

System.out.print(a+"岁属蛇 , 属蛇的年龄有:");

break; //跳出整个循环

case 1:

System.out.print(a+"岁属 龙, 属龙的年龄有:");

break;

case 2:

System.out.print(a+"岁属兔 , 属兔的年龄有:");

fun(a%12);

break;

case 3:

System.out.print(a+"岁属虎 , 属虎的年龄有:");

break;

case 4:

System.out.print(a+"岁属牛 , 属牛的年龄有:");

break;

case 5:

System.out.print(a+"岁属鼠 , 属鼠的年龄有:");

break;

case 6:

System.out.print(a+"岁属 猪, 属猪的年龄有:");

break;

case 7:

System.out.print(a+"岁属 狗, 属狗的年龄有:");

break;

case 8:

System.out.print(a+"岁属鸡 , 属鸡的年龄有:");

break;

case 9:

System.out.print(a+"岁属猴 , 属猴的年龄有:");

break;

case 10:

System.out.print(a+"岁属羊, 属羊的年龄有:");

break;

case 11:

System.out.print(a+"岁属马 , 属马的年龄有:");

break;

}

fun(a%12);//直接调用fun方法,输出满足所对应生肖全部值,并且降低了代码的冗余

} } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值