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中有 ...
随机推荐
- 完全卸载win10上的Ubuntu子系统 - Windows Subsystem for Linux(WSL)
Ctrl + R 键入: lxrun /uninstall /full 具体请看 microsoft的说明:Frequently Asked Questions
- IIS ASP.NET MVC 上传文件到NAS目录
项目要求,网站用户上传的文件,存储到服务器挂接的NAS磁盘里,死活也写不进去,一直提示 System.IO.IOException: 指定的服务器无法运行请求的操作 阿里的客服也问过了, 一群只知道发 ...
- 2018-8-10-win10-UWP-圆形等待
title author date CreateTime categories win10 UWP 圆形等待 lindexi 2018-08-10 19:16:50 +0800 2018-2-13 1 ...
- 在阅读众多的blog中,我学到了什么
写博客的人,自然会读别人的博客:读博客的人,不一定会写博客.但是这两种人之间的差别是很大的 在最近在一段时间,发现了一个好的博客,通过该博客的友链,发现了新大陆.... 从Jeff Wong开始,到老 ...
- TypeError: Object of type 'int32' is not JSON serializable
将模型用flask封装,返回json时报错:TypeError: Object of type 'int32' is not JSON serializable 网上搜索出的解决方案:重写json.J ...
- GetWindowsDirectoryA and GetSystemDirectory
#include <iostream> #include <Windows.h> using std::cout; using std::endl; // 获取Windows文 ...
- 欧拉路径 && 欧拉回路
- fiddler增加ip以及响应时间列
最近打算看一下移动端app的响应等请求,这里打算用fillder来查看appium的模拟出发请求的操作来查看结果, 所以我们需要在左侧的面板增加我们所需要的ip,响应时间等数据以方便我们查看 fidd ...
- jedate(日期插件)
首先要引入JQuery,然后引入jedate.css和jedate.js(注:需要把下载好的jedate文件夹整个的放在项目中,不然图标无法显示) 没有把整个文件夹放进去的效果 ...
- docker提示没有开启转发解决方法
vim /usr/lib/sysctl.d/00-system.conf [root@t1 ~]# vim /usr/lib/sysctl.d/00-system.conf# Kernel sysc ...