Java笔记-数组类型

数组类型

数组:
java的数组必须先初始化,然后才可以使用,所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值。

数组的初始化:静态初始化、动态初始化

静态初始化:
初始化时程序员显式指定每个数组元素的初始值,由系统决定数组长度。
实例:
int [ ] a ; //定义了一个int类型的数组,数组名为a
a=new int [ ] {5,6,8,20}; //使用静态初始化,初始化数组时只指定数组元素的初始值,不指定数组长度
实例2:
Object b;
b=new Object [ ] {“java”,“python”}; //定义数组时所指定数组元素类型的子类 String是Object的子类。
也可以在定义的同时对数组进行初始化
如:
int [ ] a={5,5 ,6};

动态初始化:
格式:数组名 = new type[length] //length是一个int类型的参数,代表数组的长度。
实例:
int [ ]a;
a=new int[5];

此时系统会为数组赋初值
数组元素类型为整形:初值为0;
浮点型:初值为0.0
字符型:初值为’\u0000’
布尔类型:初值为false
引用类型:初值为null

*注意不要同时使用静态初始化和动态初始化,也就是说不能同时为数组赋值和赋数组长度引长度。

使用数组

对数组的操作包括赋值、取出数组中的元素。

访问数组中的元素就是通过【】里的索引值访问对应的数组元素,访问到数组元素,就可以将它视为一个普通变量来使用了。

注意数组的索引值时从0开始的,索引值的最大值为数组长度-1;

如果访问数组的索引值小于0或者>=数组长度,则会出现数组索引越界的情况

所有的数组都提供一个length属性,我们可以通过length访问到数组长度

例:输出prices数组每个数组元素的值

for(var i=0;i<price.length;i++)
{
System.out.println(price[i]);
}

foreach循环

特点:这种循环遍历数组和集合更加简洁。使用foreach循环遍历数组和集合元素时,无须获得数组和集合的长度,无须根据索引值来访问数组元素和集合个数,foreach循环自动遍历数组和集合的每个元素。

语法格式:

for(type variableName :array | collection

{

​ //varialbeName自动迭代访问每个元素

}

​ 上面中type是数组元素或集合元素的类型,或者直接使用var定义,variableName是一个形参名,foreach循环将自动将数组元素、集合元素、依次赋给该变量。

例:(参考java疯狂讲义)

public class ForEachTest
{
    public static void main(String[] args)
    {
        String [] books={"fsdfs","sfsdfsdfsd","fsdfasdfsd"};
        for(String book : books)
        {
            System.out.println(book);
        }
    }
}

从上面的程序可以看出:使用foreach循环遍历数组元素时无须获得数组长度,也无须根据索引值来访问数组元素。

foreach循环和普通循环不同的是,它无须循环条件,无须循环迭代语句,这些部分都由系统来完成,foreach循环自动迭代数组的每个元素,当每个元素都被迭代完,循环自动结束。

  • 对于foreach 循环而言,循环变量的类型可由编译器自动识别,因此可以使用var来定义类型。
  • 使用foreach循环来迭代输出数组元素和集合元素时,通常不要对循环变量进行赋值,在foreach循环中对数组元素进行赋值,结果可能导致不能正确遍历数组元素,不能正确取出每个数组元素的值。因为foreach中的循环变量相当于一个临时变量,系统会把值赋给临时变量,而这个临时变量并不是数组元素。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值