美文网首页
DAY8Java语言入门基础教学2+猜数字游戏的Java实现

DAY8Java语言入门基础教学2+猜数字游戏的Java实现

作者: 辞cccc | 来源:发表于2019-08-06 20:56 被阅读0次

Java入门教学2

输出

1. for循环

for(int i = 0; i < 10; i++){
System.out.print(count[i] + " ");
}

2. for each

for(int temp :count){
System.out.print(temp + " ");
}

foreach格式为
for(元素类型type 元素变量x : 遍历对象obj)
{
引用了x的java语句;
}
在java中的语法:for(type x : collection)
{
}//在collection中遍历每一个对象,对象是type类型的x

3. Arrays类中的toString

System.out.print(Arrays.toString(count));

什么是类

类是一种用户定义类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。

什么是对象

对象是类的一个实例。

对象与类的区别

  • 类 java里面除了八大数据类型之外 都是对象
    抽象的 不实际存在的 描述同一类事物(具有共同的属性和方法)
  • 对象 具体的 实际存在的 某一类的实例化
    对象都是new出来的,可以完成具体的事情,有内存空间
    同一个类可以有多个对象

定义一个类

类名首字母必须大写 通常情况下一个文件对应一个类
修饰符public static final private

修饰符 class 类名{
    这个类的一些属性:成员变量
    这个类的功能: 方法
}
  1. 存什么值:成员变量 通常定义在类的最上面
    String name;
    float score;
  2. 完成什么功能:方法

封装中三种访问权限的区别

封装:把私有的东西封装起来 不让外部使用,需要给外部使用,就暴露出来。

  • public:公共的 想用就用 内外部通用
  • private:私有的 只能自己使用 外部无法访问
  • protected:受保护的 外部(同一个包)可以访问

八大数据类型的初始值

kind default
char /u0000
int 0
long 0
short 0
float 0.0
double 0.0
byte 0
boolean false

PS:引用数据类型:对象类型的变量 = null

方法

方法的定义

public static final private

方法的调用

调用谁(哪个对象)的方法
在类里面可以直接调用自己的方法 在自己的类里面可以调用这个类里面的所有资源
在外部必须通过对象来调用

  1. 一个参数没有返回值
    public void test(String name){}
  2. 一个参数一个返回值
public int test(String name){
return 0;
}
  1. 多个参数一个返回值 参数用逗号隔开
public int test(String name,int age){
return 0;
}
  1. 可变参数
public int test(int ... counts){
    int sum;
    for (int i = 0 ; i < counts.length ; i++){
        sum +=counts[i];
    }
}

猜数字游戏

对比C语言

class GuessNumber{
    public static void main(String[] args){
        int[] org = new int[4];
        int[] guess = new int[4];

        Random random = new Random();
        for (int i = 0; i < 4; i++){
            int temp = random.nextInt(10);
            boolean result = contains(org, temp);

            if (result){
                i--;
            }else{
                org[i] = temp;
            }
        }
        Arrays.sort(org);  
        System.out.println(Arrays.toString(org));
        Scanner scanner = new Scanner(System.in);
        while(true){
            int countA = 0;
            int countB = 0;
            System.out.print("请输入猜测的数字:");
            for (int i = 0; i < 4;i++){
                guess[i] = scanner.nextInt();
            }
            for (int i = 0; i < 4; i++) {
                boolean result =contains(guess, org[i]);
                if(result == true){
                    int index = indexOf(guess, org[i]);
                    System.out.println("i:"+i+" index:"+index);
                    if (index == i){
                        countA++;
                    } else{
                        countB++;
                    }
                }
            }

            if (countA == 4){
                System.out.println("恭喜全对!");
                break;
            }else{
                System.out.println(countA+"A"+countB+"B");
            }
        }
    }
    public static int indexOf(int[] val, int obj){
        for (int i = 0; i < val.length; i++){
            if (val[i] == obj){
                return i;
            }
        }
        return -1;
    }
    public static boolean contains(int[] val, int obj){
        for (int i = 0; i < val.length; i++){
            if (val[i] == obj){
                return true;
            }
        }
        return false;
    }
}

体会

今天是进入Java学习的第二天,重新做了关于猜数字的demo,有一丢丢不知所云,尤其是关于栈和堆的地方。下来看了看head first java感觉要清晰一点了。关于方法的创建和使用还是不是很会。在此批评6711,中午瞎跑害我找她一中午没睡午觉下午困了一下午o(TヘTo)

相关文章

网友评论

      本文标题:DAY8Java语言入门基础教学2+猜数字游戏的Java实现

      本文链接:https://www.haomeiwen.com/subject/sgqgdctx.html