一、数组内存分析

1、java中的数组是引用数据类型,必须分配在堆中,数组中每个元素相当于它的成员变量(默认值为0);但C中的数组可以分配在栈中。数组中的元素可以是基本类型,也可以是引用类型。如String s1[];//存储的是String的引用。

2、Java中声明数组时不能指定其长度。如 int a[5];//错误

3、数组名 = new 数组元素类型 [数组元素的个数]

int [] s;//null
s=new int[5];//默认为0
//int s[]=new int[5]
for(int 1=0; i<5; i++){
s[i]=i;
}
public class Test{
public static void main(String args[]){
Date [] days;//null
days = new Date[3];//null
for(int i=0; i<3; i++){
days[i] = new Date(2004,4,i+1);
}
}
}
class Date{
int year;
int month;
int day;
Date(int y, int m, int d){
year = y;
month = m;
day = d;
}
}

二、创建和使用

1、动态初始化:数组定义与为数组元素分配空间和赋值分开进行。(如上例)

2、静态初始化:数组定义的同时为数组元素分配空间并赋值。

如:int a[]={1,2,3};Date days[]={new Date(2004,4,1),new Date(2004,4,2),new Date(2004,4,3)};

注意:数组元素相当于类的成员变量,按照成员变量的规则默认初始化

三、引用

arrayName[index] index=0~n-1

arrayName.length求数组长度

public class Test{
public static void main(String args[]){
int a[] = new int[args.length];
for(int i = 0;i<args.length; i++){
a[i] = Integer.parseInt(args[i]);
}
print(a);
}
private static void print(int[] a){
for(int i = 0;i<a.length; i++){
System.out.print(a[i]+" ");
}
}
}

JAVA笔记21-数组的更多相关文章

  1. Java笔记(八)……数组

    数组的概念 同一种类型数据的集合.其实数组就是一个容器. 数组的好处 可以自动给数组中的元素从0开始编号,方便操作这些元素. 数组的格式 元素类型[] 数组名 = new 元素类型[个数]; int[ ...

  2. Java笔记之数组

    1.int flags[] = new int[10];数组中的每个元素初始化为0. Arrays.fill(flags, 0);将数组中每个元素置为0.

  3. Thinking in Java——笔记(21)

    Concurrency However, becoming adept at concurrent programming theory and techniques is a step up fro ...

  4. [java笔记]动态数组

    private int count;//计数器 private int ary[] = new int [3]; if(count >= ary.length){ //数组动态扩展 int ne ...

  5. JAVA自学笔记21

    JAVA自学笔记21 1.转换流 由于字节流操作中文不是非常方便,因此java提供了转换流 字符流=字节流+编码表 1)编码表 由字符及其对应的数值组成的一张表 图解: 2)String类的编码和解码 ...

  6. [java小笔记] 关于数组内存管理的理解

    数组是大多数编程语言都提供的一种复合结构,如果程序需要多个类型相同的变量时,就可以考虑定义一个数组,java语言的数组变量时引用类型的变量,因此具有java引用变量的特性.在使用数组之前必须对数组对象 ...

  7. 【原】Java学习笔记011 - 数组

    package cn.temptation; import java.util.Scanner; public class Sample01 { public static void main(Str ...

  8. java笔记 -- 数组

    概念: 数组是一种数据结构, 用来存储同一类型值的集合. 通过一个整型的下标可以访问数组中的每一个值. 声明: int[] a(推荐,将类型int[](整形数组)和变量名分开了) 或者int a[] ...

  9. 菜鸡的Java笔记 第七 - java 数组

    数组的基本概念     笔试中经常出现的试题或是问题    1.1 概念        数组指的是一组相关变量的集合         如果用最原始的方式定义100个变量的话没问题但是这些变量的关联实在 ...

  10. java笔记整理

    Java 笔记整理 包含内容     Unix Java 基础, 数据库(Oracle jdbc Hibernate pl/sql), web, JSP, Struts, Ajax Spring, E ...

随机推荐

  1. Spring 中如何自动创建代理(spring中的三种自动代理创建器)

    Spring 提供了自动代理机制,可以让容器自动生成代理,从而把开发人员从繁琐的配置中解脱出来 . 具体是使用 BeanPostProcessor 来实现这项功能. 这三种自动代理创建器 为:Bean ...

  2. mapreduce的shufflue过程

    一.Map阶段: a. 文件切片之后,每一个切片对应一个MapTask b. 在MapTask中,默认按行读取,每读取一行,就调用一次map方法 c. map方法在执行的时候会将结果(这个结果中已经包 ...

  3. 1.MySQL的基本使用

    数据库的操作: 1.Windows中如何使用CMD进入MySQL数据库:     1 Windows+R  -->  输入 cmd 运行     2 C:\Users\***>D:    ...

  4. Metinfo3.0 /include/common.inc.php PHP代码注入

  5. 【VS开发】Caffelib中出现的问题:强制链接静态库所有符号(包括未被使用的)

    C++程序在链接一个静态库时,如果该静态库里的某些方法没有任何地方调用到,最终这些没有被调用到的方法或变量将会被丢弃掉,不会被链接到目标程序中.这样做大大减小生成二进制文件的体积.但是,某些时候,即使 ...

  6. lua基础学习(三)

    一.lua函数 1.在Lua中,函数是对语句和表达式进行抽象的主要方法.既可以用来处理一些特殊的工作,也可以用来计算一些值.Lua 提供了许多的内建函数,你可以很方便的在程序中调用它们,如print( ...

  7. vue --》动态路由的实现 (根据用户的权限来访问对应的模块)

    为了设置用户的访问权限,所以在一个vue工程中,往往需要前端和后端开发人员共同配合设置动态路由, 进而实现根据用户的权限来访问对应的模块 1.首先在登录页面,前端跟据后端返回的路由信息进行配置,配置后 ...

  8. IDEA 双击只选择了一个变量的某部分单词

    1,很多抄袭文章说  在keymap 里搜索 select Word at caret , 鄙视手动抄袭和编写爬虫来 作恶的开发者. 2,自己试了,File菜单 ---->  settings- ...

  9. hbase 查看hfile文件

    emp表数据结构 hbase(main):098:0> scan 'emp' ROW COLUMN+CELL row1 column=mycf:depart, timestamp=1555846 ...

  10. 【转帖】Spring Boot 为什么这么火?

    Spring Boot 为什么这么火? 2019/06/03 http://www.ityouknow.com/springboot/2019/06/03/spring-boot-hot.html 没 ...