JAVA基础笔记Day05——数组

数组

概念:存储数据容器

一、特点

1、只能存储同一种数据类型
2、长度固定
3、直接打印数组名,打印的是数组在堆内存中的地址
4、数组在创建后们都会根据类型赋予初始值
整型:0
浮点型:0.0
布尔型:false
字符型:null,\u0000,控制台中只以一个空格显示
其他(引用类型):null

二、创建

[]的位置可以放在数据类型之后,也可以放在数组名之后

2.1 静态创建

格式:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,…};
变形:
数据类型[] 数组名= {元素1,元素2,元素3,…};
注:当编码完成时,之歌数组的长度就固定了,在编译运行期间不能在对数组的长度进行改动,即不能对数组的元素进行增删

2.2 动态创建

格式:
数据类型[] 数组名 = new 数据类型[长度];
下标:索引、角标、范围是0~长度-1
获取数组的长度:数组名.length
赋值:数组名[下标] = 值;

四、数组的遍历

1、借助Arrays工具类的toString(),将数组以字符串的形式输出
2、循环遍历
int[] arr = {x,x,x,x,x,…};
for(int i = 0;i<=arr.length-1;i++ ){
arr[i];
}

五、存在的问题

1、ArrayIndexOutofBoundException,数组下标越界异常
烟瘾L数组的下标的范围是0~长度-1,如果下标出现了负数或者超过了长度-1,就会发生此异常
解决:使下标处于合理范围内
2、NullPointerException,空指针异常
原因:数组对象没有new过就使用
解决:new它

六、数组排序

6.1冒泡排序

int[] brr = {1,5,3,-8,2,6,-2};
for(int i = 0;i<brr.length-1;i++){
	for(int j=0;j<brr.length-1-i;j++){
		if(brr[j] > brr[j+1]){
			int t = brr[j];
			brr[j] = brr[j];
			brr[j] = brr[j+1];
			brr[j+1}=t;

		}
	}
}

6.2 选择排序

int[] crr = {1,3,22,4,-11,5,8};
	 int minIndex;
  for(int i = 0;i < crr.length - 1;i++){
  	  minIndex  = i;
   		 for(int j = i + 1; j < crr.length;j++ ){
   		   if(crr[minIndex] > crr[j]){
         	   minIndex = j;
                 }
   }
    int t = crr[i];
    crr[i] = crr[minIndex];
    crr[minIndex] = t;
}

二维数组

概念:存储数组元素的数组

一、创建

1、
数据类型[][] 数组名 = new 数据类型[小数组的个数][每一个小数组的长度];
2、
数组类型[][] 数组名 = new 数组类型[小数组的个数][]
这种创建方式的二维数组中的小数组,需要单独进行创建
3、
数据类型[][] 数据名 = {
{元素1.元素2,…}
{元素1.元素2,…}

};

二、遍历

for(int i = 0;i <= arr.length - 1;i++){
    for(int j = 0;j<=arr[i].length - 1;j++){
        System.out.print(arr[i][j]+"\t");
    }
    System.out.println();
}

有十个大箱子,每个大箱子中有十个小巷子,正常情况下,每个小箱子重1斤,现有一个大箱子,里面的每一个小箱子都只有0.9斤,用电子称称一次,找到缺斤短两的大箱子。

方法:
一~十号大箱子
一号拿1,二号拿2,三号拿3,。。。。十号拿10;
称好后,缺0.几斤就是几号箱子

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值