第8部分 常用的数据结构:数组

数组是java中一种常见的数据结构,分为一维数组、二维数组以及多维数组等几种。

 

1、理解数组:

 

一组固定长度固定类型的数据的结合;

一维数组语法格式:类型[] 数组的名称 = new 类型[长度];

数组属于引用类型;

数组长度的获得:数组名字.length;

注意:=”左侧是变量的定义,右侧是值,然后将右侧的值赋给左侧的变量;

特点:

 

1)固定长度

 

2)相同数据类型

 

3)自动从0开始编号,最大编号是数组的长度减1

 

4)数组里存放的数据有默认值

 

byte [] (byte)0

short[] (short)0

int[] 0

long 0L

float 0.0f

double 0.0  

boolean[] false

引用类型 [] null 比如String[] null

如果在定义前已经确定数组里存放的内容,那可以简单定义为:

 

类型[] 数组的名字 = {1,2,3,4,5,6...};

类型[] 数组的名字 = new 类型[]{1,2,3,4,5,6...}

 

可以这样定义:

int[] abc;

abc = new int[]{1,2,3};

但这样会出错:

int[] abc;

abc = {1,2,3};

 

2、一维数组:

 

(1)一维数组的申明与内存分配:

数组类型[] 数组名;//申明一维数组(数组名中存的是地址)

数组名 = new 数组类型[长度]//分配内存给数组

 

生成随机数组:

 

package exercise2;

import java.util.Random;

 

public class Ex10_2 {

public static void main(String[] args){

Random rand = new Random();

int[] nums = null;

nums = new int[rand.nextInt(10)];

System.out.println("数组长度:" + nums.length);

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

nums[i] = rand.nextInt(100);

System.out.println("nums[" + i + "]=" + nums[i]);

}

}

}

 

求数组的最大值:

int[] nums = {345, 34 ,11, 1, 40, 2000, 22};

int max = nums[0];

for(int i = 1; i< nums.length; i++){

if(nums[i] > max){

max = nums[i];

}

}

System.out.println(max);

 

(2)赋值传递与引用传递:

赋值传递:将值复制一份给另一个变量,复制后彼此独立;

引用传递:复制的是地址,复制后两者指向同一个地址

 

3、二维数组:

 

 


int sum = 0;

int allSum = 0;

int[][] nums = {{30,35,26,32},{33,34,30,29}};

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

System.out.println("" + (i+1) + "的个人年度销售总额:");

for(int j = 0; j<nums[i].length; j++){

sum += nums[i][j];

allSum += nums[i][j];

}

System.out.println(sum);

sum = 0;

}

System.out.println("今年的总销售额:" + allSum);

4、多维数组:

 

数据类型[][][] 数组名 = new 数据类型[][][];

 

5、高手点拨

 

(1)java中的null使用:

 

null可以为引用类型赋值,作为初始值;比如数组和String类型;

只要是null类型的值带”.”都会报错;

 

(2)数组的下标:

 

数组的下标是从0开始到数组的长度-1

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值