您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
javase第二季学习笔记-this关键字
发布时间:2017-07-10 14:07:40编辑:雪饮阅读()
public class NewKeywordDemo
{
public static void main(String[] args){
Bear b1=new Bear("小白",'公');
}
}
class Bear
{
private String name;
private char sex;
private String beizhu;
public Bear(){
//调用构造方法,调用构造方法时必须是在第一行代码
this("熊大");
}
public Bear(String name){
//调用构造方法
this(name,'公');
}
public Bear(String name,char sex){
beizhu=name+"001";
this.name=name;
this.sex=sex;
//调用本类中的方法
this.bite();
}
public void bite(){
System.out.println("我是"+sex+"熊--"+name+"备注"+beizhu);
}
}
当类中一个方法的形参名称和类的全局中某个属性名称一样时。此时要给全局属性赋值就需要用“this.属性名”的方式来接收形参传递的参数。若不冲突则可以直接接收。
对于构造方法的调用则是直接以this为方法名然后传递不同的参数结构调用不同的构造方法。
调用构造方法必须是在构造方法体的第一行代码。另外在最后一个构造方法中程序要能够跳出所有构造方法,否则就会造成死循环的。
猜拳游戏示例:
import java.util.Scanner;
import java.util.Random;
public class NewKeywordDemo
{
public static void main(String[] args){
Game g=new Game();
g.begin();
}
}
/*
猜拳游戏实现思路
1、在控制台输出玩法提示
2、是否开始游戏(接收1表示开始,0表示退出)
3接收游戏的局数
4循环接收用户的出拳(1,剪刀,2石头,3布)
5系统要随机出拳
6进行比较记录胜者次数
7公布结果
*/
class Game
{
public void begin(){
System.out.println("*********");
System.out.println("*****猜拳游戏****");
System.out.println("游戏规则:(1剪刀,2石头,3布)");
System.out.println("开始游戏(1/0)");
Scanner input=new Scanner(System.in);
int result=input.nextInt();
if(result==1){
System.out.println("请输入猜拳次数:");
int num=input.nextInt();
play(num);
}
else{
System.out.println("bye bye");
}
}
//游戏核心方法
public void play(int num){
int userScore=0;//用户胜利局数
int pcScore=0;//电脑胜利的局数
Random r=new Random();
while(num>0){
//电脑出的拳
int x=r.nextInt(100)%3+1;
System.out.println("请输入你的选择(1,2,3):");
Scanner input=new Scanner(System.in);
int s=input.nextInt();
if(s==1){
switch(x){
case 1:
System.out.println("平局,你剪刀,电脑剪刀");
break;
case 2:
System.out.println("你输了,你剪刀,电脑石头");
pcScore++;
break;
case 3:
System.out.println("你赢了,你剪刀,电脑布");
userScore++;
break;
}
}
if(s==2){
switch(x){
case 1:
System.out.println("你赢了,你石头,电脑剪刀");
userScore++;
break;
case 2:
System.out.println("平局,你石头,电脑石头");
break;
case 3:
System.out.println("你输了,你石头,电脑布");
pcScore++;
break;
}
}
if(s==3){
switch(x){
case 1:
System.out.println("你输了,你布,电脑剪刀");
pcScore++;
break;
case 2:
System.out.println("你赢了,你布,电脑石头");
userScore++;
break;
case 3:
System.out.println("平局,你布,电脑布");
break;
}
}
num--;
}
System.out.println("******");
System.out.println("你胜:"+userScore);
System.out.println("电脑胜:"+pcScore);
if(userScore==pcScore){
System.out.println("平手");
}
else if(userScore>pcScore){
System.out.println("你赢");
}
else{
System.out.println("电脑赢");
}
}
}
关键字词:javase,this