什么是数组:就是一堆相同类型的数据放一堆(一组相关变量的集合)

定义语法:

1.声明并开辟数组

    数据类型 数组名[] = new 数据类型[长度];

2.分布完成

  • 声明数组:数据类型 数组名 [] = null;
  • 开辟数组:数组名 = new 数据类型[长度];
public class test2 {
public static void main(String args[]) {
int arr[] = new int[];
arr[] = ;
arr[] = ;
arr[] = ;
for(int i=;i<;i++) {
System.out.println(arr[i]);
}
}
}

内存分析:

  1. 声明并开辟数组

2.分布完成

数组内存引用

数组是一个引用数据类型

public class test2 {
public static void main(String args[]) {
int arr[] = new int[];
arr[] = ;
arr[] = ;
arr[] = ;
int arr_tem[] = arr;
arr_tem[] = ;
for(int i=;i<;i++) {
System.out.println(arr[i]);
}
}
}
//输出为
       100

以上方法都是数组的动态初始化,都是为数组先开辟空间,之后再赋值。这里,就会联系到之前学习的构造方法了(再实例化对象时产生默认值),下面将介绍数组的两种静态初始化方法。

简单方法:int arr[] = {值,值,值......}   //尽量不要用

完整方法:int arr[] = new int[] {值,值,值......}

public class test2 {
public static void main(String args[]) {
int arr[] = new int[] {1,2,3};
int arr_tem[] = arr;
arr_tem[0] = 100;
for(int i=0;i<3;i++) {
System.out.println(arr[i]);
}
}
}

数组操作方法:

  1. System.arraycopy(源数组,源数组索引,目标数组,目标数组索引,长度)
public class test2 {
public static void main(String args[]) {
int arr_1[] = new int[] {1,2,3,4,5,6,7 };
int arr_2[] = new int[] {11,22,33,44,55,66,77 };
System.arraycopy(arr_1, 2, arr_2, 2, 3);//将数组2替换为11,22,3,4,5,66,77
for(int i=0; i<arr_2.length; i++) {
System.out.println(arr_2[i]);
}
} }
  1. java.util.Arrays.sort()
public class test2 {
public static void main(String args[]) {
int arr[] = new int[] {1,3,2,9,5,7,6,4};
java.util.Arrays.sort(arr);
for(int i=0; i<arr.length; i++) {
System.out.println(arr[i]);
}
}
}

JAVA基础学习之路(五)数组的定义及使用的更多相关文章

  1. JAVA基础学习之路(四)定义简单java类

    简单java类开发一般原则: 类名称必须有意义,再怎么说,要让人家看的明白吧 类之中所有属性必须使用private封装,并提供setter,getter方法 类之中可以有多个构造方法,但是必须保留有一 ...

  2. JAVA基础学习之路(一)基本概念及运算符

    JAVA基础概念: PATH: path属于操作系统的属性,是系统用来搜寻可执行文件的路径 CALSSPATH: java程序解释类文件时加载文件的路径 注释: 单行注释  // 多行注释 /*... ...

  3. JAVA基础学习之路(七)对象数组的定义及使用

    两种定义方式: 1.动态初始化: 定义并开辟数组:类名称 对象数组名[] = new 类名称[长度] 分布按成:类名称 对象数组名[] = null: 对象数组名 = new 类名称[长度]:   2 ...

  4. JAVA基础学习之路(六)数组与方法参数的传递

    通常,向方法中传递的都是基本数据类型,而向方法中传递数组时,就需要考虑内存的分配 public class test2 { public static void main(String args[]) ...

  5. Java基础学习笔记十五 集合、迭代器、泛型

    Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都 ...

  6. JAVA基础学习之路(九)[2]String类常用方法

    字符与字符串: 1.将字符数组变为字符串(构造方法) public String(char[] value) Allocates a new String so that it represents ...

  7. JAVA基础学习之路(八)[1]String类的基本特点

    String类的两种定义方式: 直接赋值 通过构造方法赋值 //直接赋值 public class test2 { public static void main(String args[]) { S ...

  8. JAVA基础学习之路(三)类定义及构造方法

    类的定义及使用 一,类的定义 class Book {//定义一个类 int price;//定义一个属性 int num; public static int getMonney(int price ...

  9. Java基础学习之“二维数组”

    一.鄙人对二维数组的理解 二维数组就是由多个数组并列而成 二.举例 1.普通数组(一维数组)的图像格式 2.二维数组的图像格式 代码 1 @Test 2 public void xueXi(){ 3 ...

随机推荐

  1. iOS数据存储类型 及 堆(heap)和栈(stack)

    iOS数据存储类型 及 堆(heap)和栈(stack) 一般认为在c中分为这几个存储区: 1栈 --  由编译器自动分配释放. 2堆 --  一般由程序员分配释放,若程序员不释放,程序结束时可能由O ...

  2. NopCommerce 3.4省市联动

    做法有两种,一种是在StateProvince表里面加个字段,另一种是新建两个表,用来存市.县的数据,表结构完全按照StateProvince走就好了.我这里用的是第二种做法,菜鸟一枚,代码写的比较烂 ...

  3. Vue01 vue基础、mvvm、ES6z知识点、计算属性、生命周期

    Vue案例: <body> <div id="app"> <!--第一部分--> <fieldset> <legend> ...

  4. Unity 游戏框架搭建 (二十三) 重构小工具 Platform

    在日常开发中,我们经常遇到或者写出这样的代码 var sTrAngeNamingVariable = "a variable"; #if UNITY_IOS || UNITY_AN ...

  5. 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法

    转 关于ORA-00257: archiver error. Connect internal only, until freed 错误的处理方法 2016年03月31日 10:14:59 阅读数:1 ...

  6. Tesseract-OCR 自动生成识别库的批处理

    用Tesseract-OCR做识别库的时候,生成字典非常麻烦,就写了一个批处理,用来生成字典还是蛮方便的,希望大家有用,该批处理已经自动生成font_properties文件,各位无需手动创建 下载地 ...

  7. Django学习笔记1

    重点在注释# 1.views.py from django.shortcuts import render from django.http import * #from django.templat ...

  8. Hbase过滤器

    Hbase过滤器简介 HBase的基本API,包括增.删.改.查等,增.删都是相对简单的操作,与传统的RDBMS相比,这里的查询操作略显苍白,只能根据特性的行键进行查询(Get)或者根据行键的范围来查 ...

  9. 网站用户行为分析——Linux的安装

    Linux的选择 在Linux系统各个发行版中,CentOS系统和Ubuntu系统在服务端和桌面端使用占比最高,网络上资料最是齐全,所以建议使用CentOS系统或Ubuntu. 一般来说,如果要做服务 ...

  10. 基于OMAPL138的字符驱动_GPIO驱动AD9833(三)之中断申请IRQ

    基于OMAPL138的字符驱动_GPIO驱动AD9833(三)之中断申请IRQ 0. 导语 学习进入到了下一个阶段,还是以AD9833为例,这次学习是向设备申请中断,实现触发,在未来很多场景,比如做用 ...