Java二维数组、Arrays类、Java中的面向对, 构造器

二维数组

在数组中定义数组,第二维数组是第一维数组的每一个数据。

定义:
动态:
数据类型[][] 数组名 =new 数据类型[外层一维的长度][内层二维的长度]
数据类型 数组名[][] = new 数据类型[外层一维的长度][];
静态:
数据类型[] 数组名[] = new 数据类型[][]{{1,2,3},{4,5}…};
数据类型[] 数组名[] ={{1,2,3},{4,5}…};

二维数组的使用方式:
数组名[一维][二维]
遍历:
循环嵌套
普通循环和增强for相互嵌套
定义和遍历
普通的for循环遍历:

public static void test() {
	int[][] arr=new int[2][3];
	arr[0][0]=1;
	arr[0][1]=2;
	arr[0][2]=3;
	arr[1][0]=4;
	arr[1][1]=6;
	for (int i = 0; i < arr.length; i++) {
		for (int ch:arr[i]) {
			System.out.println(ch);
			
		}
	}
	
	
	
}

Arrays :封装了一些用来操作数组的常用功能

1.导包 java.util包下的Arrays,需要导包
2.Arrays.功能名字()
类外要导包

import java.util.Arrays;
public static void test1() {
	int[] arr1=new int[]{1,5,5,6,4,8};
	int[] arr2=new int[]{1,3,2,5,8,4,6,7};
	//需求:想要在打印数组名的时候,可以给打印数组中的所有内容
	System.out.println(Arrays.toString(arr1));
	System.out.println(Arrays.toString(arr2));
	//比较两个数组中所有的数据是否相同
	System.out.println(Arrays.equals(arr1, arr2));
	//排序: static void sort(int[] a) 对指定的 int 型数组按数字升序进行排序 
	System.out.println(Arrays.toString(arr1));
	Arrays.sort(arr1);
	System.out.println(Arrays.toString(arr1));
}

还有很多其他的功能,感兴趣可以了解

Java中的面向对象

一.面向对象,面向过程的区别?

面向对象,面向过程是一种思想,思维方式
面向过程: 关注"者这件事情的实现步骤?|应该如何实现?"然后一步一步实现就可以了
面向对象:关注"我应该找谁来完成这件事情?"他如何实现,我们不关注,只关注这个对象
列如:老师教一个同学扫地,打扫卫生。那么老师就是只关注学生这个对象,而学生只关注怎么去扫地,只关注过程。

二,面向对象的优点:

1.将复杂的问题简单化
2.面向对象更符合现实生活中的管理者的角度,面向过程更符合执行者
3.面向对象更贴近于生活
面向对象依托面向过程

三.如何使用面向对象的思维方式进行编程:

类:一系列事物的共性|模板|图纸 对象:描述表示生活中的具体事物,根据类去创建对象

四.如何自定义类

定义类:考虑2个问题
1.这个自定义类有什么功能|这个自定义类能做什么?
动词|功能—成员方法定义功能
2.你要定义的类有什么属性|特点|特征?
名词|属性—成员变量

使用自定义的类:

1.导包
lang包下的内容不用导包
同包下的内容不需要导包
2.创建类型的引用|变量–创建对象 new关键字创建对象
数据类型 对象名|引用 = new 数据类型();
3.使用功能|属性
引用.功能名字();
引用.属性名

//创建以个自定以的手机类

public class Phone{
	//手机的属性
	public String color;
	public String name;
	public double money;
	//方法
	public void test01() {
		System.out.println("打电话。。。。。");
	}

}

手机类的测试类

//手机类的测试
public class Test02 {
  public static void main(String[] args) {
	  //创建一个手机对象,new就是创建一个对象。
	Phone ch=new Phone();
	ch.color="白色";
	ch.money=10000;
	ch.name="小米";
	System.out.println(ch.name);
	System.out.println(ch.color);
	System.out.println(ch.money);
	ch.test01();
}
}

new 做的3件事情:
1.堆为对象开辟空间,成员变量会跟随对象进入到堆内存中
2.调用类型的构造器,为对象初始化信息
3.将地址返回给引用

构造器|构造函数|构造方法:特殊的方法

作用:为对象初始化信息 (对象的成员属性赋值)
定义:
修饰符 类名(参数列表){

}
注意:
1.构造器没有返回值类型,没有void
2.构造器的名字要与类名保持一致
3.可以有return,不写return,但是不能返回数据,只能提前结束方法的作用

4.没有显示定义构造器,编译器会默认提供一个空构造
5.如果有显示定义任何构造器,编译器就不会为你提供任何构造器
6.构造器无法通过其他方式调用,只能跟随new一起使用
7.构造器不能和abstract,final,static一起使用

以后在写自定义模板类时候,一般都存在空构造,按需添加带参构造和使用

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值