栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数组的学习

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数组的学习

数组:引用数据类型
元素:任何数据类型(基本数据类型+引用数据类型)
内存空间连续,数组名中引用的是连续空间的首地址
长度一旦确定,不能修改

一维数组的使用

①一维数组的声明和初始化
②如何调用数组的指定位置的元素
③如何获取数组的长度
④如何遍历数组
⑤数组元素的默认初始化值
⑥数组的内存解析

内存结构规范在JVM中体现

package cn.xjtu.java;

import java.util.jar.Attributes.Name;

public class ArrayTest {
	public static void main(String[] args) {
		
		//1.一维数组的声明和初始化
		int[] ids;//声明
		//静态初始化:数组初始化和数组元素赋值同时进行
		ids = new int[] {1001,1002,1003,1004};
		//动态初始化:数组初始化和数组元素赋值分开进行
		String[] names = new String[4];
		
		//2.如何调用数组指定位置元素
		names[0] = "王铭";
		names[1] = "章铭";
		names[2] = "张铭";//两个字符,第一个字符'张'的下标也是从0开始,charAt(0)
		names[3] = "黄铭";
		//names[4] = "皇上";//编译不会出错,运行会,因为运行时分配内存
		//3.获取数组长度
		System.out.println(names.length);
		//4.遍历数组
		for(int i = 0;i < names.length;i++) {
			System.out.println(names[i]);
		}//快捷键:ctrl+/注释掉,再次按ctrl+/解开
		//5.数组元素的默认初始化值
		
		int[] arr = new int[4];
		for(int i = 0;i < arr.length;i++) {
			System.out.println(arr[i]);
		}
		char[] arr1 = new char[4];
		for(int i = 0;i < arr1.length;i++) {
			System.out.println(arr1[i]);
		}
		if(arr1[0]=='')
			System.out.println("你好");
		if(arr1[0]==0)
			System.out.println("haha");
		
		//6.数组的内存解析
		
	}
}

放在方法中的变量都是局部变量

引用计数算法:在某个不确定的时间,会把地址0x12ab这块的内存结构回收掉,当方法结束后,方法里的局部变量陆续出栈,然后堆里的一些内存结构没有指针指向,紧接着也会被回收掉

快捷键:Ctrl shift f
(导包 ctrl shift o)(回车,按住shift点回车,无论光标在哪都可以去下一行)
scanner.nextInt();(ctrl 1创建数组)

package cn.xjtu.java;

import java.util.Scanner;
public class ScoreTest {
	public static void main(String[] args) {
		//1.读取学生个数
		Scanner scan = new Scanner(System.in);
		System.out.print("请输入学生人数:");
		int num = scan.nextInt();
		//2.创建学生数组为存储学生成绩
		int[] student = new int[num];
		System.out.println("请输入学生成绩:");
		//3.输入学生成绩4.找出学生成绩最大值
		int max = 0;
		for(int i = 0;i < student.length;i++) {
			student[i] = scan.nextInt();	
			if(student[i]>max) {
				max = student[i];
			}
		}
		//5.判断等级
		for(int i = 0;i < student.length;i++) {
			int diff = max - student[i];
			char level;
			if(diff>30) {
				level = 'D';
			}else if(diff>20) {
				level = 'C';
			}else if(diff>10) {
				level = 'B';
			}else {
				level = 'A';
			}
			System.out.println("第"+(i+1)+"个学生成绩等级为"+level);
		}
	}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/349587.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号