条件选择结构--学习 java 归纳(2)

java的语法格式,关键字,保留字,常量变量什么的,几乎是每种语言都要学习的。这里直接略过了,开始条件选择结构。
条件结构的语句要么用if,要么用switch。
if一般有三种格式:


switch是以下格式:


switch格式的特点:

其实以上说的很干瘪。什么都没说明白。。
用个实例应该会好点,猜拳游戏。
我想要和电脑比猜拳。我输入1,代表石头,2代表剪刀,3代表布。电脑随机输入1,2,3,。然后跟我输入的做比较。
首先要解决的是,我怎么输入1,2,3.

import java.util.Scanner;//引用Scanner这个库
Scanner in=new Scanner(System.in);//将输入的功能赋给in
int person=in.nextInt();//将输入功能定义为Int,并赋给person

然后就是电脑怎么随机输入?有两种方法:
第一种:

import java.util.Random;//引用随机库
Random random=new Random(3);//括号里面的10表示0~2的随机数

第二种:

int computer=(int)(Math.random()*3);//无需引用库,而且还支持多线程只是需要注意Math输出的随机数是double类型的,所以需要强制转换为int类型

解决了上面两个问题,就要开始对比person和computer,如果person和computer是一样的,那么就是平局。如果不一样,那也要分我赢了还是我输了。这时候可以用到if判断。

             if(person==computer){
            System.out.println("平局, ");
        }else if(person==1&&computer==3||person==2&&computer==1||person==3&&computer==2){
            System.out.println("您输了, ");

        }else {
            System.out.println("您赢了, ");
        }

这样算是搞定了功能部分。另外我还想知道电脑到底是出的是什么?石头,剪刀还是布。我可以这样写:

                String marks="拳头";
        switch(computer){
        case 1:
            marks="石头";
            break;
        case 2:
            marks="剪刀";
            break;
        case 3:
            marks="布";
            break;
        }

所以我最后的代码是:

    import java.util.Scanner;
    public class guess{
    public static void main(String[] args){
        Scanner in=new Scanner(System.in);
        System.out.println("---猜拳游戏---");
        System.out.println("1.石头,2.剪刀,3,布");
        int person=in.nextInt();
        int computer=(int)(Math.random()*3)+1;
        String marks="拳头";
        switch(computer){
        case 1:
            marks="石头";
            break;
        case 2:
            marks="剪刀";
            break;
        case 3:
            marks="布";
            break;
        }
        if(person==computer){
            System.out.println("平局, 电脑出的是:"+marks+"-_-");
        }else if(person==1&&computer==3||person==2&&computer==1||person==3&&computer==2){
            System.out.println("您输了, 电脑出的是:"+marks+"-^-");

        }else {
            System.out.println("您赢了, 电脑出的是:"+marks+"-*-");
        }
    }
}

运行后,就可以很happy的跟电脑玩猜拳了。而且还不用担心电脑耍诈。

posted @ 2015-04-30 15:17  BlueWang  阅读(169)  评论(0编辑  收藏  举报