Java数组

数组是多个相同类型数据的组合,实现对这些数据的统一管理

数组中的元素可以是任何类型,包括基本类型和仅用类型

数组属于仅用类型,可以理解为对象(object),数组中的每个元素相当于这个元素的成员变量

数组的长度是不变的


声明数组的格式

       *1. 数据类型[] 数组名String [] args

       *2. 数据类型数组名[]  


java 中的数组必须先初始化,然后才能使用。


所谓 初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值


使用new关键字来进行初始化


初始化分类:

动态初始化:初始化只指定数组长度,由系统为数组分配初始值   

静态初始化;初始化时指定每个数组元素的初始值,由系统确定数组长度

int[]arr4= new int[5];

 //左侧:int→数据类型   []→一维数组    arr4→数组名

 //右侧:new→在内存中分配空间 int→数据类型  []→一维数组   5→长度(元素个数)


数组属性 length ,指明了数组的长度


int  默认初始值 0

* double float  默认初始值 0.0

* char    默认初始值  " " 空格

* String  默认初始值 null  空值

* boolean 默认初始值 flase


数组常见问题:

       * 1.数组下标越界异常

         java.lang.ArrayIndexOutOfBoundsException

         下标不再取值范围内

       * 2.空指针异常

         NullPointerException

         数组引用没有指向实体,却在操作实体中的元素时


数组遍历


     

 int []arr8={2,4,6,8,10,234,23,3,2,9,0,-18,98};
      /*System.out.println(arr8[0]);
      System.out.println(arr8[1]);
      System.out.println(arr8[2]);
      System.out.println(arr8[3]);
      System.out.println(arr8[4]);

      方式1: for循环

   

   for(int i=0;i<arr8.length;i++)
      {
         System.out.println(arr8[i]);
      }

      方式2:增强for循环

   

   for(int x:arr8)
      {
         System.out.println(x);
      }
     
      String[]arr9={"zhangsan","lisi","wangwu","zhaoliu"};
      for(int i=0;i<arr9.length;i++)
      {
         System.out.println(arr9[i]);
      }
      for(String x:arr9)
      {
         System.out.println(x);
      }




二维数组


 Java中多维数组可以理解为数组的数组

   

Java中多维数组的声明和初始化应按从高维到低维的顺序进行

Java中多维数组可以不是规则的矩阵形式

int [] arr2=new int [7];
		int[][] arr3=new int[3][];//二维数组arr3有3行,第一个维数不空即可
		arr3[0]=new int[2];//第一行是一个有2个元素的一维数组
		arr3[1]=new int[3];//第二行是一个有3个元素的一维数组
		arr3[2]=new int[2];//第三行是一个有2个元素的一维数组


冒泡排序法

         *比较相邻的元素。如果第一个比第二个大,就交换他们两个。

         *对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

         *针对所有的元素重复以上的步骤,除了最后一个。

        *持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

for(int i=0;i<arr.length-1;i++)//执行的轮数length
			{
			for(int j=0;j<arr.length-1-i;j++)//每轮执行的次数
			{
				//比较相邻的元素。如果第一个比第二个大就交换他们两个
				if(arr[j]>arr[j+1])
				{
					int temp=0;
					temp=arr[j];
					arr[j]=arr[j+1]; 
					arr[j+1]=temp;
				}
			}
			}
		for(int x:arr)//加强for循环
		{
			System.out.println(x);
		}


  




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值