当前位置: 首页 > article >正文

P01-Java何谓数组

P01-Java何谓数组

一、数组声明创建

1.1 数组声明的语法

与c++有所不同

在Java中,数组声明语法

  • 首选语法:
//数据类型[] 数组名称;
int[] arr;
  • 次选,与c++类似
//数据类型 数组名称[];
int arr[];

1.2 数组创建语法

与c++指针有所相似,在java中用new创建数组

//数组名称 = new 数字类型[大小]
arr = new int[10];

注意:

  • 数组的元素可以通过数组的索引来访问,索引从0开始
  • 获取数组长度:
//数组名.length
注意:数组声明和创建是可以写在一起的
int[] arr = new int [10];

二、数组是什么类型

数组是一种引用类型

三、数组的四个基本特点

  1. 长度确定,一旦被创建,大小不可变
  2. 数组中元素类型须相同
  3. 数组中元素可以是任何数据类型,包括基本类型和引用类型
  4. 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型数组对象本身是在堆中的。
注意点:数组边界

image-20240902110647363

四、数组的使用

1.普通for循环

//1.普通for循环遍历数组,这种便于使用单一数组元素
        int[] arr = {1,2,3,4,5};
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }

2.For-Each循环(增强For循环)

//1.For-Each循环,利于输出
        int[] arr = {1,2,3,4,5};
        for (int i : arr) {
            //i代表数组中的每一个元素,arr是数组名
            System.out.println(i);
            
        }

3.数组方法入参

image-20240902112657186

4.数组作为返回值

以反转数组为例:

public class Arr01 {
    public static void main(String[] args) {
            int[] arrays = {1,2,3,4,5};
            //反转后的数组
            int[] reverse = reverse(arrays);
        for (int i : reverse) {
            System.out.print(i+" ");
        }

    }

    //反转数组
    public static int[] reverse(int[] arrays){
        int[] result = new int[arrays.length];
        for(int i = 0,j=arrays.length-1;i<arrays.length;i++,j--)
        {
            result[i] = arrays[j];
        }
        return result;
    }
}

http://www.kler.cn/a/294535.html

相关文章:

  • MybatisPlus入门(十)MybatisPlus-逻辑删除和多记录操作
  • Redis - 集群(Cluster)
  • 【专题】计算机网络之网络层
  • libcurl.net入门使用
  • hadoop大数据平台
  • mysql5.7安装SSL报错解决(2),总结
  • sheng的学习笔记-AI-概率图,隐马尔可夫HMM,马尔可夫随机场MRF,条件随机场CRF
  • 尝试用java spring boot+VUE3实现前后端分离部署(8/31)
  • 时间段切块算法
  • Flask中 blinker 是什么
  • 【Spring基础1】- Spring 启示录-理解IoC控制反转
  • 电脑删除的Word文件怎么恢复?快速恢复技巧分享
  • C++入门基础
  • Mail PHP: 如何设置SMTP服务器以发送邮件?
  • Vue 3结合Element Plus中,实现一个级联选择器(Cascader)来展示省市区
  • CSS解析:定位和层叠上下文
  • Elasticsearch 向量数据库本地部署 及操作方法
  • Learn ComputeShader 09 Night version lenses
  • 如何使用Prometheus与Grafana监控Kubernetes集群
  • 图论基础1
  • 重启顺风车的背后,是高德难掩的“野心”
  • 高分辨率音频和传统音频区别
  • 学习笔记--Docker
  • 【机器学习】朴素贝叶斯网络的基本概念以及朴素贝叶斯网络在python中的实例
  • 【SpringBoot】使用Nacos服务注册发现与配置管理
  • 主板选购2