JAVA那些事(四)数组

目录

一维数组

声明:

初始化

二维数组

声明

初始化

数组的基本操作

 字符与字符串

字符

字符串

String类

在实际应用中,经常需要处理具有相同性质的一批数据。为此,在Java中还引入了数组,即用一个变量表示一组相同性质的数据。数组是一种数据结构,用于存储相同类型元素的集

  • 数组是一个固定大小的序列,其中每个元素都有一个唯一的索引(或称为下标)。
  • 数组中的所有元素都具有相同的类型,可以是基本数据类型(如int、double、char等)或引用数据类型(如对象、字符串等)。

一维数组

声明:

一维数组声明的格式为:

类型标识符 数组名[ ] 或 类型标识符[ ] 数组名

int[] myArray; // 声明一个整数数组
String[] names; // 声明一个字符串数组
int  score[ ]; 

初始化

要让系统为数组分配存储空间,必须指出数组元素的个数,该工作在数组初始化时进行

new初始化数组

PS:1.需要先声明数组再初始化

数组名= new 类型标识符[元素个数]

e.g

元素个数通过整型常量来表示。
要表示10个学生的成绩(整数),
可以先声明元素的数据类型为int的数组score,
再用new运算符初始化该数组。

int score[];
score=new int[10];

2.声明的同时进行初始化

可以用1条语句声明并初始化数组,即将上面的2条语句合并为一条语句。其格式如下:

类型标识符  数组名[ ] = new 类型标识符[元素个数]

类型标识符[ ]   数组名= new 类型标识符[元素个数]

e.g

要表示10个学生的学号,可以按以下方式声明并初始化数组no:
 int no[ ] = new int[10];

3.赋初值初始化数组

可以在声明数组的同时,给数组元素赋初值。所赋初值的个数决定数组元素的数目。其格式如下:类型标识符  数组名[ ]= {初值表1,初值表2.....}

二维数组

声明

二维数组的声明方式与一维数组类似,只是要给出两对方括号。二维数组声明形式如下:

类型标识符  数组名[ ][ ]   或    类型标识符[ ][ ]  数组名

初始化

new初始化二维数组

1.先声明数组再初始化

数组名= new 类型标识符[行数][列数]

int a[][];
a=new int[3][4];

2声明的同时进行初始化

类型标识符 数组名[ ][ ]= new 类型标识符[行数][列数]

类型标识符[ ][ ]  数组名=new 类型标识符[行数][列数]

数组的基本操作

获取长度:

针对一维数组:数组名.length

针对二位数组:数组名.length→行数、数组名[行标].length→列数

各个数组创建之后的默认值:

int类型定义的数组,初始化默认是0

String类型定义的数组,默认值是null

char类型定义的数组,默认值是0对应的字符

double类型定义的数组,默认值是0.0

float类型定义的数组,默认值是0.0

boolean类型定义的数组,默认值是false

数组复制

int a[]=new int[6];
int b[]={1,2,3,4,5,6};
for(int i=0;i<6;i++) a[i]=b[i];
或  a=b;

数组输出

 数组的输出通常是逐个元素结合循环语句实现的。

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

 字符与字符串

字符

字符数组指数组的元素是字符类型的数据。

使用方法跟上述数组类似,只不过是char类型的

字符串

为了使用方便Java提供了String

字符串变量的声明和初始化

String 变量名;
        变量名=new String();
        或
String  字符串变量 = new String(); 
例如:
        String s=new String();
或者 String s=new String(“XBMU”);

 字符串赋值

可以为字符串变量赋一个字符串常量,也可以将一个字符串变量或表达式的值赋给字符串变量

e,g

s1=“Chinese people”;
s2=s1;
s3="a lot of"+s2; 
结果s2的值为“Chinese people”,
s3的值为“a lot of Chinese people”。
其中运算符“+”的作用是将前后的两个字符串连接起来。 

 字符串的输出

字符串可以通过println()或print()语句输出

e.g

s="All the world";
System.out.println(s);
输出结果为:
All the world

String类

String的对象实例是不可改变的,一旦创建,就确定下来。Java   String对象是常量字符串。一旦被初始化和付值,它的值和所分配的内存就被固定了。如果硬要改变它的值,将会产生一个包含新值的新String对象。这就是String对象会消耗掉很多资源的原因。

常用的方法:

length()返回字符串中的字符个数

charAt(int index)返回字符串中index位置的字符

equals()判断两个字符串是否相等。

补充

在Java 5之后,引入了一种更为便利的循环方式,称为forEach循环,它可以直接遍历数组或集合,而无需使用下标索引。

for (要遍历数组的数据类型 别名 : 要遍历的数组) {
    // 在循环体内可以使用别名来访问数组元素
}

注意的几个点:

  • 要遍历数组的数据类型:表示要遍历的数组中元素的数据类型。例如,如果是整数数组,则此处为int;如果是字符串数组,则为String等。

  • 别名:表示在每次迭代中,当前元素的别名。在循环体内,可以使用这个别名来访问当前迭代到的数组元素。

  • 要遍历的数组:表示要进行遍历的数组对象。

e.g

public class Main {
    public static void main(String[] args) {
        // 声明并初始化一个整数数组
        int[] numbers = {1, 2, 3, 4, 5};
        
        // 使用forEach循环遍历数组
        for (int num : numbers) {
            // 在循环体内,可以直接使用num来访问当前元素
            System.out.println(num);
        }
    }
}

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值