java数组

java数组

java数组分为一维数组和多维数组

一维数组:

数组的概念与定义

数组的内存结构分配及特点

数组的常见问题

数组的常见操作

数组的概念

  1. 数组就是同一种数据的集合(可以理解为一个容器)
  2. 数组的好处:程序会自动给数组中的元素分配从0开始的下标,方便操作

数组的定义

定义数组的基本语法格式 如下:
格式一: 元素类型[] 数组名=new 元素类型[数组长度];

               int[]  a=new int[3];
                     a[0]=10;
                     a[1]=15;
                     a[2]=20;

格式二:元素类型[] 数组名=new 元素类型[]{元素,元素,……};

         int[] a=new int[]{1,5,9};
         int[] a={1,5,9};
      // 这种方法称之为  静态初始化方式

内容结构特点

Java程序在运行时需要给内存分配空间。为了提高运算效率又对空间进行了不同区域的划分,因为每一片区域都有了特定的处理数据和内存的方式。
java中分配了以下五片空间:

栈内存:
用于存储局部变量,当数据使用完毕内存会自动释放;

堆内存:
1:数组和对象,用过new关键字创建的对象实体都存放在堆内存中,
2:每个实体都有内存地址
3:实体中的变量都有默认的初始化值
4:如果实例不在被使用java会自动启动垃圾回收器将垃圾回收

方法区 >>本地方法区 >>寄存器

在这里插入图片描述
数组中常见问题

  1. 在操作数组是注意数组的长度,不要出现数组下标越界异常
  2. 在操作中不要出现空指针异常

如何操作数组

通过for循环逐个取出数组中的值

     int[]  array={11,15,13};      
     for(int a=0;a<3;a++){
     	System.out.println(“array[”+a+”]=”+array[a]);
     }

在数组中提供了一个可以直接获取数组长度的属性 ”length“,我们只需要通过 “数组名.length”可以直接获取数组个数。如下:

    int[]   array={15,20,5,3,6,7,9,8,14};
    for(int a=0;a<array.length;a++){
    	System.out.println(“array[”+a+”]=”+array[a]);
    }

获取数组中的最大值

 	   	int[]  array={15,20,14,8,9,10,32};
            int max=array[0];
		 for(int a=1;a<array.length;a++){
			 if(max < array[a]){
				 max=array[a];
			 }
		 }
		 System.out.println(max);

获取数组中的最小值

		int[]  array={15,20,14,8,9,10,32};
            int max=array[0];
		 for(int a=1;a<array.length;a++){
			 if(max > array[a]){
				 max=array[a];
			 }
		 }
		 System.out.println(max);

数组的排序方式

java中数组的排序方法

  • 选择排序法

  • 冒泡排序法

  • 快速排序法

选择排序

从0下标开始,依次和后面元素比较,小的往前放,第一次完毕,最小值出现在了最小下标处,实例如下:

		  int[]  array={15,20,14,8,9,10,32};
              for(int a=0;a<array.length-1;a++){
		  for(int b=a+1;b<array.length;b++){
		      if(array[a]>array[b]){
		           in bijiao=array[a];
		           array[a]=array[b];
		           array[b]=bijiao;
	                }
	      	     }
               }

冒泡排序

相邻的两个元素进行比较如果符合条件就换位

	int[]  array=new int[]{15,20,14,8,9,10};
         for(int a=0;a<array.length-1;a++){
              for(int b=0;b<array.length-a-1;b++){
            	  if(array[b]>array[b+1]){
            		  int aa=array[b];  
            		  array[b]=array[b+1];
            		  array[b+1]=aa;
                      }             
                  }
          }

快速排序法

快速排序法就是运用了java中给我们提供的一个类”Arrays”下面的sort方法来实现升序排序,此方法需要导入“import java.util.Arrays;” 包。

 int[]  array={15,20,14,8,9,10,32};
      Arrays.sort(array);
      //上面这个代码就是用法
 for(int c=0;c<array.length;c++){
	System.out.println(array[c]);
 }

二维数组

数组中的数组
格式一:

 int[][] array=new int[3][5];

定义了一个名为array的二维数组
二维数组中有3个一维数组
每个一维数组的长度为5个元素

在这里插入图片描述
格式二

    int[][] array=new int[3][];
       array[0]=new int[5];
       array[1]=new int[3];
       array[2]=new int[4];

在这里插入图片描述

	int[][] array=new int[2][3]; 		    
	        array[0][0]=10;
   		    array[0][1]=12;
		   array[0][2]=12;
		   array[1][0]=15;
		   array[1][1]=14;
		   array[1][2]=16;
		for(int a=0;a<array.length;a++){
			for(int b=0;b<array[a].length;b++){
		        System.out.println(array[a][b]);
			}
		}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值