Java自学第4课:Java数组,类,对象

1 一维数组的创建和使用

2种创建形式:

(1)先声明,再用new分配内存

(2)声明的同时分配内存

2种幅值形式

(1)用new{}赋值

(2)用{}赋值

如果不使用的话,eclipse会提示变量未使用。

此外,对于整形数组,如果只初始化不幅值,则值为0

下面这个程序对一维数组的使用进行了验证。

package test1;

public class hello {

	public static void main(String[] args) {
		// 声明一维数组
		int a[];
		a = new int[5];

		// 数组的使用
		for(int i = 0; i<5; i++){
			System.out.println("a["+i+"]="+a[i]);
		}
		
		// 声明一维数组
		int b[] = new int[10];
		
		// 数组的使用
		for(int i = 0; i<10; i++){
			System.out.println("b["+i+"]="+b[i]);
		}
		
		// 初始化
		int c[] = new int[]{1,2,3};
		
		// 数组的使用
		for(int i = 0; i<3; i++){
			System.out.println("c["+i+"]="+c[i]);
		}
		
		// 初始化
		int d[] = {4,5,6,7,8};
		
		// 数组的使用
		for(int i = 0; i<5; i++){
			System.out.println("d["+i+"]="+d[i]);
		}
		
	}

}

运行结果为

a[0]=0
a[1]=0
a[2]=0
a[3]=0
a[4]=0
b[0]=0
b[1]=0
b[2]=0
b[3]=0
b[4]=0
b[5]=0
b[6]=0
b[7]=0
b[8]=0
b[9]=0
c[0]=1
c[1]=2
c[2]=3
d[0]=4
d[1]=5
d[2]=6
d[3]=7
d[4]=8

可以直接对元素进行赋值,比如

d[2] = 100;

2 二维数组的创建和使用

二维数组的声明也是靠new来分配内存。但要注意每一维可以分配不同的长度。如:

在实际使用时,还是最好声明同时做好初始化。

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

3 遍历数组

最常见的遍历就是用for循环来实现。也可以用foreach实现。

数组的长度可以用length属性获取。

4 元素操作

fill方法可以填充数组元素,这个方法可以用作初始化。

从这里开始,比如在头上包含import java.util.*;

5 排序

sort方法可用于排序,这个应用的地方很多。

此外,书上还介绍了常用的排序算法,包括:

  • 冒泡排序
  • 选择排序
  • 反转排序

实现这些排序算法,是基本功。

6 数组复制

copyOf和copyOfRange用于拷贝数组。疑问,复制后不是指向同一个数组吧?会不会联动。可以测试一下。

7 数组查询

二分法搜索方法为binarySearch,使用前必须先排序。

而且,可以对字符串数组进行查询。很厉害吧。

------------------------------------------------------------------------

下面开始学类和对象

8 类和对象

任务:定义book类。

先了解几个概念:成员变量;成员方法;权限修饰符;局部变量;this关键字;构造方法(就是构造函数);静态变量;静态常量;静态方法;主方法。

主方法是静态的,所以只能调用静态方法。

对象的创建;

访问对象的属性和行为;

对象的引用;

Book book;

对象的比较 == 和 equals 有本质区别。==是看地址, equals是看对象内容。

对象的销毁:Java有完整的销毁机制,不需要手动销毁。

垃圾回收机制只能收回new出来的对象,对于不是new出来的,可用finalize()

此外还有system.gc强制启动垃圾回收机制。

9 包装类

Java不能定义基本类型对象,因此提供了包装类来解决这个问题。 

(1)Integer类

(2)Boolean类

(3)Byte类

(4)Character类

(5)Double类

(6)Number类

10 数字处理类

数字格式化,基本数学运算方法,随机数,都的用到数字处理类。

(1)数字格式化

(2)数学运算,Math类,三角函数,角度转换,指对数函数,取整,极值,绝对值

(3)随机数,0-1的随机数

(4)大数字运算,长小数运算,都有对应的类。

这些都是比较重要的基本知识,等用到了再回头看。

你可能感兴趣的:(Java,开发语言,java)