首页 > 其他分享 >数组的使用

数组的使用

时间:2025-01-03 22:45:17浏览次数:6  
标签:int System 数组 使用 println new out

声明变量的方式

	int num;    //声明
	num = 10;   //初始化
	
	int a = 100;    //声明 + 初始化

1.声明方式

	int[] arr1;  //数组的声明
	int arr2[]; //不推荐

2.初始化
(1)静态初始化
数组的初始化和数组元素的赋值操作同时进行

    //1.1 静态初始化: 数组的初始化和数组元素的赋值操作同时进行
    int[] arr3;
	arr3 = new int[]{1001,1002,1003};

	int[] arr4 = new int[]{1,2,3};
	int[] arr5 = {4,5,6};

(2)动态初始化
数组的初始化和数组元素的赋值操作分开进行

//1.2 动态初始化: 数组的初始化和数组元素的赋值操作分开进行
  String[] names = new String[5];

3.数组元素的引用

  • 定义并用运算符new为之分配空间后,才可以引用数组中的每个元素;
  • 数组元素的引用方式:数组名[数组元素下标]
    • 数组元素下标可以是整型常量或整型表达式。如a[3] , b[i] , c[6*i];
    • 数组元素下标从0开始;长度为n的数组合法下标取值范围: 0 —>n-1;如int a[]=new int[3];可引用的数组元素为a[0]、a[1]、a[2]
  • 每个数组都有一个属性length指明它的长度,例如:a.length 指明数组a的长度(元素个数)
    • 数组一旦初始化,其长度是不可变的
	//2.如何调用数组指定位置的元素:通过索引的方式调用
	//数组的索引是从0开始的,到数组的长度-1结束
	names[0] = "张三";
	names[1] = "李四";
	names[2] = "王五";
	names[3] = "赵六";
	names[4] = "孙七";

	//3、如何获取数组的长度
	//属性 length
	System.out.println(arr3.length);
	System.out.println(names.length);

	//4、如何遍历数组
	for (int i = 0; i < arr3.length; i++){
		System.out.println(arr3[i]);
	}

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

4.数组元素的默认初始值
数组是引用类型,它的元素相当于类的成员变量,因此数组一经分配空间,其中的每个元素也被按照成员变量同样的方式被隐式初始化。

对于基本数据类型而言,默认初始化值各有不同

对于引用数据类型而言,默认初始化值为null(注意与0不同!)

	//数组元素是整型
	int[] arr = new int[4];
	for (int i = 0; i < arr.length; i++){
  	  System.out.println(arr[i]);
	}
	 
	System.out.println();
 
	short[] arr1 = new short[4];
	for (int i = 0; i < arr1.length; i++){
 	   System.out.println(arr1[i]);
	}
	 
	System.out.println();

	//数组元素是浮点型
	float[] arr2 = new float[4];
	for (int i = 0; i < arr2.length; i++){
		System.out.println(arr2[i]);
	}

	System.out.println();

	//数组元素是字符型
	char[] arr3 = new char[4];
	for (int i = 0; i < arr3.length; i++){
		System.out.println(arr3[i]);
	}

	System.out.println();

	//数组元素是布尔型
	boolean[] arr4 = new boolean[4];
	for (int i = 0; i < arr4.length; i++){
		System.out.println(arr4[i]);
	}

	System.out.println();
	//数组元素是引用数据类型:String
	String[] arr45 = new String[4];
	for (int i = 0; i < arr45.length; i++){
		System.out.println(arr45[i]);
	}

5.内存结构的简单说明
image
6.一维数组的内存解析

	int[] arr = new int[]{1,2,3};
	String[] arr1 = new String[4];
	arr1[1] = “刘德华”;
	arr1[2] = “张学友”;
	arr1 = new String[3];
	sysout(arr1[1]);//null

image
7.一维数组的练习
练习1

	public class ArrayTest1 {
		public static void main(String[] args){
			/*
			升景坊单间短期出租4个月,550元/月(水电煤公摊,网费35元/月),空调、卫生间、厨房齐全。
			屋内均是IT行业人士,喜欢安静。所以要求来租者最好是同行或者刚毕业的年轻人,爱干净、安静。
			 */
			int[] arr = new int[]{8,2,1,0,3};
			int[] index = new int[]{2,0,3,2,4,0,1,3,2,3,1};
			String tel = "";
			for(int i = 0 ; i < index.length ; i++){
				tel += arr[index[i]];
			}
			System.out.println("联系方式:" + tel);//18013820102
		}
	}

练习2

	import java.util.Scanner;

	public class ArrayTest2 {
		public static void main(String[] args) {
		   /*
		   2. 从键盘读入学生成绩,找出最高分,
			并输出学生成绩等级。
			成绩>=最高分-10 等级为’A’
			成绩>=最高分-20 等级为’B’
			成绩>=最高分-30 等级为’C’
			其余 等级为’D’

			提示:先读入学生人数,根据人数创建int数组,存放学生成绩。
			*/


			//1、创建scanner 读取学生个人
			Scanner scanner = new Scanner(System.in);
			System.out.print("请输入学生人数: ");
			int studentNum = scanner.nextInt();

			//2、创建int数组,存放学生成绩。
			int[] scores = new int[studentNum];
			int maxScore = 0;//最高分

			//3、给数组中的元素赋值
			for (int i = 0; i < scores.length; i++){
				System.out.print("请输入学生 " + (i + 1) + " 的成绩: ");
				scores[i] = scanner.nextInt();
				//4、获取数组中的最大元素,找出最高分
				if (maxScore < scores[i]){
					maxScore = scores[i];
				}
			}

			System.out.println();
			System.out.println("最高分是:" + maxScore);

			//4、根据每个学生与最高分的差值,得到每个学生的等级,并输出成绩和等级
			char level;
			for (int i = 0; i < scores.length; i++){
				if (scores[i] >= maxScore - 10){
					level = 'A';
				}else if (scores[i] >= maxScore - 20){
					level = 'B';
				}else if (scores[i] >= maxScore - 30){
					level = 'C';
				}else {
					level = 'D';
				}
				System.out.println("学生 " + (i + 1) + " 分数为 " + scores[i] + ", 等级为 " + level);
			}
		}
	}

标签:int,System,数组,使用,println,new,out
From: https://www.cnblogs.com/sylaaa/p/18648811

相关文章