文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java中数组怎么定义使用

2023-06-29 12:15

关注

这篇文章主要为大家展示了“Java中数组怎么定义使用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java中数组怎么定义使用”这篇文章吧。

一、数组的基本用法

1.什么是数组

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

2.定义数组 

int[] :int类型数组 

double[] :double类型数组

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

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

三种数组定义的方式:

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中数组怎么定义使用

二、数组作为方法的参数

基本用法

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 

     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倍的值放在一个新的数组中

    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中数组怎么定义使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯