Java数组与字符串的学习)

  • 数组定义
  • 三维数组求和🍳


数组定义

数组分为一维,二维,三维以及多维数组。
1.一维数组:它是最简单的数组,其逻辑结构是线性表。要使用一维数组,需要经过定义,初始化和应用等过程。
要使用Java语言的数组,一般需要三个步骤,分别为:声明数组,分配空间,创建数组元素并赋值。前两个步骤的语法如下:

数组类型【】数组名; //声明一维数组
数组名=new 数组类型【个数】;//分配内存给数组
也可写成
数组类型【】数组名=new 数组类型【个数】;
还可写成(数组的初始化)
数组类型【】数组名=new数组类型【】{数组中的元素};

例:
    int array[];
    array=new int[5];
    也可写成
    int array[]=new int[5];
    也可写成
    int array[]=new int[]{1,2,3};

🔅 注意:声明数组时不能定义数组的长度;当{}里面已经赋值过元素后,【】中不能再写数组中元素的个数了。
2.二维数组:二维数组的声明方式与一维的相似,只是在数组名前多了一个【】,二维数组的内存分配也一样是用new运算符。其声明与分配内存的格式如下:

数组类型【】【】数组名;
数组名=new数据类型【行数】【列数】;
同样的也可写成:
数据类型【】【】数组名=new数据类型【行数】【列数】;

二维数组也同样不能在声明时定义数组的长度,三维及多维的也一样。
    3.多维数组:其定义与声明与一维和二维数组相似只是【】数量不同,几维数组就有几个【】,只是分配的内存空间不同。
    下面我举几个例子
    例子一:
```java
 `package day12;

import java.util.Arrays;

public class Maopao {

	public static void main(String[] args) {
		int[]array=new int[] {55,33,44,22,11,66};
		System.out.print( "排序前:");
		System.out.println(Arrays.toString(array));
		for(int i=0;i<array.length-1;i++) {
			for (int j=0;j<array.length-1-i;j++) {
			if (array[j]>array[j+1]) {
				int temp=array[j];
				array[j]=array[j+1];
				array[j+1]=temp;	
			}
			}

	}
		System.out.print( "排序后:");
		System.out.println(Arrays.toString(array));
		}


}

**冒泡排序🍳**
    例子二  :

package day10;

public class yanghuishanjiao {

	public static void main(String[] args) {
		int i,j;
		int level=7;
		int[][]iaYong=new int[level][];
		System.out.println("杨辉三角形");
		for(i=0;i<iaYong.length;i++)
		iaYong[i]=new int[i+1];
		iaYong[0][0]=1;
		for(i=1;i<iaYong.length;i++)
		{
			iaYong[i][0]=1;
			for(j=1;j<iaYong[i].length-1;j++)
				iaYong[i][j]=iaYong[i-1][j-1]+iaYong[i-1][j];
			iaYong[i][iaYong[i].length-1]=1;
		}
		for(int[]row:iaYong)
		{
			for(int col:row)
				System.out.print(col+" ");
			System.out.println();
		}
				
		// TODO Auto-generated method stub

	}

}
**杨辉三角🍳**
例子三:

```java
 package day10;

public class qiuhe {

	public static void main(String[] args) {
		int i,j,k,sum=0;
		int[][][]a= {{{1,2},{3,4},{5,6},{7,8}}};
		for(i=0;i<a.length;i++)
			for(j=0;j<a[i].length;j++)
				for(k=0;k<a[i][i].length;k++)
				{
					System.out.println("a["+i+"]["+j+"]["+k+"]="+a[i][j][k]);
					sum+=a[i][j][k];
				}
		System.out.println("sum="+sum);
		// TODO Auto-generated method stub

	}

}

三维数组求和🍳

4.foreach语句与数组:foreach语句只需提供三个数据,分别是:元素类型,循环变量的名字(用于存储连续的元素)和用于从中检索元素的数组。foreach循环是自JDK5开始引进的一种新的for循环,它不用下标就可遍历整个数组。其语法格式如下:

for(type element:array)
{
   System.oout.println(element);
   .
   .
   .
   }

其功能是每次从数组array中提取出一个元素,自动赋值给变量element,用户不用判断是否超出了数组的长度。需要注意的是element的类型必须与数组array中元素的类型相同。
5.字符串变量的创建:字符常量是用单引号(’)括起来的单个字符,而字符串常量是是用双引号(")括起来的字符序列。其格式为:

String 变量名;
 变量名=new String(“字符串”);
 一般用:
 String 变量名=“字符串”;

🔅 注意:如果字符串与其他类型的变量进行“+”运算,系统自动将其他类型的数据转换为字符串。且利用String类创建的字符串变量,一旦被初始化或赋值,它的值和所分配的内存内容就不可在改变。如果硬要改变,他就会产生一个新的字符串。
好了,今天就到这里了🍿
又是收获满满的一周,继续努力(●’◡’●)