Android学习Day8 数组学习以及类的定义

收获

掌握了数组的使用原理,以及类的使用。
今天的学习,总的来说,缺乏激情。毕竟学习总会出现厌倦的。话不多说,开始今天的学习过程

学习过程简述

  • Java数组的定义
  • Java数组的基本使用
  • 使用数组完成猜数字游
  • 类和对象的基本概念和使用
  • 成员方法的说明和使用

过程

一、Java数组的定义

同C语言一样,Java中的数组也是同种类型的不同数据的集合。比如,我们在之前写1-100的数会通过int 慢慢书写,然而,学过数组后可以直接通过for方法实现,比如

 for(int i=0;i<100;i++){
System.out.print( i+" ");
}

就能实现.
数组的定义一般分俩种,静态和动态。静态可以理解为固有的,没操作就已经赋值了的;动态可以理解为可变的。可以随程序输入改变的。
数组大小确定后就无法更改

数组在定义后,在内存中表现形式为
image.png

Java数组的基本使用

很简单,理解类和对象的区别就好,类是抽象的方法,对象是具体的事物。我们在编写的代码的过程中定义方法或者直接使用系统定义的方法,加上[] 与大小就能定义和使用数组

image.png

使用数组完成猜数字游戏

猜数字游戏在之前的C语言已经解4个释过它的逻辑了。我们要得到就是输入一个4个数,根据提示,得到4个A的评价。话不多说,开写

class guessNumber{
   public static void main(String[] args){
    int[] org=int[4];//定义一个数组保存原始数字
    int[] guess=int[4];//保存用户猜测的数字
    Random r=new Random();//定义随机数
     for(int i=0;i<4;i++){//获得四个随机数
          int temp=r.nextInt(10);
          org[i]=temp;
//判断数字是否存在
          boolean result=contains(org,temp);
          if(result){
          i--;//确保得到不同的数字
            }
          else{
           org[i]=temp;   
              }
      }
//排序
Arrays.sort(org);
System.out.println(Arrays.toString(org));
//定义一个扫描仪Scanner
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();//用户输入
            }
    //1.判断是否存在
        for(int i=0;i<4;i++){
          boolean result=  contains(guess,org[i]);
          if(result==true){
          //数字存在,判断是否位置相同
            int index=indexOf(guess,org[i]);
            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中除了八大基本类型以外,都是对象
    image.png
  • 类的定义
    image.png
  • 对象的创建


    image.png

    对象的创建在Java内存中的表现


    image.png

成员方法的声明和访问

image.png

image.png

image.png

结语

七夕要到了,对象还要不要??

你可能感兴趣的:(Android学习Day8 数组学习以及类的定义)