java猜拳switch计分制,重捡Java(一)流程控制switch与猜拳游戏

有一年多没写过Java了,借一点儿契机把基础捡一捡,顺便记一下笔记

先放一个比较好的自学网站https://how2j.cn,有一定基础的可以直接跟着做,也不用看视频

首先switch是if else语句的另一种写法

举个栗子:判断星期

public class HelloWorld {

public static void main(String[] args) {

//如果使用if else

int day = 5;

if (day==1)

System.out.println("星期一");

else if (day==2)

System.out.println("星期二");

else if (day==3)

System.out.println("星期三");

else if (day==4)

System.out.println("星期四");

else if (day==5)

System.out.println("星期五");

else if (day==6)

System.out.println("星期六");

else if (day==7)

System.out.println("星期天");

else

System.out.println("这个是什么鬼?");

//如果使用switch

switch(day){

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("这个是什么鬼?");

}

}

}

可以看出,switch语句作为一整块,在处理3个以上分支条件的时候要比if else语句更美观。从原来上讲,因为switch是为case增加了一个数组来保存地址,所以可以直接跳转到分支位置,而if else语句则需要遍历,所以在面对大量分支条件的情况下switch效率更高。

注意switch是不能处理非常量的情况的,所以面对if(a>1&&a<2)这种情况就不要枉费心机了

一个例题

编写程序模拟,小明和小红猜拳,出拳的情况用随机数来处理,执行结果要求,显示小明和小红出拳的内容和比赛的结果,例如:

猜拳大会

小明是锤

小红是布

小红胜利

实现

package kiso_test;

import java.util.Random;

public class Janken {

private static Random rnd = new Random();

static int qMing;

static int qHong;

static String ming = "小明";

static String hong = "小红";

public static void main(String[] args) {

System.out.println("比赛开始");

qMing = chuquan(ming);

qHong = chuquan(hong);

String jgString ; //结果

if (qMing == qHong) {

jgString = "平局";

}else if ((qMing == 0 && qHong == 1)||(qMing == 1 && qHong == 2)||(qMing == 2 && qHong == 0)) {

jgString = ming+"获胜";

}

else {

jgString = hong+"获胜";

}

System.out.println(jgString);

}

private static int chuquan(String p) {

// TODO 出拳的函数

String quan;

int q = rnd.nextInt(3);// nextInt(n),生成一个整数a,使 0<=a

try {

switch (q) {

case 0:

quan = "剪";

break;

case 1:

quan = "布";

break;

case 2:

quan = "锤";

break;

default:

quan = "";

break;

}

System.out.println(p + "出" + quan);

} catch (Exception e) {

// TODO: handle exception

System.err.println("switch出错" + e);

}

return q;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值