
Java学习笔记:数组
6,数组一旦创建,在Java中规定,长度不可变。 7,数组分类:一维数组,二维数组。。。 8,所有数组对象都有Lenth属性,用来获取数组中的元素个数。 9,java中数组要求元素类型统一。比如int类型数组只能存储int类型。 10,数组在内存中存储的元素内存地址是连续的。 11,所有的数组都是利用栈中的内存地址作为整个数组对象的内存地址。 (栈中的内存地址是每个数组对象的地址) 12,数组中每一个元素都是有下标的,下标从0开始,以1递增。 13,数组这种数据结构的优点和缺点是什么? 优点:可以通过下标和存储类型计算出具体元素位置,检索效率高。 缺点:数组在随机删,增元素操作时效率低,因为需要移动大量元素,并且数组无法存储大数据量,无法存储不同类型元素数据。 14,怎么声明/定义一个一维数组? 语法格式:
发布日期:2021-05-18 06:48:08
浏览次数:20
分类:精选文章
本文共 3947 字,大约阅读时间需要 13 分钟。
数组:
1,Java语言中的数组是一种引用类型,不属于基本数据类型,数组的父类是Object。 2,数组实际上是一个容器,可以同时容纳多个元素。(数组是一个数据的集合。) 数组:字面意思是“一组数据”; 3,数组当中可以存储基本数据类型的数据,也可以存储引用数据类型的数据。 4,数组因为是引用类型,所以数组对象是堆内存当中。 5,数组当中如果存储的是“java对象”的话,实际上存储的是对象的“引用(内存地址)”int[ ] array1;
double[ ] array2; boolean[ ] array3; String[ ] array4; Object[ ] array5;
15,怎样初始化一个一维数组呢?
包括两种方式:静态初始化一维数组,动态初始化一维数组。 静态初始化语法格式:int[ ] array = (100, 2100, 300, 55);
动态初始化语法格式:
int[ ] array = new int[5];//表示5个元素类型为int元素个数,默认值为0
String[ ] name = new String[6];//表示6个元素类型为String元素个数,默认值为null
public class Arraytest01 { public static void main(String[] args){ //静态初始化 int[] a = { 1, 100, 10, 20, 55, 689}; String[] a = { "sds", "sss"}; //动态初始化 Object[] o = new Object[3]; //存储Object,采用静态初始化 Object o1 = new Object(); Object o2 = new Object(); Object o3 = new Object(); Object[] objects = { o1, o2, o3}; //与以下等同 Object[] objects = { new Object(), new Object(), new Object()}; }}
16,通过方法使用数组
public class ShuZhu { public static void main(String[] args){ int[] a = { 1,23,4,5}; PrintArray(a); String[] m = { "213", "22", "33", "44"}; PrintArray(m); PrintArray(new int[4]); String[] d = new String[4]; PrintArray(d); } public static void PrintArray(int[] array){ for(int i=0; i
17,main方法上面的“String[ ] args” 有什么用?
分析以下:谁负责调用main方法(JVM) JVM调用main方法的时候,会自动传一个String数组过来。public class Shuzhu { public static void main(String[] args){ //JVM默认传递过来的这个数组对象的长度?默认为0. System.out.println("JVM给传递过来的String数组参数,它这个数组的长度是?"+args.length); //这个数组什么时候有值呢? //其实这个数组是留给用户的,用户可以在控制台上输入参数,这个参数自动被转换为“String[] args” //例如这样运行程序 :java ShuZhu abc def xyz //那么这个时候JVM会自动将“abc def xys”通过空格的方式进行分离,分离完成之后,自动放到“String[] args” //所以main方法上面的String[] args 数组主要是用来接收用户输入参数的。 //把abc def xyz 转换成字符串数组:{“abc”,“def”,“xyz”}; for(int i=0; i
模拟一个系统,假设这个系统要使用,必须输入用户名和密码。
public class ShuZhu { //用户名和密码输入String[] args数组当中. public static void main(String[] args){ if(args.length!=2){ System.out.println("使用该系统时请输入程序参数,参数中包括用户名和密码信息,例如:zhang 123"); return; } //程序执行到此处说明用户确实提供了用户名和密码。 //接下来你应该判断用户名和密码是否正确。 //取出用户名 String username = args[0]; //取出密码 String password = args[1]; //假设用户名是admin ,密码是123的时候表示登录成功。其他一律失败。 //判断两个字符串是否相等,需要使用equals方法。 if("admin".equals(username)&&"123".equals(password) ){ System.out.println("登录成功,欢迎["+username+"]回来"); System.out.println("使用该系统..."); }else{ System.out.println("验证失败,用户名不存在或者密码错误 !"); } }}
使用idea,点击中run下的edit configurations选项,在program arguments中输入需要传入agrs数组中的数据(用户名和密码),显示以下结果。

18,数组中存储引用类型数据
在不同类中,应该注意Animal[ ] 与 Animal 类型的区别。public class ShuZhu { public static void main(String[] args){ Animal a1 = new Animal(); Animal a2 = new Animal(); Animal[] a = { a1, a2}; for(int i=0; i
调用对象特有方法的话,需要向下转型!!!
public class ShuZhu { public static void main(String[] args){ Animal a1 = new Cat(); Animal a2 = new Bird(); Animal[] a = { a1, a2}; for(int i=0; i
19,数组的扩容
数组满了,需要扩容,java先创建一个大容量的数组,然后一个一个将原来的数组元素拷贝入大数组中。public class ShuZhu { public static void main(String[] args){ //拷贝源 int[] src = { 1, 2, 3}; //拷贝目标 int[] dest = new int[6]; //从src数组第1号元素拷贝到dest数组中3号位置,长度为2 System.arraycopy(src, 1, dest, 3, 2); for(int i=0; i
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年04月28日 07时46分04秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
解决VS Code保存时候自动格式化
2019-03-17
FI 替代相关 OSS Note 要点记录
2019-03-17
Problem K: 三角形数
2019-03-17
蓝桥杯---试题 算法提高 欧拉函数(数学)
2019-03-17
【网络加速】TensorRT7-开发指南中文_Plus版【1】
2019-03-17
SaltStack about The Top File 使用知识介绍
2019-03-17
网络协议和支持(一)、uuid模块
2019-03-17
numpy.vstack
2019-03-17
numpy.frombuffer()
2019-03-17
文件结束符EOF
2019-03-17
Latex 错误集合
2019-03-17
Python的内置函数(四十一)、 index()
2019-03-17
Python的内置函数(四十二)、 numel()
2019-03-17
Python 代码占多行
2019-03-17
TypeError: string indices must be integers
2019-03-17
卷积神经网络的工程技巧总结
2019-03-17