java语言基础switch分支结构测试

分支结构知识点:基于条件执行的语句

一) if结构: 1条路
        1)语法:
                if(boolean){
                        语句块---------基于条件执行的
                }
        2)执行过程:
                判断boolean的值:
        若为true,则执行语句块
        若为false,则if结束
二)if…else结构: 2条路
        1)语法:
                if(boolean){
                        语句块1
                }else{
                        语句块2
                }
        2)执行过程:
                判断boolean的值:
                若为true,则执行语句块1(整个结束)
                若为false,则执行语句块2(整个结束)
        3)说明: 语句块1和语句块2,必走其中之一
三)if…else if结构: 多条路
        1)语法:
        if(boolean-1){
                语句块1
        }else if(boolean-2){
                语句块2
        }else if(boolean-3){
                语句块3
        }else{
                语句块4
        }
2)执行过程:
        判断boolean-1,若为true则执行语句块1(结束),若为false则
        再判断boolean-2,若为true则执行语句块2(结束),若为false则
        再判断boolean-3,若为true则执行语句块3(结束),若为false则执行语句块4(结束)
3)说明:
        语句块1/2/3/4,只执行其中之一

四)switch…case结构: 多条路
        int num = 4;
        switch(num) { //byte,short,int,char,String(JDK1.7开始支持)
        case 1: //if(num==1)
        System.out.println(111);
        break;
case 2: //以此为入口
        System.out.println(222);
        break; //跳出switch
case 3:
        System.out.println(333);
        break;
        default: //所有case都未匹配时才执行
        System.out.println(666);
优点:效率高、结构清晰
缺点:整数、相等
break:跳出switch
default:(相当于else)

 

import java.util.Scanner;

public class CommandBySwitch {

    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        System.out.println("您可查询以下业务1话费2流量3余额");
        int i;double o;
         
        for( i=6;i>1;i--){
        int s=scan.nextInt();
        switch(s){
        case 1:
            System.out.println("您的话费为(按1充值)(按2查看优惠)");
            int k=scan.nextInt();
            if(k==1){
                System.out.println("您要充值的金额为(按*返回)");
                 double p=scan.nextDouble();
                 //
                 if(p<50){
                     System.out.println("优惠后您需要缴费"+p);
                     
                 }else if(p<100){
                     o=p*0.9; 
                    // o=p*0.9    ;                                                    
                   System.out.println("优惠后您需要缴费"+o);//o                                 
                     System.out.println("已为您优惠"+(String.format("%.2f",(p-o))+"元"));         
                 }else {
                    p=p*0.8;
                     System.out.println("优惠后您需要缴费"+p);
                     System.out.println("已为您优惠"+(p/10*9)+"元");
                 }
                
            }else if(k==2){
                System.out.println("满50打9折扣,满100打八折");
            }else {
                System.out.println();
            }
            break;
        case 2:
            System.out.println("您的流量为");
            break;
        case 3:
            System.out.println("您的余额为");
            break;
            default:
                System.out.println("按键错误");
        }    if(i==2){
            System.out.println("");
        }else{
        
        System.out.println("您还可以继续查询的次数为"+(i-2)+"次");
        
        
        System.out.println("您要查询的业务为");
        }
        }
        System.out.println("感谢来电");
        
        }

}

 注:

switch 是否能作用在 byte 上,是否能作用在 long 上,是否 能作用在 String
Java 5 以前, switch(expr) 中, expr 只能是 byte short char int 。从 Java5 开始, Java 中引入了枚举类型, expr 也可以是 enum 类型,从 Java 7 开始, expr 还可以是字符串( String),但是长整型( long )在目前所有的版本中都是不可以的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值