java第十四讲--数组

包装类

包装类(Wrapper Class):针对于原生数据类型的包装。所有的包装类(8个)都位于java.lang包下,java中的8个包装类分别是:Byte、Short、Integer、Long、Float、Double、Character、Boolean。他们的使用方式都是一样的,可以实现原生数据类型与包装类型的双向转换。

包装类的作用:java中就属于这八个原生数据类型不属于对象,或者说是引用类型,剩下的都是对象,或者引用类型。

/*
 * Interger 在 lang包下,所以不需要导入
 * 将int类型转化为Interger,调用Interger的intValue()方法,将包装类中的int值取出
 */
public class HelloWorld {
	    public static void main(String[] args) {
	       int a=666;
	       Integer integer=new Integer(a);
	       int b=integer.intValue();
	       System.out.println(a==b);   
	   }
}

数组(Array)

1、数组:相同类型数据的集合就叫做数组。
2、数组中的元素索引是从0开始的,对于数组来说,最大的索引==数组的长度-1
3、java中每个数组都有一个名为length的属性,表示数组的长度。length属性是public,final,int的。数组长度一旦确定,就不能改变大小。
4、数组元素在内存中的存放是连续的。

public class HelloWorld {
	    public static void main(String[] args) {
	      int []arr=new int[6];//定义一个名字为arr的数组,数组的长度为6【第一种定义数组】
	      int []brr={1,2,3,4,5,6};//定义一个名字为brr的数组,里面有6个数组元素【第二种定义数组】
	      System.out.println(arr[0]);//因为没有给arr赋值,所以输出int的默认值为0
	      System.out.println(brr[0]);
	    }
}

在这里插入图片描述
5、equals

public class HelloWorld {
	    public static void main(String[] args) {
	      int []arr={1,2,3,4,5,6};
	      int []brr={1,2,3,4,5,6};
	      System.out.println(arr);
	      System.out.println(brr);
	     System.out.println(arr==brr);
	      System.out.println(arr.equals(brr));
	    }
}

在这里插入图片描述
【说明】:调用equals()方法,此时方法是继承了Object类的方法,而且没有被重写,arr和brr分别是指向不同的数组对象地址,所以输出结果为false。从这边可以明确,对于数组内容的比较千万不能使用equals方法。

6、引用类型的数组

public class HelloWorld {
	    public static void main(String[] args) {
           HelloWorld []persons=new HelloWorld[3];        
			System.out.println(persons[1]);		
	}
}

输出结果:
null
【说明】:除了原生数据类型之外,引用类型如果没有赋初值,则其内容为null,null表示不指向任何对象。

public class HelloWorld {
	    public static void main(String[] args) {
           Person []persons=new Person[3];
           persons[0]=new Person(10);
           persons[1]=new Person(20);
           persons[2]=new Person(30);
           for (int i = 0; i < persons.length; i++) {
			System.out.println(persons[i].age);
		}
	}
}
class Person{
	int age;
	public Person(int age){
		this.age=age;
	}
}

输出结果:
10
20
30

二维数组

二维数组是一种平面的二维结构,本质上是数组的数组。
二维数组的定义方式:
int [][]arr=new int [2][3];//表示2行3列
一维数组体现的是线性结构,二维数组体现的是平面结构。

例子01:输出9x9乘法表

public class HelloWorld {
	    public static void main(String[] args) {
          int [][]arr=new int[9][9];
        for (int i = 1; i <=arr.length; i++) {
			for (int j = 1; j <=i; j++) {
				System.out.print(j+"x"+i+"="+i*j+"\t");
			}
			System.out.println();
		}	
	}
}

在这里插入图片描述
定义不规则的数组

 int [][]arr=new int[2][];//可以先定义行,后定义列

定义一维数组可以:int [] a=new int []{1,2,3};
定义二维数组可以:int[][]a=new int [][]{1,2,3},{4},{5,6,7,8};注意这里面大括号里面每个大括号表示一行,大括号之间用逗号隔开。

例子02:输出菱形(双重循环)

public class  Test {
    public static void main(String[] args) {
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 3 - i; j++) {
                System.out.print(" ");//输出空格3210
            }
            for (int j = 1; j < (i + 1) * 2; j++) {
                System.out.print("*");//*的个数是1357
            }
            System.out.println();//4个分行
        }
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print(" ");//输出空格123
            }
            for (int j = 1; j <= 7 - 2 * i; j++) {
                System.out.print("*");//*的个数是531
            }
            System.out.println();//3个分行
        }
    }
}

在这里插入图片描述

发布了45 篇原创文章 · 获赞 38 · 访问量 2136

猜你喜欢

转载自blog.csdn.net/qq_44830627/article/details/105175788
今日推荐