学习内容:
1.教学内容:
2.编程语言的进化以及面向对象的优势(脱离计算机问题,解决业务问题);
3.数据类型和变量;
4.运算符;
5.类的定义;
6.普通方法和构造方法概述。
学习重点内容:
八大基本数据类型和变量的定义;
1.数值型
整数型:byte(-128-127)、short(15次方)、int(31次方)、long(63次方)
浮点型:float(38次方)、double(308次方)
在实际开发中,我们一般使用 int、double
2.字符型
char:用单引号表示,Java 中使用16位的 Unicode 字符集作为编码方式
3.布尔型
boolean:表示逻辑中的真和假,值只有 true / false。
充分理解算数、比较、逻辑运算符的使用、了解表达式的概念;
体会类定义的规范,以及属性和方法的定义。
预习内容:
1.顺序结构:
顺序结构
程序是一个自上而下运行的过程。
if 结构
具备三种类型的结构表现形式
形式一:
if (logic expression) {
statement;
}
int age = 20;
if (age > 18) {
String name = "Tom";
System.out.println("我叫" + name + ",已经" + age + "岁了,我成年了!");
}
形式二:
if (logic expression) {
statement;
} else {
statement;
}
int age = 16;
if (age > 18) {
String name = "Tom";
System.out.println("我叫" + name + ",已经" + age + "岁了,我成年了!");
} else {
System.out.println("我还未成年!");
}
形式三:
if (logic expression) {
statement;
} else if (logic expression) {
statement;
} else {
statement;
}
if (age >= 0 && age <= 10) {
System.out.println("少年");
} else if (age <= 18) {
System.out.println("青少年");
} else if (age <= 30) {
System.out.println("青年");
} else if (age <= 50) {
System.out.println("中年");
} else {
System.out.println("老年");
}
switch 结构:
swtich 语句是由控制表达式和多个 case 标签块组成。在控制表达式中,只允许出现 byte、short、int、char四种基础数据类型,在JDK1.7以后,支持 String 类型的控制表达式。
循环结构:
循环语句可以在满足循环条件的情况下,反复执行某一段代码。
被重复执行的代码叫做循环体。
循环语句可能包含的部分有:
初始化语句(init_statement):一条或多条语句,这些语句用于完成一些初始化的工作。
循环条件(test_expression):是一个 boolean 类型的表达式,这个表达式决定是否继续执行循环体。
循环体(body_statement):如果条件允许,循环体会被反复执行。
迭代语句(iteration_statement):在一次循环体执行结束后,对循环体条件进行求值,通常用于控制循环条件中的变量,使得循环在合适的时候结束。
2.数组结构:
数组是编程语言中最常用的一种数据类型。可以存储多个数据。
数组的要点
存放的数据是相同的数据类型
数组的长度在定义时就确定了大小,数组是不可变长度的,或者说叫定长
数组中可以存放任意的数据类型(包含基本数据类型、引用数据类型、数组)
数组本身是引用数据类型(在栈内存中会存储其在堆内存中的引用地址)
定义语法:
type[] 变量名; // 强烈建议用这种命名。
type 变量名[]; // 只要知道就可以。
3.面向对象:
类和对象
类: 是一种自定义的数据类型。有时把这种数据类型也叫做「类类型」或者「引用数据类型」。「引用」就是内存地址的意思。
对象:通过类创建的变量,或者叫类的实体。
类是一群对象的特征母版,对象是类的具体实例。
类是一群对象的抽象。
*类的定义
类所具备的最基本要素:(静态)属性、(动态)方法。
4.隐藏和封装:
封装是面向对象编程的三大特性之一。
封装的目的:
1.隐藏类方法实现的细节;
2.让使用者只能通过预先定义的方法来访问数据,从而可以在方法中加入一些控制逻辑,限制对成员变量的不合理访问。
简单的理解就是,把成员变量隐藏起来,暴露方法来提供成员的修改和访问。
使用包:
使用 import 关键字将本类要使用的其他包中的类进行引入。
但是,import 不是必须的,我们可以使用类全名的方式进行类的使用。一般不建议,太麻烦。
使用 ALT+/ 可以单个引入,也可以使用 CTRL+SHIFT+O 全部引入。
如果要引入某个包下面的所有类,可以使用通配符 * ,例如,引入com.ntqingniao.j96.oop.*,但是要注意通配符只能出现在最后。
对于 java.lang 包中的类,系统会自动的默认引入,不需要使用 import。
JDK 中比较重要的包:
1.java.lang:包含了 Java 语言的核心类库,如 String、System、Math等等,使用该包下的类是不需要显式引入;
2.java.util:包含了大量的工具类,如 Date、集合框架;
3.java.net:Java 网络编程的类和接口包;
4.java.io:Java 输入输出,如流等方面编程的包;
5.java.text:格式化方面的类;
6.java.sql:数据库编程方面的类和接口包;
7.java.awt:图形用户界面方面的类和接口包。
5.深入构造器:
构造器的最大用处就是创建对象。
如果在类定义中没有显式的定义一个构造器,则编译器在编译源文件时,会创建一个没有参数、没有方法体执行语句的空的构造器。
如果显式的定义了一个构造器,则上述的空的构造器则不会存在。
在调用构造器创建对象的时候,系统会为每个对象的实例变量设置默认值
基本数据:数值型的为0,布尔类型的为false,char类型的为’\u0000’; 引用数据类型:null;
如果在方法中定义的局部变量:系统是不会对其设置默认值的,必须要显式的通过赋值运算符=给变量赋值。
通过构造器为成员变量定义初始化值,这也是构造器的最最重要的用途之一。