JAVA数组与字符串

1.数组的概念:相同数据类型元素(数据)的一个序列或者有序集合。
    2.数组的特性:
        元素的数据类型相同;
        
        元素是有序的,指数组下标有序;
        
        数组长度是固定,定义数组是指定长度。
    3.定义数组:
        数组的声明:
            类型[] 变量名;类型 变量名 [];类型 []变量名;
        
        数组的初始化:
            静态初始化:
                类型[] 数组名={数组元素,数组元素,...};
            动态初始化:
                类型[] 数组名=new 类型[长度];数组中存在的元素是对应类型的初始值
                类型[] 数组名=new 类型[]{数组元素,数组元素,......};

 

//三种声明数组的方式
/*int[] array1;
int array2[];
int []array3;*/
//初始化,创建数组
int[] array1={1,2,3,4};
int[] array2=new int[5];
int[] array3=new int[]{5,6,8,9};

元素的获取与修改:
            数组下标:从0开始到数组长-1;
            获取数组元素:数组名[元素对应下标];
            数组元素赋值:数组名[下标]=值;
            数组的长度:固定;在创建数组时必须确定数组的长度;
                  获取数组长度:数组名.length
   

//获取数组元素的值
int i1=array1[0];
int i2=array2[0];
int i3=array3[array3.length-1];
System.out.println("i1="+i1+" i2="+i2+" i3="+i3);
//循环修改数组的元素
for (int i = 0; i <array2.length ; i++) {
    array2[i]=2*i+1;//赋值奇数
    System.out.println(array2[i]);
}
//循环输出for..each 循环
for (int i:array2){
    System.out.print(i+" ");
}

多维数组:

            二维数组:特殊的一维数组,该数组中的元素也是一个数组

            二维数组的声明:

                    例:int[][] 变量名;

                        int 变量名 [][];

                        int [][]变量名;

                        int[] []变量名;

                        int[] 变量名[];

                        int  []变量名[];//掌握一种即可

int[][] arr1;
int arr2[][];
int [][]arr3;
int[] arr4[];
int []arr5[];
int[] []arr6;

            数组初始化:

                静态初始化:

                    类型 变量名 [][]  =  { {元素,元素,...},{元素,元素,...},{元素,元素,...}... }注意:每一个元素数组不一定要有

相同长度。

           动态初始化:
                
                    类型 变量名 [][]=new 类型[length][length]
                    类型 变量名 [][]=new 类型[length][]
                    类型 变量名 [][]=new 类型[][]{{元素,元素,...},{元素,元素,...},{元素,元素,...}...}
                
                数组元素的获取和赋值:
                    获取元素:数组名[下标1][下标2]
                        下标1:二维数组的下标
                        下标2:元素数组的下标
                    赋值:数组名 [下标1][下标2]=值

int [][]arr1={{10},{16,5,56},{30,300,3}};//静态
//动态,二维长度必要,元素数组长度不必要
int arr2[][]=new int[3][3];
int arr3[][]=new int[3][];
int arr4[][]=new int[][]{{10},{16,5,56},{30,300,3}};
int a1=arr1[0][0];
int a2=arr2[0][0];
int a4=arr4[0][0];
System.out.println("a1="+a1);
System.out.println("a2="+a2);
//System.out.println("a3="+a3);
System.out.println("a4="+a4);
int [][]ary=new int[3][3];//初始化
ary[0][0]=1;//赋值第一个元素,即二维数组第一个数组的第一个元素
ary[1][1]=2;
ary[2][2]=3;
//循环输出二维数组
for (int i = 0; i <ary.length ; i++) {
    for (int j = 0; j <ary.length ; j++) {
        System.out.print(ary[i][j]+"\t");
    }
    System.out.println();
}
//foreach 遍历取出
for (int array[]:ary) {
    for (int i:array) {
        System.out.print(i+"\t");
    }
    System.out.println();
}
char [][]chrArr=new char[3][];//初始化,只固定二维数组长度
chrArr[0]=new char[1];
chrArr[1]=new char[2];
chrArr[2]=new char[3];
System.out.println((int)chrArr[1][0]);
chrArr[0][0]='a';
chrArr[1][1]='b';
chrArr[2][2]='c';
for (char []subArr:chrArr) {//foreach
    for (int i = 0; i <subArr.length ; i++) {
        System.out.print(subArr[i]+"1 ");//输出每个一维数组
    }
    for (char el:subArr) {
        System.out.print(el+"  ");
    }
    System.out.println();
}

字符串:
        什么是字符串?
            由n(n{0..n})个字符组成的序列。
        定义字符串:
            String 变量名 = " ";
            String 变量名 = new String(" ");
            String 变量名 = new String(字符串数组);
        字符串长度:
            length()方法获得字符串长度;例:字符串变量名.length();
        
        提取字符串中的某个字符:
            charAt(下标);//提取字符串中的字符,下标从0开始;
    
    
        注意:数组获取长度和字符串获取长度的区别?
            字符串通过length()方法获取长度,数组通过length属性获长度取。

public class TestString {
    public  static void main(String []args){
        //定义字符串
        String str1="abc";
        String str2=new String("ABC");
        char[] chars={'H','e','l','l','o','!'};
        String str3=new String(chars);
        System.out.println("str1="+str1+"\nstr2="+str2+"\nstr3="+str3);
        //获取长度
        int s1L=str1.length();
        System.out.println("strl的长度:"+s1L);
        //提取指定下标字符
        char chr=str3.charAt(3);//从0开始
        System.out.println("str3中第4ge字符"+chr);
        //字符串转换成字符数组
        char[] c2=str2.toCharArray();
        System.out.println(c2[1]);
    }

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值