Java数组超详解

Java数组超详解一、前言前面我们学习了随机数的介绍和使用,那么这篇我们来学习java中数组的定义和使用,java的数组和c语言的十分类似。二、数组的定义数组定义的形式:格式1:数据类型[]数组名;如int[]arr;说明:定义了一个int类型的数组,数组名是arr格式2:数据类型数组名[];如intarr[];说明:定义了一个int类型的数组名是arr的数组…

大家好,又见面了,我是你们的朋友全栈君。

目录

一、前言

二、数组的定义

数组定义的形式:

格式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

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

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

动态开辟的示意图:

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);
}

实例演示:Java数组超详解

 代码:

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);
        }
    }
}

方法二:

实例演示:

Java数组超详解

代码:

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]);
        }
    }
}

七、数组的初始值

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

实例演示:

Java数组超详解

代码:

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
        }
}

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159188.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ps磨皮插件portraiture「建议收藏」

    ps磨皮插件portraiture「建议收藏」相信大家在使用photoshop的时候经常会配合插件来进行修图,而ps磨皮插件portraiture也是大多数人的必备插件,因为当你需要处理人像照片的话,那么磨皮将是必不可少的一个步骤,而该插件正是一个功能强大的磨皮滤镜插件,不仅为用户们提供了强大的磨皮效果,还使用起来十分的简单,无需繁琐的使用步骤,只需要简简单单的设置下磨皮参数再随意的调整下即可快速的帮助用户进行磨皮处理啦,非常方便,所以如果你要用ps的话怎么可以缺少这款ps磨皮插件呢?另外,使用这款插件的时候,你会发现它直接为用户们提供了一个单独的面板

    2022年7月22日
    22
  • 不动点与递归数列的极限有关吗_递推数列不动点法

    不动点与递归数列的极限有关吗_递推数列不动点法

    不动点与递归数列的极限
    有些收敛的数列才有不动点,比如x=1+x^(-1);x=1+x^(-2);x=1+x^(-3),下面写程序验证: 
    对x=1+x^(-3):
     
    (defunpow(numcount)
    (if(or(>count1)(eq count 1))
        (*num 
         (pownum 
            (-count1)

    2022年9月11日
    0
  • 钩子函数介绍(vue11个钩子函数)

    钩子(hook)又称钩子函数,是在一个有序的周期中的某些特殊时刻,系统内部预先设置好的函数,当系统周期到达指定时刻会自动执行该’钩子’。钩子函数的函数体内容由开发者编写,这绐了幵发者在不同阶段做某些处理的机会。钩子是很多开发语言,前后端都会涉及的概念,是一种形象的说法,源于Windows的消息处理机制。通过设置钩子,应用程序在消息过去前将其钩住,阻止其传递,然后优先处理开发者的自定义内容,俗称’下个钩子’。系统:初始化..钩子ready()运行..钩子beforeEnd(…

    2022年4月12日
    73
  • 如何将sql文件导入数据库中[通俗易懂]

    如何将sql文件导入数据库中[通俗易懂]1、首先创建一个数据库,并设置好它的名称。2、在所要操作的数据库上鼠标右键3、执行的sql脚本4、选择你要执行的文件5、点击执行直到文件导入为止即可!

    2022年10月2日
    0
  • netty bytebuffer_netty udp

    netty bytebuffer_netty udpByteBuf正如前面所提到的,网络数据的基本单位总是字节。JavaNIO提供了ByteBuffer作为它的字节容器,但是这个类使用起来过于复杂,而且也有些繁琐。Netty的ByteBuffer替代品是ByteBuf,一个强大的实现,既解决了JDKAPI的局限性,又为网络应用程序的开发者提供了更好的API。Netty的数据处理API通过两个组件暴露——abstractclassByteBuf和interfaceByteBufHolder。优点:它可以被

    2022年9月19日
    0
  • cocos3——8.实现初学者指南

    cocos3——8.实现初学者指南

    2022年1月15日
    56

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号