0

0

Java数组的定义和使用方式

WBOY

WBOY

发布时间:2023-04-23 16:22:07

|

4447人浏览过

|

来源于亿速云

转载

    一、数组的基本用法

    1.什么是数组

    数组:存储一组相同数据类型的数据的集合。

    2.定义数组 

    int[] :int类型数组 

    double[] :double类型数组

    通过类型就可以定义变量,比如:

    int[] array,array就是这个类型的变量,这个变量是存储一组相同数据的变量。

    立即学习Java免费学习笔记(深入)”;

    三种数组定义的方式:

    Java中数组怎么定义使用

    第一种:

    int[] array = {1,2,3,4,5,6};定义一个数组且初始化 

    虽然没写new,但实际上也是一个对象

    注意事项:

    int[10] array =  {1,2,3,4,5,6};写法错误,int[] 属于类型,中括号里面不能加任何的数字,相当于在这里破坏了它的类型。

    第二种:

    int[] array2 = new int[3];

    Java中数组怎么定义使用

     定义数组未初始化

    第三种:

    int[] array3 = new int[]{1,2,3,4,5,6};

    Java中数组怎么定义使用

    定义且初始化 

    三种当中用的最多的就是第一种

    3.数组的使用

    获取数组长度:

    Java中数组怎么定义使用

    Java里面可以直接通过数组名array.length 求出当前数组的长度

    访问数组元素:

    Java中数组怎么定义使用

    访问数组下标为4的元素 

    越界访问数组元素:

    Java中数组怎么定义使用

     Java语言越界直接报错

    更改数组元素:

    Java中数组怎么定义使用

     通过数组名中括号的方式,不仅仅可以访问下标的内容,也可以往下标里面写一些数据 

    打印数组: 

    第一种:(for循环)

    Java中数组怎么定义使用

     第二种:(增强for循环,for each循环)

    Java中数组怎么定义使用

    for循环和for each循环的区别:

    for循环是可以拿到下标的,

    for each循环是拿不到下标的,更多的是用于集合中

    第三种:借助Java的操作数组工具类 Arrays

    Java中数组怎么定义使用

    Koobi Pro
    Koobi Pro

    主要功能: 无限级分类,商品可在各类别间自由转移; 组合商品概念,可以用于组配商品销售(比如服装鞋帽的颜色、尺码大小等),组合销售等销售方式; 商品的自定义属性功能,商品类别扩展属性,满足商品多属性需求(比如某一笔记本电脑,可以有cpu、内存、显示屏、硬盘等等扩展属性); 按照商品类别查看热卖、特价,允许按每个类别增加当前类别的热卖、特价等商品; 会员分级功能,会员积分功能。可根据会

    下载

    二、数组作为方法的参数

    基本用法

    JVM简单介绍

    Java中数组怎么定义使用

    Java中数组怎么定义使用

     局部变量在内存中的储存:

    Java中数组怎么定义使用

    引用不指向对象写法:

    Java中数组怎么定义使用

    这个引用不指向任何的对象

    Java中数组怎么定义使用

    一个引用能不能同时指向多个对象吗? 

    Java中数组怎么定义使用

    对于这个代码来说只能指向一个对象,存一个对象的地址。最终只保存了最后一个对象的地址 

    数组作为方法的参数传递的过程:

    Java中数组怎么定义使用

    求解打印结果:

    前两种求解:

    Java中数组怎么定义使用

    fun2打印结果:

    Java中数组怎么定义使用

    分析例子:下图代表什么 

    Java中数组怎么定义使用

    代表array2这个引用,指向了array1这个引用指向的对象。

    下图就代表了上面例子的意思:

    Java中数组怎么定义使用

    注意事项:

    引用指向引用这句话 是错误的,引用只能指向对象

    引用一定在栈上吗?

    不一定,一个变量在不在栈上,是你变量的性质决定的,如果你就是一个局部变量,一定是在栈上的。如果不是,例如,实例成员变量那就不一定就是在栈上的。

    三、数组练习题

    1.交换两个变量的值

    public class TestDemo {
        public static void swap(int[] array){
            int tmp = array[0];
            array[0] = array[1];
            array[1] = tmp;
     
        }
        public static void main(String[] args) {
            int[] array = {10,20};
            System.out.println("交换前: "+array[0]+" "+array[1]);
            swap(array);
            System.out.println("交换后: "+array[0]+" "+array[1]);
        }

    打印结果:

    Java中数组怎么定义使用

    2.写一个方法, 将数组中的每个元素都 * 2 

     /**
         * 在原来的数组上扩大2倍
         * @param array
         */
        public static void enlarge(int[] array){
            for (int i = 0; i <array.length ; i++) {
                array[i] = array[i]*2;
            }
     
        }
     
        public static void main(String[] args) {
            int[] array = {1,2,3,4,5,6,7};
            enlarge(array);
            System.out.println(Arrays.toString(array));
        }

    打印结果:

    Java中数组怎么定义使用

    把原来数组扩大2倍的值放在一个新的数组中

    /**
         * 把原来数组扩大2倍的值放在一个新的数组中
         * @param array
         * @return
         */
        public static int[] func(int[] array) {
            int[] ret = new int[array.length];
            for (int i = 0; i < array.length; i++) {
                ret[i] = array[i] * 2;
            }
            return ret;
        }
     
        public static void main(String[] args) {
            int[] array = {1,2,3,4,5,6,7};
           int[] ret =  func(array);
            System.out.println(Arrays.toString(ret));
        }

    3.模拟实现tostring函数

    public static String myToString(int[] array){
            String str = "[";
     
            for (int i = 0; i <array.length ; i++) {
                str = str+array[i];
                if(i != array.length-1){
                    str+= ",";
                }
            }
            str= str + "]";
            return str;
        }
     
        public static void main(String[] args) {
            int[] array = {1,2,3,4,5,6,7};
           String str =  myToString(array);
            System.out.println(str);
        }

    打印结果:

    Java中数组怎么定义使用

    4.找数组中的最大元素 

    public static int maxNum(int[] array){
            if(array == null) return -1;
            if (array.length == 0) return -1;
            int max = array[0];
            for (int i = 1; i <array.length ; i++) {
                if(max < array[i]){
                    max = array[i];
     
                }
            }
            return max;
        }
     
        public static void main(String[] args) {
            int[] array = {12,8,14,26,5,7,8};
            int max = maxNum(array);
            System.out.println(max);
        }

    打印结果:

    Java中数组怎么定义使用

    5.查找数组中指定元素(顺序查找) 

       public static int findNum(int[] array,int key){
            for (int i = 0; i <array.length ; i++) {
                if(array[i] == key){
                    return i;
                }
            }
            return -1;
        }
     
        public static void main(String[] args) {
            int[] array = {2,4,5,6,11,7,8,9};
            System.out.println(findNum(array, 7));
     
        }

    打印结果:

    Java中数组怎么定义使用

    6.查找数组中指定元素(二分查找) 

    二分查找的必要条件是必须有序的数列
        public static int binarySearch(int[] array,int key){
            int left = 0;
            int right = array.length-1;
            while(left <= right){
                int mid = (left+right)/2;
                if(array[mid] > key){
                    right = mid - 1;
                }else if(array[mid] < key){
                    left = left + 1;
                }else{
                    return mid;
                }
     
            }
            return -1;
        }
     
        public static void main(String[] args) {
            int[] array = {12,14,15,16,18,23};
            System.out.println(binarySearch(array, 15));
        }

    打印结果:

    Java中数组怎么定义使用

    相关文章

    java速学教程(入门到精通)
    java速学教程(入门到精通)

    java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

    下载

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    数据类型有哪几种
    数据类型有哪几种

    数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    312

    2023.10.31

    php数据类型
    php数据类型

    本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

    223

    2025.10.31

    c语言 数据类型
    c语言 数据类型

    本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

    97

    2026.02.12

    string转int
    string转int

    在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

    870

    2023.08.02

    int占多少字节
    int占多少字节

    int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

    592

    2024.08.29

    c++怎么把double转成int
    c++怎么把double转成int

    本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

    294

    2025.08.29

    C++中int的含义
    C++中int的含义

    本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

    210

    2025.08.29

    c++怎么把double转成int
    c++怎么把double转成int

    本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

    294

    2025.08.29

    Golang 并发编程模型与工程实践:从语言特性到系统性能
    Golang 并发编程模型与工程实践:从语言特性到系统性能

    本专题系统讲解 Golang 并发编程模型,从语言级特性出发,深入理解 goroutine、channel 与调度机制。结合工程实践,分析并发设计模式、性能瓶颈与资源控制策略,帮助将并发能力有效转化为稳定、可扩展的系统性能优势。

    11

    2026.02.27

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Kotlin 教程
    Kotlin 教程

    共23课时 | 3.9万人学习

    C# 教程
    C# 教程

    共94课时 | 10.3万人学习

    Java 教程
    Java 教程

    共578课时 | 73.5万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号