*数组(缺着呢)

数组

1.含义:
    就是用来存储同一种数据类型的容器!
    (类型必须一致,否则数组定义的时候,编译通过不了)
2.定义格式:
    a.数据类型[] 数组名称;
        举例:int [] arr; 定义了一个int类型的数组arr变量
    b.数据类型 数组名称 [];
        举例:int arr [];定义了一个int类型的arr数组变量;
3.数组的初始化:
    动态初始化
    静态初始化
4.动态初始化:
    我们定义了数组的长度,数组的元素由系统默认初始化!(懂了,里面的元素是定的)
        数据类型 [] 数组名称 = new 数据类型 [数组长度];
            int [] arr =new int [3];
        数据类型 数组名称 [] =new 数据类型[数组长度];
            int arr []=new int [3];
5.静态初始化:
    给定了数组的元素的内容,由系统指定数组的长度
    格式:数据类型 [] 数组名称=new 数据类型[]{元素1,元素2,元素3...};(推荐)
         数据类型 数组名称 []=new 数据类型[]{元素1,元素2,元素3...};
    简写格式:数据类型[] 数组名称={元素1,元素2,元素3...};
            int [] arr={1,2,3,4,5,6};
    注意:不能动静初始化(要莫动态初始化,要莫静态初始化)
6.解释说明格式:
    =左边:int:里面存储的都是int类型
        []:一维数组
        arr:数组名称(符号标识符的规则)
    =右边:new:创建对象
        int:int类型的元素
        []:一维数组
        4:数组的长度
7.特点:
    a.数组的长度是固定的
    b.存储的类型必须是同一种类型
    c.数组中存储的元素可以引用类型,也可以存储基本数据类型

数组的注意问题

1.数组角标越界异常:ArrayIndexOutOfBoundsException 
    出现原因:访问了数组中不存在的索引值,索引值是非法的,大于或者等于数组的长度,索引值为负.        
    解决方案:及时检查错误,然后更新代码
2.空指针异常:NullPointerException 数组是引用类型,引用类型的默认值是null(空对象)
    出现原因:在数组中的,数组对象已经为null,还要访问里面的元素
                  在后期可能会使用某些类的功能的时候,但是这个类的对象已经为null。
    解决方案:(在idea中,使用断点来调试程序!debug)
                 在某段代码中,如果出现空指针,在使用该对象的时候,进行非空判断。

数组的遍历

1.含义:
    就是将数组的元素一一获取并输出
2.举例:(就是将一堆元素排列出来,并且带上括号跟逗号)    
    public static void printArray2(int[] arr){
		//输出一个"["
		System.out.print("{") ;
		//遍历数组,获取元素内容
		for(int x = 0 ; x < arr.length ; x ++){
			//获取到了
			//判断x是否能够取到最大索引值:arr.length-1
			if(x==arr.length-1){
				//获取最大索引值对应最后一个元素
				System.out.println(arr[x]+"}") ;
			}else{
				//不是最后一个元素,中间的元素 
				//元素1, 元素2, ..
				System.out.print(arr[x]+", ") ;
			}
		}
		
	}
	
	/*
		定义一个遍历数组的功能
		两个明确
			1)明确返回值类型:void 代替
			2)明确参数类型以及参数个数
						int[]  一个参数
	*/
	public static void printArray(int[] arr){
		for(int x = 0 ; x < arr.length ; x ++ ){
			System.out.println(arr[x]) ; 
		}
	}
}

数组的最值

1.含义:
    给定一个数组,静态初始化,获取数组中的最大值.
2.简述:
    怎么用数组来整出最值呢,就是先创建一个中间数,拿这个中间数,跟其他的数做比较,比较完之后,从新赋值,不断比,找出最值.
3.举例:
    //定义一个求最小值的方法
	public static int getMin(int[] arr){
		//定一个参照物:它是最小值
		int min = arr[0] ;
		
		for(int x = 1; x < arr.length ; x ++){
			if(arr[x] < min){
				min = arr[x] ;
			}
		}
		return min ;
	}
	
	/*
		定义一个求最大值的方法
		两个明确
			1)明确返回值类型:int
			2)明确参数类型以及参数个数
					int[]  1个参数
	*/
	public static int getMax(int[] arr){
		//定义有一个参照物
		int max = arr[0] ;
		//遍历其他元素
		for(int x = 1 ; x < arr.length ; x ++){
			if(arr[x] > max){
				max = arr[x] ;
			}
		}
		return max ;
	}
	
	
}
main方法没写,你们将就着看

元素逆序


数组中的基本元素查找法

冒泡

1.含义:
    两两比较,然后把最大的值依次往后放。
2.for(int x=0;x<arr.length-1;x++){
    for(int y=0;y<arr.length-1-x;Y++){
          if(arr[x])
          }
    }

后面在补

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值