20200226java学习之路之数组

一: 数组

  1. 数组就是容器,同一种类型数据的集合
  2. 数组的格式1:数组类型[] 数组名 = new 数组类型[元素个数或数组长度]
  3. 格式1:int [ ] arr =new int [5];
public class TestArry{
	public static void main(String[] args){
		int [] arr=new int [3];
		arr[0]=89;
		System.out.println(arr[0]);
	}
}

运行结果:

4.
4.数组的格式2:int 【】arr=new int [ ]{1,3,5,7}

public class TestArry{
	public static void main(String[] args){
		int [] arr=new int [3];
		arr[0]=89;
		System.out.println(arr[0]);
		System.out.println("-------------");
		testArry1();
	}


	public static void testArry1(){
		int [] arr={89,34,270,17};
		System.out.println(arr[2]);
		return ;
	}
}

结果:
在这里插入图片描述
5. 数组的好处:方便操作元素,可给数组元素从0开始编号

二:数组内存的划分

1.寄存器
2.本地方法区
3.方法区
4.栈内存
1.存储的局部变量
2.而且变量所属作用域一旦结束,该变量则自动消失
5.堆内存

  1. 存储是数组和对象(数组就是对象)----凡是new建立在堆中
  2. 特点:每一个实体都有首地址值
  3. 堆内存中每一个变量都有默认初始化值,根据类型不同而不同。(整数0,小数0.0或0.0f,boolean false,char ‘\u0000’------u代表UNICORN代码–0000代表两个字节)

数组的例题

1.打印数组中数据

public class TestArry{
	public static void main(String[] args){
		int [] arr=new int [3];
		arr[0]=89;
		System.out.println(arr[0]);
		System.out.println("-------------");
		testArry1();
	}


	public static void testArry1(){
		int [] arr={89,34,270,17};//存储已知具体数值
		System.out.println(arr[2]);
		System.out.println("-------------");
		for(int x=0;x<4;x++){  //x<arr.length若数据多时使用
			System.out.println(arr[x]);//获取所有的元素
		}
	}
}

运行结果:
在这里插入图片描述

public class TestArry2{
	public static void main(String[] args){
	int age=3;
		System.out.println(age);
		System.out.println("-------------");

	
	int [] arr=new int [3];
		arr[0]=89;
		System.out.println(arr[ 0]);
		System.out.println("-------------");
		for(int x=0;x<3;x++){
			System.out.println(arr[x]);
			
		}
		System.out.println("-------------");
		testArry3();
	}	
		

		public static void testArry3(){
			int [] arr={89,34,99,66};
			System.out.println("length:"+arr.length);
			for(int x=0;x<arr.length;x++){//x<arr.length若数据多时使用
				System.out.println("arr["+x+"]="+arr[x]+";");
				/*for(int x=arr.length-1;x>=0;x--){
					System.out.println("arr["+x+"]="+arr[x]+";");
				}
				可以用来反向输出最后的值				*/
			}
		}	
}

运行结果:
在这里插入图片描述

数组之最值的实例

/*
需求一:获取数组的最大值(  最值  )
思路: 1,需要进行比较,并定义变量记录住每次比较后较大的值
      2,对数组进行遍历,取出并和变量的元素进行比较,若遍历后的数据大于变量记录的元素,就用变量记录此最大值
      3,遍历后的结果该变量记录就是最大值
定义一个函数功能,获取数组最大的数
明确是否有结果? 有,数组中的元素,int 类型
明确二,是否有未知内容?  有, 数组中最大值数据
*/

public class TestArrayGetMax{
	public static void main(String[] args){
		int[] arr= {23,45,67,98,187};
		//int[] tempArr={};
		//int tempMax=getMax(tempArr);不能是空数组,否则系统报错,超出边界
		int max=getMax(arr)	;	
		System.out.println("max="+max);
	    int maxIndexOfValue=getMax2(arr);
	}


	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];
				//System.out.println("max="+max);
		}
		return max;
	}


	public static int getMax2(int[] arr){
		int maxIndex=0;//角标
		for(int x=0;x<arr.length;x++){
			if (arr[x]>maxIndex)
				maxIndex=x;
			System.out.println("maxIndex="+maxIndex);
		}
		return arr[maxIndex];
	}


	public static void testFunc(int first){
		System.out.println("first="+first);
		}
	}


    
	public static void  print(int a,int count){
		for (int i=0;i<count;i++) {
			System.out.println(a);
		}
		
	}
}

运行结果:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值