本来打算每周归纳一次,无奈最近在学 selenium 和 Robotium。于是每周归纳就变成每月归纳了。
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 的跟电脑玩猜拳了。而且还不用担心电脑耍诈。
基本上一个月就学了这些,实在是有点少。。。
下次应该是循环,再下次是数组。哎,再说吧。。。
睡觉!