1 二维数组
1.1 二维数组概述
- 一个班级有许多学生,可以用数组来存储,但是一个学校有许多班级,这是时候也应该用数组来存储。
- Java给我们提供了二维数组来供我们使用。
- 简单的讲,二维数组其实就是一个元素为一维数组的数组。
1.2 二维数组的格式一
数据类型[][] 数组名 = new 数据类型[m][n]; m表示这个二维数组有多少个一维数组 n表示每一个一维数组的元素个数
- 示例:int[][] arr = new int[3][2];
- 说明:
- 定义了一个二维数组arr。
- 这个二维数组有3个一维数组,名称是arr[0]、arr[1]、arr[2]。
- 每个一维数组有2个元素,可以通过arr[m-1][n-1]来获取。
- 示例:
package com.xuweiwei; /** * 二维数组 */ public class Array2Demo { public static void main(String[] args) { //定义一个二维数组 int[][] arr = new int[3][2]; //输出二维数组名称 System.out.println(arr); //输出二维数组的第一个元素一维数组的名称 System.out.println(arr[0]); System.out.println(arr[1]); System.out.println(arr[2]); //输出二维数组的元素 System.out.println(arr[0][0]); System.out.println(arr[0][1]); System.out.println(arr[1][0]); System.out.println(arr[1][1]); System.out.println(arr[2][0]); System.out.println(arr[2][1]); } }
1.3 二维数组的格式二
数据类型[][] 数组名 = new 数据类型[m][]; m表示这个二维数组有多少个一维数组 一维数组元素的个数可以动态的创建
- 示例:
int[][] arr = new int[3][]; arr[0] = new int[2]; arr[1] = new int[4]; arr[2] = new int[5];
1.4 二维数组的格式三
数据类型[][] 数组名 = new 数据类型[][]{{元素,……},{元素,……},……}; 或 数据类型[][] 数组名 = {{元素,……},{元素,……},……};
- 示例:
package com.xuweiwei; public class Array2Demo2 { public static void main(String[] args) { //二维数组的静态初始化 int[][] arr = {{1,2,3},{3,4}}; } }
1.5 二维数组的应用
- 示例:
package com.xuweiwei; /** * 二维数组的遍历 */ public class Array2Test1 { public static void main(String[] args) { //定义一个二维数组 int[][] arr = {{1,2,3},{4,5,6},{7,5,6}}; //二维数组的遍历 for (int i = 0; i < arr.length; i++) { for (int y = 0; y < arr[i].length; y++) { System.out.print(arr[i][y] +"\t"); } System.out.println(); } } }
- 示例:
package com.xuweiwei; /** * 二维数组求和 */ public class Array2Test2 { public static void main(String[] args) { int[][] arr = {{1,2,3},{4,5,6},{7,5,6}}; int sum = 0; for (int i = 0; i < arr.length; i++) { for (int y = 0; y < arr[i].length; y++) { sum += arr[i][y]; } } System.out.println("二维数组的和是:"+sum); } }
2 面向对象
2.1 面向对象思想的引入
- 当有多个数组都需要遍历的时候,我们就可以将遍历的代码封装到方法中,需要遍历的时候,直接调用对应的方法就可以了,提高了代码的复用性。在对数组遍历的基础上继续增加需求,比如获取最值,数值逆序等,同样需要将这些功能代码封装到相应的方法中,这样继续封装会发现方法越来越多,这个时候就可以思考能不能将这些方法也进行封装呢?类是可以用来存放方法的,所以,我们就考虑使用类来封装多个方法,将来再做数组操作的时候,不用去找具体的方法,先找到这个类,然后使用这个类中的方法。
- 上面的就是面向对象思想的编程方式。
2.2 面向过程的思想概述
- 完成一个需求的步骤:首先要搞懂我们要做什么,然后再分析怎么做,最后我们再去用代码实现。一步一步的去实现,而具体的每一步都需要我们去实现和操作。这些步骤相互调用和写作,完成我们的需求。
- 在上面的每一个具体步骤中我们都市参与者,并且需要面对具体的每一个步骤和过程,这就是面向过程最直接的体现。
- 面向过程开发,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求。
- 面向过程稿的代表语言:C语言。
2.3 面向对象开发、设计和特征
- 面向对象开发:就是不断的创建对象,使用对象,指挥对象做事情。
- 面向对象设计:其实就是在管理和维护对象之间的关系。
- 面向对象特征:封装、继承、多态。
2.4 类和对象的关系
- 我们学习编程语言,就是为了模拟现实世界的食物,实现信息化。比如:去超市买东西的计费系统,去银行办业务的系统。
- 我们如何表示一个现实事物?
- 属性:就是该事物的描述信息。
- 行为:就是该事物能够做什么
- 我们学习的Java语言最基本的单位是类,所以,我们应该把事物用一个类来体现。
- 类:是一组相关属性和行为的集合。
- 对象:是该类事物的具体体现。
2.5 类和对象的应用
- 示例:
package com.xuweiwei; /** * 学生类 */ public class Student { private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "Student{" + "name=‘" + name + ‘\‘‘ + ", age=" + age + ‘}‘; } }
package com.xuweiwei; public class StudentTest { public static void main(String[] args) { Student student = new Student(); student.setName("许威威"); student.setAge(26); System.out.println(student); } }
原文地址:https://www.cnblogs.com/xuweiweiwoaini/p/9193814.html
时间: 2024-10-15 19:56:53