前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java基础:数组篇

java基础:数组篇

作者头像
不期而遇丨
发布2022-09-09 17:59:59
2.6K0
发布2022-09-09 17:59:59
举报
文章被收录于专栏:用户8637799的专栏

java 数组篇

数组:

数组(array)是一种最简单的复合数据类型,它是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来确定数组中唯一的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。

声明数组

必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法

代码语言:javascript
复制
int[] arr;  
 
//或
 
int test[];  
//建议使用 int[] arr;   的声明风格声明数组变量。
分配空间

声明了数组,只是得到了一个存放数组的变量,并没有为数组元素分配内存空间,不能使用。因此要为数组分配内存空间,这样数组的每一个元素才有一个空间进行存储。

简单地说,分配空间就是要告诉计算机在内存中为它分配几个连续的位置来存储数据。在 Java 中可以使用 new 关键字来给数组分配空间。分配空间的语法格式如下:

代码语言:javascript
复制
//动态初始化
type[] arrayName = new type[size];
// 数据类型[] 数组名 = new 数据类型[数组长度];
//动态初始化后就可以根据下标取到数组某个下标的值了,只不过是该类型的默认值
//动态初始化后就可以进行赋值了,赋值的类型必须和声明的类型一致
arrayName[0]=(type) n;

//静态初始化
int[] arrayName = {1,2,3,4,5};
//静态初始化是根据赋值的长度直接确定其数组长度
//动态的初始值都是该类型的默认值,静态的是直接给定值了。

//数组长度都是不可以改变的
//数组的下标是从0开始的,也就是说你声明长度为6的数组其下标为{012345};

那么数组的赋值已经知道了,取值和遍历(得到数组的所有元素)呢

代码语言:javascript
复制
public static void main(String[] args) {
        double[] arr = {7.2, 2.9, 6.8, 30.8};
        // 打印所有数组元素
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i] + " ");
        }
        // 计算所有元素的总和
        double sum = 0;
        for (int i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        System.out.println("元素的和为" + sum);
        // 查找最大元素
        double max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) max = arr[i];
        }
        System.out.println("最大元素:" + max);
    }

//打印结果:
7.2 
2.9 
6.8 
30.8 
元素的和为47.7
最大元素:30.8
 //也可以通过foreach循环实现,可以自己试一下
for(double element: arr)
{
    System.out.println(element);
}

这里扩展一下

代码语言:javascript
复制
 <body>
    	<input id="arr" type="button" value="点击打印" />
 </body>
 	
 	<script>
 		$('#arr').click(function(){
 			var children=[];
 			var test={
 				children:children
 			}
 			children.push("引用传递 ");
 			alert(test.children);
 		});
 	</script>
js前端点击按钮后这些语句会在页面上打印什么?
代码语言:javascript
复制
public static void main(String[] args) {
       String[] arr=new String[1];
       Test tt=new Test();
       tt.setTe(arr[0]);
        arr[0]="值传递";
        System.out.println(tt.getTe());
    }
//这个在控制台会打印什么?


Test类:
    public class Test {
    private String te;
    public String getTe() {
        return te;
    }
    public void setTe(String te) {
        this.te = te;
    }
}

可以自己试一下

多维数组

多维数组可以看成是数组里再存数组,比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组;

代码语言:javascript
复制
String str[][] = new String[3][4];
0000
0000
0000
可以看成是一个3行4列的数据
//可以从网上了解一下;与之对应的还有稀疏数组
Arrays类

java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。

具有以下功能:

  • 给数组赋值:通过 fill 方法。
  • 对数组排序:通过 sort 方法,按升序。
  • 比较数组:通过 equals 方法比较数组中元素值是否相等。
  • 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。

还有很多方法可以查看jdk api帮助文档

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • java 数组篇
    • 声明数组
      • 分配空间
        • 多维数组
          • Arrays类
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档