java中数组

数组就是能够存储同一种数据类型的容器

数组的定义 格式

        1)数据类型[] 数组名称; (推荐第一种方式)

        2)数据类型 数组名称[] ;

数组本身就属于引用数据类型,里面存储的元素内容, ​ 可以方法同一种类型的基本类型元素或者同一类型的引用类型!

数组的初始化有两种方式:

        第一种方式:动态初始化

        第二种方式:静态初始化

//遍历
class ArrDemo{
	public static void main(String[] args){
		int[] arr={11,21,14,34,29};
		printArray(arr);
		
	}
	public static void printArray(int[] array){
		System.out.print("[");	
		for(int x=0;x<=array.length-1;x++){
			if(x==array.length-1){
		System.out.print(array[x]+"]");			
			}else{
			System.out.print(array[x]+",");	
				
			}
		
		}
	}
}

动态初始化: ​

定数组的长度,数组的元素内容由系统默认初始化

        ​ 默认初始化:系统给定的

                 根据我们数组中存储的数据类型来判定

创建数组的方式第二种是静态初始化

我们给定元素的内容,由系统来默认分配长度

格式:

(推荐)数据类型[] 数组名称 = new 数据类型[]{元素1,元素2,元素3....} ;

数据类型 数组名称[] = new 数据类型[]{元素1,元素2,元素3....} ;

简化格式:推荐使用简写格式

数据类型[] 数组名称 = {元素1,元素2,元素3....} ;

数据类型 数组名称[] = {元素1,元素2,元素3....} ;

数组中常见的异常: 运行时期异常

1)数组角标越界异常---程序运行的时候出现异常

ArrayIndeexOutOfBoundsException 类名

出现这个异常原因:我们访问了数组中不存在的索引值报错! ​ ​

解决方案: ​ 改变索引值

​ ​2)实际开发中,经常会出现 空指针异常 NullPointerException ​

就是当前 我们在访问某个对象的时候,对象已经是null, ​

然后还要使用对象中的某个功能---出现空指针了 ​ ​

解决方案:

对当前这个对象进行非空判断

方法重载:---为了提供某个功能的扩展性

         方法名相同,参数列表不同,与返回值无关!

参数列表不同: ​ 1)参数个数不同 ​ 2)参数类型不同 ​ 3)考虑参数类型的顺序

//数组中最大、最小值
import java.util.Scanner;
class BiJiao{
	public static void main(String[] args){
        int[] arr=new int[5];
		Scanner sc=new Scanner(System.in);
		for(int n=0;n<arr.length;n++) {
			System.out.println("请输入第"+(n+1)+"个元素:");
			arr[n]=sc.nextInt();
		}
	int max=getArrayMax(arr);
	int min=getArrayMin(arr);
	System.out.println("最大值:"+max);
	System.out.println("最小值:"+min);
	}
	public static int getArrayMax(int[] array){
		int max = array[0] ;
		for(int x =1 ; x < array.length ; x ++){
			if(array[x] > max){
				max = array[x] ;
			}
		}
		return max ;
		}
	public static int getArrayMin(int[] array){
		int min = array[0] ;
		for(int x =1 ; x < array.length ; x ++){
			if(array[x] < min){
				min = array[x] ;
			}
		}
		return min ;
		}
}

数组中高级排序--冒泡

class ArrayDemo3{
	public static void main(String[] args){
	int[] arr = {12,32,56,66,34} ;
	bubbleSort(arr) ;
	printArray(arr) ;
	}
		
		public static void bubbleSort(int[] array){
		for(int x = 0 ; x < array.length-1 ; x ++){
	
			for(int y = 0 ; y < array.length-1-x ; y ++){
				if(array[y] > array[y+1]){
					int temp = array[y] ;
					array[y] = array[y+1] ;
					array[y+1] = temp ;
				}
			}
		}
	}
	
		public static void printArray(int[] array){
		System.out.print("[") ;
		for(int x = 0 ; x < array.length ; x ++){
			if(x == array.length-1){
				System.out.println(array[x]+"]") ;
			}else{
				System.out.print(array[x]+", ") ;
			}
		}
	}
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值