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

定义语法:

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. 如何设置ASP.NET页面的运行超时时间 (转载)

    全局超时时间 服务器上如果有多个网站,希望统一设置一下超时时间,则需要设置 Machine.config 文件中的 ExecutionTimeout 属性值.Machine.config 文件位于 % ...

  2. 爬虫——Scrapy框架案例二:阳光问政平台

    阳光热线问政平台 URL地址:http://wz.sun0769.com/index.php/question/questionType?type=4&page= 爬取字段:帖子的编号.投诉类 ...

  3. 关于mybatis编写sql问题.

    最近呢楼主回到长沙进行面试:被问了一个这样的问题,在mybatis中怎么进行模糊查询,望各位大佬在下方进行评论,好让我这菜鸡多学习一些.

  4. react组件间传值详解

    一.父子组件间传值     <1>父传子         父组件:

  5. VUE通过索引值获取数据不渲染的问题

    问题:vue里面当通过索引值获取数据时,ajax数据成功返回,但是在火狐下不渲染 解决:

  6. hive 学习系列六 hive 去重办法的思考

    方法1,建立临时表,利用hive的collect_set 进行去重. create table if not exists tubutest ( name1 string, name2 string ...

  7. JPMML解析PMML模型并导入数据进行分析生成结果

    JPMML解析Random Forest模型并使用其预测分析 导入Jar包 maven 的pom.xml文件中添加jpmml的依赖 <dependency> <groupId> ...

  8. python3 安装pyhanlp方法

    直接pip install pyhanlp的时候会提示缺少Microsoft Visual c++环境, 其实没有Microsoft Visual c++环境也是可以的, 可以先安装jpype1,然后 ...

  9. python学习笔记:第7天 深浅拷贝

    目录 1. 基础数据类型补充 2. set集合 3. 深浅拷贝 1. 基础数据类型补充 (1)join方法 join方法是把一个列表中的数据进行拼接,拼接成字符串(与split方法相反,split方法 ...

  10. Leecode刷题之旅-C语言/python-141环形链表

    /* * @lc app=leetcode.cn id=141 lang=c * * [141] 环形链表 * * https://leetcode-cn.com/problems/linked-li ...