---恢复内容开始---

4. 数组对象

4.1 数组的创建

  a, 数组对象

  在Java语言中,数组对象可以表示一组数字。

   int[]  arr  =  new int[30];(new可以表示为创建的意思)

    创建一个数组对象(Array Object),长度为30,存储的数据类型为int

  变量名称:  arr

  变量类型:   int[ ](即数组对象)

 

  b,数组元素的访问

  第i个元素用arr[i]表示,i为索引或下标,下标从0开始

 

  c, 数组的遍历

  从头到尾,挨个访问

 

  d, 数组的初始化

  • new 出来 : int [ ] arr = new int[ 20]   默认初始化值为0
  • 指定初始值

  int[ ]  arr  =  {1,2,3,4};

  即用一个大括号将所有值列出来,每个值以逗号分隔。

  

  e,数组的长度

    数组名.length

  for (int i = 0; i<arr.length ; i++)

  {

  }

 

4.2 对象与引用

  a,

  int[ ]  a = new int[4];

  等号右侧:创建了一个数组对象

  等号左侧: 变量a称为该对象的引用

  称作: 变量a指向了一个对象或a是对象的名字。

int[] a = new int[4];
int[] b = a;

结果: a 指向了一个对象

    b 和a指向了相同的对象(a b都可以操作目标对象,相当于一个物体有两个名字,这里将名字称作引用)

  b,空对象 null

  即不指向任何对象

 

  c, 失去引用对象

        int[] a ={7,7,7} ;
        a = new int[4];
        a[0]=a[1]=a[2]=a[3]=6;
  • 创建了一个数组对象object1,内容为7,7,7
  • 创建了第二个数组对象object2,内容为0,0,0
  • 此时object2内容变为6,6,6,而object1无人引用(失去引用对象,会被java运行环境自动删除)

5. 类

5.1 新建类

  类,class: 用于描述一种数据类型

  a, 类和属性

package my;

public class Student
{
    public String id ;//学号
    public String name ;//姓名
    public boolean sex ;//性别
    public String cellphone ;//手机号
}
  • 类型名Student,表示自定义类型
  • 属性:即学生的属性包括  id name sex cellphone

  b, 创建对象

        Student s1 = new Student();
        s1.id = "20171001";
        s1.name = "嘉";
        s1.sex = true;
        s1.cellphone = "15129897963"; 
  •   new Student: 创建一个Student类型的对象(Student是类型  s1是对象)
  •         s1.id :对象的属性用点号来访问

6. 类的方法

6.1 类的方法

a, 方法

  一个类里,不仅可以添加属性,还可以添加方法

  类

  {

  属性:描述的是“我有什么”

  方法:描述的是:“我能做什么”

  }

  例程:

//创建的类Student 方法show
package my;

public class Student
{
    public String id ;//学号
    public String name ;//姓名
    public boolean sex ;//性别
    public String cellphone ;//手机号
    
    //用于报数
    public void show ()
    {
        for(int i=0;i<10;i++)
        {
            System.out.println("报数"+ (i+1));
        }
    }
}


//主程序,调用方法
package my;

public class HelloWorld
{

    public static void main(String[] args)
    {    
        Student s = new Student();
        s.show();
        
    }

}



运行结果:报数1
报数2
报数3
报数4
报数5
报数6
报数7
报数8
报数9
报数10

b,方法的参数

  • 语法格式:void show(类型+变量名,int a,double b)
  • //设定参数maxNumber,有主程序来传递报数的个数
    package my;
    
    public class Student
    {
        public String id ;//学号
        public String name ;//姓名
        public boolean sex ;//性别
        public String cellphone ;//手机号
        
        //用于报数
        public void show (int maxNumber)
        {
            for(int i=0;i<maxNumber;i++)
            {
                System.out.println("报数"+ (i+1));
            }
        }
    }
    
    
    
    //主程序
    
    package my;
    
    public class HelloWorld
    {
    
        public static void main(String[] args)
        {    
            Student s = new Student();
            s.show(3);
            
        }
    
    }
    
    
    运行结果:报数1
    报数2
    报数3

    c,方法的返回值(即做这件事的结果)

  • return 语句: 可以返回一个值,且退出程序。

  d,方法名的重载(overload)

  

package my;

public class Simple
{
    public void test()
    {}
    public void test(int a,int b)
    {}
    public void test(int a,String b)
    {}
}

调用的时候,编译器会根据参数列表来匹配不同的方法。

7,当前对象

  a,当前对象:this

//求像素,
package my;

public class Screen
{
    public int width;
    public int height;
    
    public int pixel()
    {
        int result = this.width*this.height;
        return result;
    }
}

//主程序
package my;

public class HelloWorld
{

    public static void main(String[] args)
    {    
        Screen s = new Screen();
        
        s.width = 1366;
        s.height = 768;
        int p = s.pixel();
        System.out.println("像素"+ p);
        
    }

}


运行结果:像素1049088

要访问自己的属性和方法时,可以用this来访问。

b,省略与重名

当与方法内变量重名时,不能省略this。 

posted on 2019-02-22 11:37  落无尘  阅读(140)  评论(0编辑  收藏  举报