---恢复内容开始---
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。