Arrays 001
1.1 Array Initalization
First of all, we need know Java arrays is static. When the array is initialized, the length of the array is immutable. The expansion of the arraylist is to create a larger array, and then copy the original array to the new array and add new elements. Java arrays must be initialzed before they can be used. Initialization is to allocate memory space for array objects.If we use arraylist but no explicit array length definition. The default length of the array is 10.
And Java array variables are reference variables. Using static initialization does not need to specify the length of the array, the system determines the length of the array. When performing dynamic array initialization, the system assigns default values to each array element.
The array element type is an integer type in the basic type(byte, short, int, long), and the default value is 0.
The array element type is a floating-point type in the base type(float, double), with a default value of 0.0.
The array element type is a character type in the basic type(char), and the default value is \u0000.
The array element type is a boolean type in the basic type, and the default value is false.
The array element type is a reference type in the basic type, and the default value is null.
Do not specify both the length of the array and the initial value of each array element when initializing the array.
summary: Java arrays are static. Once the initialization of the array is complete, the space allocation of the array elements is ended. The program can only change the value of the array elements, and cannot modify the length of the array.
An array variable in Java is a reference variable. And array variable is not an array, it just points to an array object in heap memory. Therefore changing the array referenced by an array variable will cause the illusion of variable array length.
Initialization of basic data types, the values of array elements are stored directly in the corresponding array elements. The program directly allocates memory space for the array, and then stores the values of the array elements into the corresponding memory.
All local variables are stored in the stack memory. Whether it is a basic data type variable or a reference type variable, it is stored in its own method stack area. Howerver, the objects referenced by reference type variables are always stored in heap memory. Object in heap memory can only be accessed through reference variable. A reference variable is essentially a pointer. As long as the program accesses the property or calls a method through the reference variable, the reference variable will be replaced by the object which it references.
Because of the nature of data in heap memory, array objects in heap memory require array reference variable to access. Avoid direct access to the data in the heap memory in the Java language can ensure that the program is more rebust. The program cannot directly access and modify the data in the heap memory, which protects the integrity of the data in the memory.
Arrays 001的更多相关文章
- AtCoder Petrozavodsk Contest 001 B - Two Arrays
Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement You are given two inte ...
- AtCoder Grand Contest 001 D - Arrays and Palindrome
题目传送门:https://agc001.contest.atcoder.jp/tasks/agc001_d 题目大意: 现要求你构造两个序列\(a,b\),满足: \(a\)序列中数字总和为\(N\ ...
- Atcoder Grand Contest 001 D - Arrays and Palindrome(构造)
Atcoder 题面传送门 洛谷题面传送门 又是道思维题,又是道把我搞自闭的题. 首先考虑对于固定的 \(a_1,a_2,\dots,a_n;b_1,b_2,\dots,b_m\) 怎样判定是否合法, ...
- 经常使用的系统类Math、Arrays、System、BigInteger和BigDecimal以及日期类,时间戳
一.Math 常用类: //看看Math常用的方法(静态方法)//1.abs绝对值int abs = Math . abs(-9);System. out . printLn(abs);//9//2. ...
- Java程序员的日常—— Arrays工具类的使用
这个类在日常的开发中,还是非常常用的.今天就总结一下Arrays工具类的常用方法.最常用的就是asList,sort,toStream,equals,copyOf了.另外可以深入学习下Arrays的排 ...
- 使用 Arrays 类操作 Java 中的数组
Arrays 类是 Java 中提供的一个工具类,在 java.util 包中.该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序.搜索等(关于类和方法的相关内容在后面的章节中会详细讲解滴 ...
- 【转】java.util.Arrays.asList 的用法
DK 1.4对java.util.Arrays.asList的定义,函数参数是Object[].所以,在1.4中asList()并不支持基本类型的数组作参数. JDK 1.5中,java.util.A ...
- System.arraycopy()和Arrays.copyOf()的区别
先看看System.arraycopy()的声明: public static native void arraycopy(Object src,int srcPos, Object dest, in ...
- 计算机程序的思维逻辑 (31) - 剖析Arrays
数组是存储多个同类型元素的基本数据结构,数组中的元素在内存连续存放,可以通过数组下标直接定位任意元素,相比我们在后续章节介绍的其他容器,效率非常高. 数组操作是计算机程序中的常见基本操作,Java中有 ...
随机推荐
- pytest-调整测试用例的执行顺序
场景:未考虑按自然顺序执行时,或想变更执行顺序,比如增加 数据的用例要先执行,再执行删除的用例.测试用例默认是按名 称顺序执行的. • 解决: • 安装:pip install pytest-orde ...
- change transformation file in PI interface
1. Jane extends the ZTMMASKU sap table 2. Jane write the program to write the new attribute to the t ...
- springboot整合RocketMq(非事务)
1.配置文件 1.yml配置文件 rocketmq: #mq配置 producer: iseffect: true type: default # (transaction,default) tran ...
- Redis 布隆过滤器
1.布隆过滤器 内容参考:https://www.jianshu.com/p/2104d11ee0a2 1.数据结构 布隆过滤器是一个BIT数组,本质上是一个数据,所以可以根据下标快速找数据 2.哈希 ...
- Mybatis-概况
是什么 官网定义 http://www.mybatis.org/mybatis-3/ 百科定义(维基百科) https://en.wikipedia.org/wiki/MyBatis Github: ...
- 说一下HTML5与传统HTML的区别
1.首先说一下什么是HTML5 HTML5 将成为 HTML.XHTML 以及 HTML DOM 的新标准. HTML 的上一个版本诞生于 1999 年.自从那以后,Web 世界已经经历了巨变. HT ...
- elasticsearch学习笔记001
<Elasticsearch 核心技术与实战>课程Github代码 https://github.com/onebirdrocks/geektime-ELK 运行的环境: windows ...
- CF687D Dividing Kingdom II
\(\mathtt{CF 687D}\) \(\mathcal{Description}\) 给你一个图有 \(n\) 个点 \((1 \leq n \leq 10^3)\) 和 \(m\) 条边 \ ...
- HTML ASCII 参考手册
HTML 和 XHTML 用标准的 7 比特 ASCII 代码在网络上传输数据. 7 比特 ASCII 代码可提供 128 个不同的字符值. 7 比特 可显示的 ASCII 代码 结果 描述 实体编号 ...
- luoguP3690 【模板】Link Cut Tree (动态树)[LCT]
题目背景 动态树 题目描述 给定N个点以及每个点的权值,要你处理接下来的M个操作.操作有4种.操作从0到3编号.点从1到N编号. 0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor ...