Java关于数组的介绍与使用

目录
  • 一、前言
  • 二、数组的定义
    • 数组定义的形式:
      • 格式1:
      • 格式2:
  • 三、数组的初始化方式:
    • 1.动态初始化
      • 动态开辟的示意图:
    • 2.静态初始化
  • 四、索引访问数组
  • 五、数组长度表示
  • 六、遍历数组
    • 方法一:
      • 实例演示:
      • 代码:
    • 方法二:
      • 实例演示:
      • 代码:
  • 七、数组的初始值
    • 实例演示:
    • 代码:

一、前言

前面我们学习了随机数的介绍和使用,那么这篇我们来学习java中数组的定义和使用,

java的数组和c语言的十分类似。

二、数组的定义

数组定义的形式:

格式1:

数据类型 [ ] 数组名 ;如int [ ]arr;

说明:定义了一个int类型的数组,数组名是arr

格式2:

数据类型 数组名[ ];如int arr[ ];

说明:定义了一个int类型的数组名是arr的数组

相比之下:显然格式1更好些,更直观,格式2是我们在c语言的常使用的

三、数组的初始化方式:

1.动态初始化

所说的动态初始化其实就是只指定大小而不指定数组内容 。

如int[]arr=new int[5];其中new是开辟空间的,new左边的int[]arr时在栈区开辟,右边是

在堆区开辟的。在Java中有且只有只用new开辟空间,用完之后不用手动释放,Java

之中的垃圾回收系统会自动判断开辟空间在使用完全且后续不再使用时会自动释放所

开辟的内存空间。栈区的使用完立马销毁。

动态开辟的示意图:

2.静态初始化

所谓静态初始化就是在创建变量的给定初始化值,由系统决定数组长度

格式 :数据类型 [ ] 数组名=new int arr[ ]{数据1,数据2.......,数据n};

如 int[ ]arr=new int arr[ ]{1,2,3,4,5};

也可以简化成:int[]arr={1,2,3,4,5};

四、索引访问数组

那我们是访问数组中的元素呢?答案是索引。

格式:数组名[索引](注:索引和c语言中的下标是一样的)

索引是从0开始的,也就是说我们要访问第一个元素就是arr[0],以此类推。

五、数组长度表示

在Java中我们没有sizeof的,但是我们可以通过下列操作求出。

格式:数组名.length 如arr.length就求出了数组arr的长度。

六、遍历数组

所谓遍历数组就是拿到数组的每一元素

方法一:

for(类型 变量名:要变遍历的数组名){
    语句;
}

如:

for(int a:arr){
Systen.out.print(a);
}

实例演示:

代码:

package com;

public class 遍历数组 {
    public static void main(String[] args) {
        int []arr={1,2,3,4,5,6};//静态初始化
        for(int a:arr){
            System.out.print(" "+a);
        }
    }
}

方法二:

实例演示:

代码:

package com;

public class 遍历数组2 {
    public static void main(String[] args) {
        int []arr={1,2,3,4,5,6};
        for(int i=0;i<arr.length;i++){
            System.out.print(" "+arr[i]);
        }
    }
}

七、数组的初始值

在类下方法外创建的变量,系统会给定一个初始值

实例演示:

代码:

package com;

public class Test {
        String S;
        int i;
        char c;
        double d;
        float f;
        boolean b;
        public static void main(String[] args) {
            Test t=new Test();//创建对象,调用该类的元素
            System.out.println(t.S);//null
            System.out.println(t.i);//0
            System.out.println(t.c);//空
            System.out.println(t.d);//0.0
            System.out.println(t.f);//0.0
            System.out.println(t.b);//false
        }
}

上图是测试的初始值,注:必须变量在类下面方法外才会有初始值(也就是成员变量)

到此这篇关于Java关于数组的介绍与使用的文章就介绍到这了,更多相关Java 数组内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java基础之不简单的数组

    目录 引言 数组也是一种类型 数组特点 数组的声明和初始化 1.静态初始化 2.动态初始化 数组和内存 总结 引言 相信有过编程基础的小伙伴都知道数组这个数据结构,它应该也是我们第一个接触的数据结构,学过C或者C++的应该知道数组和指针紧密相关,那么在java里没有了指针,java里的数组又有哪些不同的特点呢?下面就来介绍一下java里的数组: 数组也是一种类型 数组里面的数组元素都是唯一的,这个大家应该都知道,但是因为java是面向对象语言,类与类之间又有继承关系(C++中同样拥有),所以有时

  • Java中高效判断数组中是否包含某个元素的几种方法

    目录 检查数组是否包含某个值的方法 使用List 使用Set 使用循环判断 使用Arrays.binarySearch() 时间复杂度 使用一个长度为1k的数组 使用一个长度为10k的数组 总结 补充 使用ArrayUtils 完整测试代码 长字符串数据 如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作.同时,这个问题在Stack Overflow中也是一个非常热门的问题.在投票比较高的几个答案中给出了几种不同的方法,但是他们的时间复杂度也是各不相同

  • Java 数组迭代你会用吗

    目录 1.概述 2.通过循环进行数组迭代 3.JDK 8 之前使用老方式进行数组迭代 4.使用 Java 8 Stream 进行数组迭代 5.字符串的应用 6.总结 Java 数组是我们学习或工作中常用到的数据结构,我们会经常写数组迭代的代码,但你的代码是最优雅的么? 本文介绍三种数组迭代的方式以及最佳实践. 1.概述 首先我们通过遍历数组值的基本方法,来迭代数组.其次我们用 Java 比较古老的方法实现,最后我们再使用 Java 8 的 Stream API 将数组转成迭代器. 除此之外,我们

  • java循环结构、数组的使用小结

    数组 数组是是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 数组本身是引用数据类型,既可以存储基本数据类型,也可以存储引用数据类型.它的元素相当于类的成员变量. 创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址. 数组的长度一旦确定,就不能修改. 通过下标(或索引)的方式调用指定位置的元素. 数组的分类: 按照维度:一维数组.二维数组.三维数组.-按照元素的数据类型分:基本数据类型元素的数组.引用数据类型元素

  • java学习之一维数组中重复元素的去除

    目录 一.基本思路 二.步骤 1.设置判断数组Arr[ ] 2.继承数组newArr[ ]获取不重复元素 总结 一.基本思路 首先,假设一个一维数组arr[ ]={ 4, 3, 35, 3, 2, 4, 6, 3},其中有三个重复元素 3,4,3.要如何剔除呢,由于还没有涉猎到一些经典的调用,所以我选择了用新的数组newArr[ ]去继承原来数组中的不重复的元素,另外还需要一个判断数组Arr[ ],来判断arr[ ]中哪几个元素是重复的,才好去除掉. 二.步骤 1.设置判断数组Arr[ ] 代码

  • Java关于数组的介绍与使用

    目录 一.前言 二.数组的定义 数组定义的形式: 格式1: 格式2: 三.数组的初始化方式: 1.动态初始化 动态开辟的示意图: 2.静态初始化 四.索引访问数组 五.数组长度表示 六.遍历数组 方法一: 实例演示: 代码: 方法二: 实例演示: 代码: 七.数组的初始值 实例演示: 代码: 一.前言 前面我们学习了随机数的介绍和使用,那么这篇我们来学习java中数组的定义和使用, java的数组和c语言的十分类似. 二.数组的定义 数组定义的形式: 格式1: 数据类型 [ ] 数组名 :如in

  • 基于jvm java内存区域的介绍

    jvm虚拟机在运行时需要用到的内存区域.广泛一点就是堆和栈,其实不然,堆和栈只是相对比较笼统的说法,真正区分有如下几个 先上图一: 总的就是 java的内存模型 内存模型又分堆内存(heap)和方法区(有时也称为non-heap)和栈 堆又分新生代(Young)和老年代(old/Tenured) 新生代又分默认比例为8:1:1的eden空间.from survivor空间.to survivor空间 当进行垃圾回收时,eden.survivor from 存活得对象会复制到servivor to

  • Java中数组的创建与传参方法(学习小结)

    (一)数组的创建 数组的创建包括两部分:数组的申明与分配内存空间. int score[]=null; //申明一维数组 score=new int[3]; //分配长度为3的空间 数组的申明还有另外一种方式: int[] score=null; //把中括号写在数组名前面 通常,在写代码时,为了方便,我们将两行合并为一行: int score[]=new int score[3]; //将数组申明与分配内存写在一行 (二)传递参数 由于初学java,这里只讨论值传递,不考虑地址传递.主要有3点

  • Java 中的 BufferedReader 介绍_动力节点Java学院整理

    BufferedReader 介绍 BufferedReader 是缓冲字符输入流.它继承于Reader. BufferedReader 的作用是为其他字符输入流添加一些缓冲功能. BufferedReader 函数列表 BufferedReader(Reader in) BufferedReader(Reader in, int size) void close() void mark(int markLimit) boolean markSupported() int read() int

  • Java多线程atomic包介绍及使用方法

    引言 Java从JDK1.5开始提供了java.util.concurrent.atomic包,方便程序员在多线程环境下,无锁的进行原子操作.原子变量的底层使用了处理器提供的原子指令,但是不同的CPU架构可能提供的原子指令不一样,也有可能需要某种形式的内部锁,所以该方法不能绝对保证线程不被阻塞. Atomic包介绍 在Atomic包里一共有12个类,四种原子更新方式,分别是原子更新基本类型,原子更新数组,原子更新引用和原子更新字段.Atomic包里的类基本都是使用Unsafe实现的包装类. 原子

  • Java操作Redis详细介绍

    1. 简介 Redis 是一个开源(BSD许可)的,内存中的key-value存储系统,它可以用作数据库.缓存和消息中间件. 2. 对key的操作 首先要建立连接Jedis jedis = new Jedis("127.0.0.1", 6379),然后就可以对string,set,zset,hash进行操作了. //对key的测试 public void keyTest() { System.out.println(jedis.flushDB()); //清空数据 System.out

  • Java编程数组中最大子矩阵简便解法实现代码

    本文研究的主要是Java编程数组中最大子矩阵的相关内容,具体介绍如下. 遇到一个好人,可以改变一生:遇到一本好书,又何尝不是呢? 最近在翻阅 左程云先生的<程序员代码面试指南–IT名企算法与数据结构题目最优解>时就非常的有感悟.建议有这方面爱好的博友,也去观摩观摩. 书中讲解的基于栈的数组的最大矩阵的算法很经典,但是博主能力有限,没能彻底的领悟该算法的精髓,但是根据这个思想,博主想出了一种简易的应对该类问题的算法,现概述如下. 核心思想 先来看一张图吧,我们就可以大致的理解了. 如图,每一个轮

  • 详解Java合并数组的两种实现方式

    最近在写代码时遇到了需要合并两个数组的需求,突然发现以前没用过,于是研究了一下合并数组的方式,总结如下. 1.System.arraycopy()方法 (1) 解析 通过阅读JDK源码,我可以知道方法原型如下: public static native void arraycopy(Object src, int srcPos, Object dest, int destPos, int length); 其中: src是源数组 srcPos是源数组复制的起始位置 dest是目标数组 destP

  • 详解Java中数组判断元素存在几种方式比较

    1. 通过将数组转换成List,然后使用List中的contains进行判断其是否存在 public static boolean useList(String[] arr,String containValue){ return Arrays.asList(arr).contains(containValue); } 需要注意的是Arrays.asList这个方法中转换的List并不是java.util.ArrayList而是java.util.Arrays.ArrayList,其中java.

  • Java中数组与集合的相互转换实现解析

    这篇文章主要介绍了Java中数组与集合的相互转换实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 List转数组:采用集合的toArray()方法 数组转List:采用Arrays的asList()方法 数组转换为集合 注意:在数组转集合的过程中,要注意是否使用了视图的方式直接返回数组中的数据.以Arrays.asList()为例,它把数组转换成集合时,不能使用其修改集合相关的方法,它的add/remove/clear方法会抛出 Unsu

随机推荐