JAVA选择结构

10 篇文章 0 订阅
8 篇文章 0 订阅

JAVA选择结构

JAVA选择结构有if语句和switch语句,语法结构同C语言.语法结构如下:

if语句结构
if(判断条件){
代码块1;
}else{
代码块2;
}

如果条件判断为真,执行代码块1,否则执行代码块2.这是一个最简单的if语句,除此之外if语句还能进行极连和嵌套.例如:

int num1=1,num2=2;
if(num1>num2){
    System.out.printf("num1大于num2");
}else if(num1==num2){
    System.out.printf("num1等于num2");
}else {
    System.out.printf("num1大于num2");
}//用else if进行if语句的极连
int fist1=0,fist2=0,i=0;//自己的出拳,电脑的出拳
do{
    fist2=(int)(Math.random()*10%3)+1;//电脑的出拳1到3
    Scanner input= new Scanner(System.in);
    System.out.printf("猜拳游戏\n");
    System.out.printf("你的的出拳:\n1,剪刀\n2,石头\n3,布\n请选择:");
    fist1=input.nextInt();
    //打印双方出拳
    if(fist1==1)System.out.printf("你的出拳是:剪刀\n");
    if(fist1==2)System.out.printf("你的出拳是:石头\n");
    if(fist1==3)System.out.printf("你的出拳是:布\n");
    if(fist2==1)System.out.printf("电脑的出拳是:剪刀\n");
    if(fist2==2)System.out.printf("电脑的出拳是:石头\n");
    if(fist2==3)System.out.printf("电脑的出拳是:布\n");
    //判断
    if(fist1==1){//剪刀
        if (fist2==1){//剪刀

            System.out.printf("平局\n");
        }else if(fist2==2){//石头

            System.out.printf("你输了!\n");
        }else {//布
            System.out.printf("你赢了!\n");
        }
    }else if(fist1==2){//石头
        if (fist2==1){//剪刀
            System.out.printf("你输了!\n");
        }else if(fist2==2){//石头
            System.out.printf("平局\n");
        }else {//布
            System.out.printf("你输了!\n");
        }
    }else if(fist1==3){//布
        if (fist2==1){//剪刀
            System.out.printf("你输了!\n");
        }else if(fist2==2){//石头
            System.out.printf("你输了!\n");
        }else {//布
            System.out.printf("平局\n");
        }
    }else{
        System.out.printf("我不明白你要做什么!\n");
    }
//是否继续
    System.out.printf("是否继续(1是,2否):");
    do{
        i=input.nextInt();
        if(i!=1&&i!=2){
            System.out.printf("输入非法,请重新输入:");
        }
    }while(i!=1&&i!=2);
}while(i==1);

用if语句的极连和嵌套完成的一个猜拳小游戏

switch语句的结构

switch语句也是一个选择结构,于if语句不同的是switch主要用于点对点的条件判断,而if语句除了能进行点对点的条件判断更多的是进行区间范围判断如:”if(num1>=100 && num1<200)System.out.printf(“num1的值的取值范围为[100,200)”);”,所以说switch语句的功能是不如if语句强大的,不过在特定情况下switch比if语句更加简洁和美观.
switch语句的结构如下:

switch(变量){
case 对比值1:
语句块1;
break;
case 对比值2:
语句块2;
break;
...//任意多个case语句
default:
语句块n;
break;
}
//将变量的值从第一个case开始,依次的与对比值进行比较,如果相等/相同则执行对应的语句块,直到遇到break跳出为止,每个case中的break是可以省略的,如果执行完的语句块末尾没有break语句进行跳出,那么程序会继续进行下一个case判断.default语句为默认语句,不需要条件匹配就能执行,一般用于前面所有的case语句都被排除的情况.

例子:

int month=3;
switch(month){
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
    System.out.println("这个月有31天");
    break;
case 2:
    System.out.println("如果是闰年那么这个月有29天,否则为28天");
    break;
case 4:
case 6:
case 9:
case 11:
    System.out.println("这个月有30天");
    break;
default:
    System.out.println("一年中没有这个月");
    break;
}
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值