Java核心技术卷一 -第三章:数组

系列文章目录

Java核心技术卷一 -第一章:java“白皮书”的关键术语
Java核心技术卷一 -第三章:数据类型
Java核心技术卷一 -第三章:变量与常量
Java核心技术卷一 -第三章:运算符
Java核心技术卷一 -第三章:字符串
Java核心技术卷一 -第三章:输入与输出


前言

本人为java初学者,文章内容仅为个人学习总结分享,其中包含了大量Java核心技术卷一里面的文章内容以及一些网站文章内容,由于参考文章过多,在此并不一一列出,如有侵权,请联系删除。

一、for each循环

Java有一种功能很强的循环结构,可以用来依次处理数组(或者其他元素集合)中的每个元素,而不必考虑指定下标值。

这种增强的for循环的语句格式为:

for (variable collection)statement

它定义一个变量用于暂存集合中的每一个元素,并执行相应的语句(当然,也可以是语句块)。collection这一集合表达式必须是一个数组或者是一个实现了Iterable接口的类对象(例如ArrayList)。
例子:

        for (int element :a)
            System.out.println(element);

    打印数组a的每一个元素,一个元素占一行。

优势:
for each循环语句显得更加简洁、更不易出错,因为你不必为下标的起始值和终止值而操心。

注意:
for each循环语句的循环变量将会遍历数组中的每个元素,而不是下标值。

例子:
普通for循环:

    public class head {
    public static void main(String[] args) {
        int[] a={1,2,3,4,5,6,7,8,9,10};

        for(int i=0;i<a.length;i++)
            System.out.println(a[i]);
    }
}

for earch循环:

public class head {
    public static void main(String[] args) {
        int[] a={1,2,3,4,5,6,7,8,9,10};

        for(int i:a)
            System.out.println(i);
    }
}

结果:两种方法均得到一样的结果。
在这里插入图片描述
补充:一种更简单的方式
一个更加简单的方式打印数组中的所有值,即利用Arrays类的toString方法。调用Arrays.toString(a),返回一个包含数组元素的字符串,这些元素包围在中括号内,并用逗号分隔,例如,"[2,3,5,7,11,13]“。要想打印数组,只需要调用

    System.out.println(Arrays.toString(a));

例子:

public class head {
    public static void main(String[] args) {
        int[] a={1,2,3,4,5,6,7,8,9,10};

        System.out.println(Arrays.toString(a));
    }
}

结果:
在这里插入图片描述

二、数组拷贝

在Java中,允许将一个数组变量拷贝到另一个数组变量。这时,两个变量将引用同一个数组:

int[]luckyNumbers = smallPrimes;
luckyNumbers[5]= 12;//now smallPrimes [5]is also 12

下图显示了拷贝的结果。如果希望将一个数组的所有值拷贝到一个新的数组中去,就要使用Arrays类的copyof方法

int[]copiedLuckyNumbers =  Arrays.copyof(luckyNumbers,luckyNumbers.length);

第2个参数是新数组的长度。这个方法通常用来增加数组的大小:

    luckyNumbers = Arrays.copyof(luckyNumbers,2*luckyNumbers.length);

如果数组元素是数值型,那么额外的元素将被赋值为0;如果数组元素是布尔型,则将赋值为false.相反,如果长度小于原始数组的长度,则只拷贝前面的值。

拷贝数组图:
在这里插入图片描述

总结

以上就是本文的内容,记录了一些关于java数组的内容,本人也是刚开始接触java,不能保证总结内容的正确性,若是有错误的话,欢迎大家指出,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

luodiab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值