1.二维数组(熟悉)
1.1 基本概念
一维数组本质上就是一段连续的存储单元,用于存放多个类型相同的数据内容。
二维数组本质上就是由多个一维数组组成的数组,也就是说二维数组中的每个元素都是一维数组,而一维数组的每个元素才是具体数据内容。
1.2 二维数组的声明
(1)语法格式
数据类型[][] 数组名称 = new 数据类型[行数][列数];
如:
int[][] arr = new int[2][5]; - 声明一个具有2行5列元素类型为int的二维数组
其中行下标的范围是:0 ~ 1;
其中列下标的范围是:0 ~ 4;
思考:
arr代表什么? arr[0]代表什么? arr[0][0]代表什么?
解析:
arr代表二维数组的名称;
arr[0]代表二维数组中的第一行,也就是一个一维数组;
arr[0][0]代表二维数组中的第一行第一列的数据内容;
arr.length代表二维数组的长度,也就是二维数组中元素的个数,也就是行数;
arr[0].length代表二维数组中第一个元素的长度,也就是第一行的列数;
(2)元素的初始化
数据类型[][] 数组名称 = {{数值1,数值2,...}, ...};
如:
int[][] arr = {{1, 2, 3}, {4, 5, 6}}; - 声明一个具有2行3列的二维数组
2.面向对象编程的概念(理解、难点)
2.1 什么是对象?
万物皆对象!
2.2 什么是面向对象?
面向对象就是指以属性/特征和行为的观点去分析现实世界中事物的方式。
2.3 什么是面向对象编程?
面向对象编程就是指以面向对象的观点进行分析,然后采用一门面向对象的编程语言进行翻译的过程。
其中C语言是一门面向过程的编程语言。
其中C++语言是一门既面向过程又面向对象的编程语言。
其中Java语言是一门纯面向对象的编程语言。
2.4 为什么需要面向对象编程?
面向对象编程是软件产业化发展的需求。
2.5 如何学好面向对象编程
深刻理解面向对象编程的三大特性:封装、继承、多态。
3.类、对象以及引用(重中之重)
如:
String name1 = "张三"; ... ...
String name2 = "李四"; ... ...
String name3 = "王五"; ... ...
String name4 = "赵六"; ... ...
... ...
人类:
特征:姓名、年龄
行为:吃饭、娱乐
3.1 类和对象的概念
对象是现实生活中客观存在的事物,在Java语言中表示为一块内存空间。
类简单来说就是"分类",是同一类事物共性的抽象描述,在Java语言中叫做引用数据类型,主要包括用于描述特征的成员变量和用于描述行为的成员方法组成。
3.2 类的定义
(1)类定义的语法格式
class 类名{
类体;
}
如:
class Person{
}
注意:
通常来说,若类名由多个单词组成时,要求每个单词的首字母都要大写。
(2)成员变量声明的语法格式
class 类名{
数据类型 成员变量名 = 初始值; - 其中=初始值可以省略,但;不可以省略
}
如:
class Person{
String name;
int age;
}
注意:
通常来说,若成员变量名由多个单词组成时,要求从第二个单词起首字母大写。
扩展:
局部变量 - 主要指隶属于方法体内声明的变量,该变量在当前方法体中有效;
成员变量 - 主要指隶属于方法体外类体内声明的变量,该变量在整个类体中有效;
3.3 对象的创建
(1)语法格式
new 类名();
如:
new Person(); - 表示创建一个Person类型的对象。
(2)使用方式
当类定义完毕后可以使用new关键字进行对象的创建/构造,这个过程叫做类的实例化。
创建对象的本质就是在内存中申请一块存储空间用于记录该对象独有的成员变量信息。
3.4 引用的声明
(1)基本概念
在Java语言中使用引用数据类型声明的变量叫做引用型变量,简称为"引用"。
主要用于记录某个对象在内存空间中的地址信息,便于再次访问。
(2)语法格式
类名 引用变量名;
如:
Person p;
Person p = new Person();
引用变量名.成员变量名;
如:
p.name = "zhangfei";
System.out.println("p.name = " + p.name); //zhangfei
练习:
自定义Point类,特征有:横坐标和纵坐标(整数),要求在main()方法中创建该类的对象然后打印对应的横纵坐标信息,然后将横纵坐标修改为3和5,再次打印横纵坐标信息。
4.成员方法(重中之重)
4.1 语法格式
class 类名{
返回值类型 成员方法名(形参列表){
方法体;
}
}
如:
class Person{
void eat(){
System.out.println("开吃了!");
}
}
注意:
通常情况下,成员方法名由多个单词组成时,要求从第二个单词起首字母大写。
4.2 方法的详解
(1)返回值类型
返回值主要指从方法体内向方法体外返回的数据内容;
返回值类型主要指返回值的数据类型,可以是基本数据类型,也可以是引用数据类型;
如:
当返回值内容为66时,则返回值类型写int类型即可;
当返回值内容为3.14时,则返回值类型写double类型即可;
当返回值内容为"hello"时,则返回值类型写String类型即可;
在方法体使用return关键字来返回数据内容并结束当前方法。
如:
当返回值内容是66时,则方法体中写:return 66;
当返回值内容是num时,则方法体中写:return num;
当方法体中没有任何数据需要返回时,则返回值类型写void即可;
(2)形参列表
形式参数主要用于将方法体外的数据内容带入到方法体内,语法格式为:数据类型 形参名
形式参数列表主要用于带入多个数据内容,格式为:数据类型 形参1, 数据类型 形参2,...
如:
当传入的数据内容为66时,则形参列表写:int i。
当传入的数据内容为3.14时,则形参列表写:double d。
当传入的数据内容为"hello"时,则形参列表写:String s。
当传入的数据内容为66和3.14时,则形参列表写:int i, double d。
当传入的数据内容为66和"hello"时,则形参列表写:int i, String s。
当不需要传入任何数据内容时,则形参列表位置啥也不写即可。
(3)方法体
方法体中主要编写用于描述该方法功能的语句块。
4.3 成员方法的调用
(1)语法格式
引用.成员方法名(实参列表);
如:
p.eat();
(2)使用方式
实际参数列表主要用于对该方法的形式参数列表进行初始化/赋值操作,因此实参列表的个数、类型以及顺序等都必须与形参列表保持一致。
实际参数可以传递字面值、变量、表达式以及方法的调用等。