初学呐喊!——Java的数组使用

第五单元 如何使用数组


1.数组定义-创建-赋值-遍历
(1).数组声明
  • 数组声明的时候不能指定大小。
  • 示例如下:
        int score[];
        //推荐写以下的方法
		int [] salary;
	    //int score [4]; 错误

(2).数组创建
  • 数组在使用new创建的时候才可以指定数组的大小;数组元素有默认值,规则和类型属性一致。
  • 示例如下:
   int[] score = new int[5];

(3).数组赋值:有数组,等号左侧一定是空的
  • (1).静态初始化
  • 示例如下:
        int[] len = {2,3,45,56};
		int[] ken = new int[] {0,1,2,3,5};
		score[0] = 20;//一个各赋值
  • (2).动态初始化
  • 示例如下:
         for(int i = 0;i < score.length;i++) {
			score[i] =  i * 10;
		} 
  • 若数组已经声明或创建,用动态赋值,或者一个个赋值
(4).数组遍历
  • Java中数组不可以越界取值。
  • for循环示例如下:
	     //for循环取值
		for(int i = 0;i < score.length;i++) {
			System.out.println("score[" + i + "] = " + score[i]);
		}
  • for-each循环示例如下:
		
		//for-each循环  JDK1.5之后的新特性
		for(int x:score) {
			System.out.println(x);
		}

2.引用类型数组
  • 示例如下:
public class StudentArray {
	public static void main(String[] args) {
		Student[] stu = new Student[3];
		stu[0] = new Student("zs", 19);
		stu[1] = new Student("ls", 20);
		
		Student[] tyuststu = {new Student("zs", 19),new Student("ls", 20),new Student("ww", 21)};
		Student[] titstu = new Student[] {new Student("zs", 19),new Student("ls", 20),new Student("ww", 21)};
		
		for (int i = 0; i < titstu.length; i++) {
			System.out.println(titstu[i].name);
		}
 	}
}

class Student {
	String name;
	int age;
	
	public Student(String name,int age) {
		this.name = name;
		this.age = age;
	}
}

二、准确口述

  • 1.一个数组中能否存放不同类型的数据?
    • 答:不能。
  • 2.数组元素默认值规则?
    • 答:与类属性默认值规则一样
  • 3.数组能否越界取值?
    • 答:Java中数组不可以越界取值。
  • 4.一维数组在定义时能否指定长度?
    • 答:定义时不能指定长度,只有创建时才可以指定长度。
5.一维简单类型数组在内存中是如何存放的?
6.一维引用类型数组在内存中是如何存放的?
  • 以上两个问题等过后再解决。
  • 7.二维数组第1维的大小可以不指定吗?第2维呢?
    • (1)二维数组的第一维的大小必须指定,第二维可以不指定。
    • (2)二位数组遍历需要使用双重for循环。
    • (3)Java中的二维数组是通过一维数组叠加形成的。
  • 8.冒泡排序示例(从小到大) 示例如下:
         int temp = 0;
		for(int i = 0;i < before.length - 1;i++) {
			for(int j = 0;j < before.length - i - 1 ;j++) {
				if(before[j] < before[j + 1]) {
					temp = before[j];
					before[j] = before[j + 1];
					before[j + 1] = temp;
				}
			}
		}
  • 9.Arrays.sort():Java中自带的排序方法
    • (1).Java中的自带排序方法Arrays.sort() 从小到大。
    • (2).Arrays叫做数组实用类
    • (3).Java中的sort用的是哪种排序方法:DualPivotQuicksort 快速排序;与一般的快速排序不同。
    • 示例如下:
Arrays.sort(score);
for (int i = 0; i < score.length; i++) {
	System.out.println(score[i]);
}
  • 10.以下两个方案哪个更好?
    • 示例如下:
	A方案
	for(执行5次) {
        for(执行3次) {
            A方案
        }
	}
	B方案
	for(执行3次) {
        for(执行5次) {
            A方案
        }
	}
  • 答:B方案更好,内外层切换比较费时,B方案的切换次数较少,效率更高。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值