【java笔记】数组概念初始化及相关操作
数组概念:
是一种容器,可以同时存放多个数据值
数组特点:
引用数据类型,类型必须统一,长度不可改变
数组的初始化:
在内存中创建一个数组,并且向其中赋予一些默认值
动态初始化
int[] num=new int[5];
int[] num1=new int[n];//数组长度不要求是常量
动态初始化数组,元素拥有一个默认值
整数类型:0 浮点类型:0.0 字符类型:‘\u0000’
布尔类型:false 引用类型:null
静态初始化
在创建数组的时候,不直接指定数据个数多少,而是直接将具体的数据内容进行指定
数据类型[] 数组名称=new 数据类型[] {元素1,元素2,....}
数据类型[] 数组名称= {元素1,元素2,....}
int []arrayF={1,2,3};
系统将大括号中的具体数值替换默认值
根据内容自动推算长度
数组元素的访问:
数组名[索引]:0~length-1
int []arrayD=new int[]{5,15,25};
System.out.println(arrayD); //[I@776ec8df
内存地址哈希值
数组常见错误:
数组越界:如果访问数组元素的时候,索引编号并不存在,那么将会发生数组索引越界异常
空指针异常:数组必须进行new初始化才能使用其中的元素
获取数组的长度:数组名称.length
注意:数组长度不可改变。
int []arrayC=new int [3];//长度为3
arrayC=new int[5];//长度为5
两个数组因为是不同的new,所以有不同的内存空间,但是名字相同
遍历:
for(int i=0;i<array.length;i++){array[i];
}
for-each:(增强for)
for(var n:num){n;
}
num为数组或实现Iterable接口的类对象
(当不希望遍历整个集合,或者需要使用下标时,不用增强for)
Arrays工具类的使用:
java.util.Array是一个数组相关的工具类,里面提供了大量的静态方法,用来实现数组常见的操作toString(数组): 数组变成字符串 [1,2,...]
sort(数组):默认升序
使用了优化的快速排序算法
copyof(数组,长度):数组拷贝
fill(数组,a):数组全部赋值a
equals(数组1,数组2):数组12长度相同,对应下标元素相同返回true
数组拷贝:
直接赋值:两个变量引用同一个数组
int[] num1=num2;
copyof:拷贝到一个新数组
int []num1=Array.copyof(num2,num2.length)
(num2长度大于数组长度,默认值;num2长度小于数组长度,截断)
【java笔记】数组概念初始化及相关操作相关推荐
- Java中数组怎么初始化?数组初始化方法
关于Java中数组怎么初始化的文章早已是非常多了,本文是对我个人过往学习Java,理解及应用Java数组的一个总结.此文内容涉及Java中数组初始化的三大方法等相关问题,希望对大家有所帮助. Java ...
- [笔记] 阿里云服务器的相关操作
文章目录 前言 ECS 服务器数据转移 磁盘扩容 磁盘扩容 Ubuntu 无法启动 更换系统盘 快照及镜像 卸载.挂载数据盘 标题:[笔记] 阿里云服务器的相关操作 前言 最近一直在用阿里云服务器,感 ...
- Java学习笔记#数组的初始化方式
数组的初始化方式一共有三种:静态初始化,动态初始化,默认初始化. 1 package cn.sxz.arrays; 2 /** 3 * 测试数组的三种初始化方式 4 * @author xingzhu ...
- 读thinking in java笔记(四):初始化
随着计算革命的发展,"不安全"的编程方式已逐渐成为编程代价高昂的主因之一. 初始化和清理(cleanup)正是涉及安全的两个问题.许多C程序的错误都源于程序员忘记初 ...
- Java中数组的初始化
一.什么是初始化 在Java程序开发中,使用数组之前都会对其进行初始化,这是因为数组是引用类型,声明数组只是声明一个引用类型的变量,并不是数组对象本身,只要让数组变量指向有效的数组对象,程序中就可使用 ...
- Java对象数组的初始化
对象数组的声明可以有两种方式,以Student为例 对象数组的初始化也有两种 一种是静态的初始化 一种是动态的初始化 如果动态初始化时.创建对象不进行new Student(1,'a'),而直接调用m ...
- JAVA笔记(2)变量初始化,数组,包,继承,修饰符
变量初始化 未初始化的变量不能被使用.声明一个对象时要为他分配内存 Object obj=new Object(); int对象初始化时要为他指定内存. int i = 10; int[] a = n ...
- 【堆笔记】java堆(PriorityQueue)的相关操作
//创建一个小根堆PriorityQueue<Integer>minheap=new PriorityQueue<>();//创建一个大根堆PriorityQueue<I ...
- JAVA笔记--数组和字符串常用方法
数组 定义 int arr[]; int[] arr2; 初始化 int arr[] = new int[]{1, 3, 5, 7, 9}; int[] arr2 = {2, 4, 6, 8, 10} ...
最新文章
- 05-cache相关的系统寄存器
- ORACLE 11G安装全过程
- python虽然火为什么工作少_学 Python 的理由千万条,不秃第一条
- java 的对象类用_java基础(第零篇)对象与类
- 机器学习之线性回归 损失函数、代价函数、目标函数
- 网站XML格式的网站地图(sitemap)格式
- 超强在线小游戏网源码 内置80个小游戏 上传空间直接用
- jupyter notebook选择conda环境
- 软工实践-第二次会议
- 在线解答:怎么拥有TrustedInstaller权限?
- Gamma 分布函数可加性证明
- 打砖块android代码,打砖块游戏的源代码
- 大白菜u盘启动盘清除系统登录密码详细教程
- R语言使用cph函数和rcs函数构建限制性立方样条cox回归模型、使用cox.zph函数执行PH检验、检验模型是否满足等比例风险
- PHP程序员需要注意的代码规范PSR有哪些?
- java进制转换界面,java进制转换器 图形用户界面 十进制及其相反数诀别转化为二,四,八,十六进制...
- 说几个微信实用重磅功能!
- ZOJ4062 Plants vs. Zombies 二分
- Unity——责任链模式(土味情话传递)
- 和自己对话--陶渊明《饮酒》
热门文章
- ICPC程序设计题解书籍系列之九:罗勇军《算法竞赛入门到进阶》
- UVA12468 Zapping【水题】
- UVA11292 HDU1902 POJ3646 The Dragon of Loowater【贪心】
- 操作系统的 (program)loader(程序加载器)
- 强悍的 Linux —— 文件解压与解压
- CentOS 下的包管理工具RPM
- 卷积及卷积的性质与应用
- 小白用python处理excel文件-刚入门的小白用Python操作excel表格!使工作效率提升一倍不止!...
- python400集视频教程-微软官方出品的400集Python精品视频教程,这正是我们急需的!...
- python入门-Python入门之类(class)