栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java中的数组

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java中的数组

一、什么是数组?

数组中都是相同数据类型的数据
数组中的数据具有顺序
数组属于复合数据类型

二、一维数组

1.定义一维数组
     格式:数据类型  数组名称[ ]; 或者  数据类型 [ ]数组名称
      数组定义与变量的定义相似,只需要"[ ]"与变量区分,因此上"[ ]"就是数组的标志。
      名称前面/后面出现一个"[ ]"就是一维数组,有两个就是二维数组,两个以上就是多维数组

2.创建一个一维数组
      创建数组的本质就是确定数组的具体存储空间
      格式:
             1.先定义后创建
                        定义:数据类型  数组名称[ ]; 或者  数据类型 [ ]数组名称;
                        创建:数组名称 = new 数据类型[存储的空间];
              2.定义+创建
                        格式:数据类型 数组名称[ ] = new  数据类型[存储的空间];
                                   数据类型 [ ]数组名称 = new  数据类型[存储的空间];

3.如何为一维数组赋值
       1.逐个赋值----就是挨个为数组的每一个存储空间存放数据值。【需要数组的下标】
           数组的下标--因为数组是按照顺序保存数据,此时每一个存储空间就有一个顺序
           格式:数组名称[下标] = 数据值;
           注意:当保存在数组中的数据超过数组指定的存储空间就是会出错
        2.直接赋值---就是在创建数组的时候将数据值保存到数组中
             2.1数据类型  数组名称[ ] = new 数据类型[ ]{数值1,数值2,数值3,,·····,数值n};
                     创建数组的时候不能指定存储空间
             2.2数据类型  [ ]数组名称 = new 数据类型[ ]{数值1,数值2,数值3,,·····,数值n};

4.从一维数组中取值
         只要我们能够得到数组的存储位置,就可以得到数组中的数据值
         格式:数组名称[下标];

5.一维数组的length属性
        如果数组通过直接赋值的方式创建,那么length属性就表示元素个数。
        如果数组通过定义创建的方式创建,那么length属性就表示创建数组时给出的空间大小,与数组 的元素个数无关。

6.循环遍历一维数组
        for循环、while、do``while、for增强遍历
例如:

public class ArrayDemo{
	public static void main(String args[]){
		//一维数组
		
		//先定义后创建
		int arr1[];
		arr1=new int[3];
		//定义+创建
		int arr2[] =new int[4];//int []arr2=new int[4];
		
		//逐个赋值
		arr1[0]=1;
		arr1[1]=2;
		arr1[2]=3;
		//直接赋值
		String arrcha[]=new String[]{"fxt","ch","htt","gyq"};
		
		
		System.out.println("arrcha[1]="+arrcha[1]);//arrcha[1]=ch
		
		
		//数组通过直接赋值时的length
		System.out.println("arrcha的length="+arrcha.length);//4
		//数组通过定义创建的方式创建
		double douarr[]=new double [3];
		douarr[0]=12.5;
		System.out.println("douarr的length="+douarr.length);//3
		
		//循环遍历一维数组
		String arrcha1[]=new String[]{"fxt","ch","htt"};
		//for循环遍历
		for(int i=0;i

三、 二维数组

1.如何创建一个二维数组?    
二维数组可以保存一个类似表格一样的数据,所以我们可以认为二维数组就是一个表格。    
      1.先定义,后创建
           数据类型  数组名称[][];
           数据类型  [][]数组名称;
           数组名称=new 数据类型[表格行][行中的列];
       2.定义+创建
           数据类型  数组名称[][] = new 数据类型[表格行][行中的列];
           数据类型  [][]数组名称 = new 数据类型[表格行][行中的列];

2..如何为二维数组赋值?
         1.逐个赋值---就是挨个为数组的每一个存储空间存放数据值。
         2.直接赋值---就是在创建数组的时候将数据值保存到数组中。

3.如何从二维数组中取值?
        只要我们能够得到数组的存储位置,就可以得到数组中的数据值。
        格式:数组名称[行][列];

4..二维数组的length属性 -- 行数
        格式:数组名称.length;

 5..循环遍历二维数组---使用双层循环结构,外层控制行,内层控制列
例如:

public class Array2Demo{
	public static void main(String args[]){
		//二维数组
		//二维数组可以保存一个类似表格一样的数据,所以我们可以认为二维
		//数组就是一个表格
		
		//.先定义,后创建
		int arr1[][];
		arr1=new int[2][3];	
		//定义+创建
		int arr2[][]=new int[2][3];//int [][]arr2=new int[2][3];	
		
		
		//逐个赋值
		arr1[0][0]=1;
		arr1[0][1]=2;
		arr1[0][2]=3;
		arr1[1][0]=4;
		arr1[1][1]=5;
		arr1[1][2]=6;
		//直接赋值
		int arr4[][] = {{1,2,3},{4,5,6}};	
	
		
		System.out.println("arr4[1][1]="+arr4[1][1]);

		
		System.out.println("arr4.length="+arr4.length);//2

		//循环遍历二维数组---使用双层循环结构,外层控制行,内层控制列
		//for循环遍历
		for(int i=0;i

四、认识Arrays类【数组的帮助类】

        Arrays类位于java.util包中,主要包含了操纵数组的各种方法
        Arrays常用函数(都是静态的)
        1.void Array.sort(Object[] array) 对数组按照升序排序
        2.void Array.sort(Object[] array, int from, int to) 
        对数组元素指定范围进行排序(排序范围是从元素下标为from,到下标为to-1的元素进行排序)
        3.Arrays.fill(Object[] array,Object object)可以为数组元素填充相同的值
        4.Arrays.fill(Object[] array,int from,int to,Object object)对数组的部分元素填充一个            值,从起始位置到结束位置,取头不取尾
        5.Arrays.toString(Object[] array)返回数组的字符串形式
例如:

import java.util.Arrays;
public class ArraysDemo{
	public static void main(String args[]){
		//创建一个数组
		int arr[][] = {{3,1,2},{6,8,9}};
		for(int arr1[] : arr){
			Arrays.sort(arr1);
			for(int num : arr1){
				System.out.println("Arrays---"+num);
			}
		}
	}
}

五、数据的内存结构

1.在数据内存结构有区别
     内存分为栈区和堆区
    基本数据类型:只能在栈区区保存数据
    复合数据类型:在内存的栈区和堆区都有数据,只不过栈区保存的是数据的存储位置,真正的数据在推去存放。
2.在计算机执行时的速度
    由于计算机在执行时总是先从内存栈区获取数据,而复合数据在栈区获得的是数据的位置要再去堆区再能拿到数据。
    因此基本数据类型的执行速度比复合数据类型快。 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/358389.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号