当前位置: 首页 > 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/news/294535.html

相关文章:

  • 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
  • 【C/C++】Linux\Windows为什么频繁使用size_t
  • 服务器蓝屏该怎么办
  • Vue3 父子传参 简单易懂
  • Mybatis Plus快速重构真批量sql入库操作
  • PLC+AIoTedge边缘物联网平台能否替代 PLC+Wincc?
  • 13. 说说 MyBatis 的缓存机制?
  • MySQL 数据库管理与操作指南
  • 自定义view中常用到哪些方法作用分别是什么
  • 专栏前言-WooYun漏洞库环境搭建
  • Java详解String 字符串类以及String内存原理、StringBuilder类、StringJoiner类(附有代码+案例)