第一章:前奏 第二章:Java程序简介
1、Java 1995年由Sun公司正式推出的一门高级编程语言,在2005年推出JDK1.5,同时更名为JDK5.0
2、Java体系结构:
javaSE(j2se)标准版:主要致力于桌面应用程序和低端电子商务解决方案
javaEE(j2ee)企业版:主要为企业提供各种应用程序解决方案
javaME(j2me)微型版:电子消费产品,如手机、嵌入式开发
3、java特征:
面向对象,跨平台(服务器操作系统的不同),语言健壮、安全(垃圾自动回收,强制类型检查,没有了指针)。
跨平台:java通过JVM虚拟机实现跨平台
JVM:可以看作是一个虚拟的操作系统,java的所有程序代码全运行在JVM虚拟机上,由JVM虚拟机来与当前实际的操作系统进行通信。
GC:自动垃圾回收,Java虚拟机提供了一种系统线程跟踪存储空间的分配情况,并在Java虚拟机空闲时,检查并释放那些可以被释放的存储空间。
4、JDK:
JDK(Java Development Kits)-- Java开发工具集
主要包括:
JRE(Java RunTime Environment)Java运行时环境
JVM(Java Virtual Machine)Java 虚拟机
Java API 应用程序编程接口
Java 编译器(javac.exe)、Java运行时解释器(java.exe)、Java文档化工具(javadoc.exe)及其他工具和资源
JRE的三项功能:
加载代码,校验代码,执行代码
5、Java开发三步曲
编写源程序,编译源程序,运行
6、注释
单行注释://
多行注释:/*……*/
文档注释:/**……*/
第三章:Java语言基础入门
7、java中的标识符
在编程过程中,Java对包、类、方法、参数、等命名时使用的字符序列称为标识符。
定义规则:
由字母、数字、下划线、美元符组成
不能以数字开头
区分大小写
长度无限制
不能是Java中的保留关键字
定义约定:
见名知意
类名:第一个字母大写,若包含多个单词,每个单词的第一个字母大写
包名:全部小写
方法名、属性名:第一个字母小写,若包含多个单词,从第二个单词始,单词首字母大写
final、static定义的常量名:全部大写
8、java关键字
goto,const 做为保留关键字,没有实际的用途,备用的。
9、Java中的基本数据类型
char 2字节
boolean 1字节
byte (1字节) → short (2字节) → int (4字节) → float (4字节) → long (8字节) → double (8字节)
long 型数据后面要加 ‘L’或‘l’
float 型数据要加 ‘F’或‘f’
10、转义字符
\n 换行
\t 制表
\r 回车
\\ 输出\
\' 输出'
\" 输出"
11、变量
程序运行中可以改变的数据
定义: 数据类型 变量名称 = 变量值;
变量类型 变量名称; 变量名称 = 变量值;
变量使用步骤:
指定数据类型:决定变量占用的空间大小
给变量赋值:初始化变量,往变量对应的内存中存数据
使用变量:从变量指定的内存中读数据
变量分类:
局部变量:方法内部或代码块中声明,必须初始化,只在方法或代码块中有效
成员变量:在类中,方法外面声明,全局变量,在整个类中有效
12、基本数据类型转换
自动类型转换
强制类型转换:可能造成精度降低或数据溢出
13、java运算符
算术运算符
赋值运算符
关系运算符
逻辑运算符
位运算符
字符串连接运算符
三目运算符 ? :
14、表达式
表达某种意义的式子就叫表达式。Java中表达式是符合一定语法规则的运算符和操作数序列。
表达式的值:对表达式中的操作数进行运算得到的结果。
表达式类型:表达式的值的数据类型就是表达式的类型。
15、Java中顺序结构与选择结构
顺序语句
选择条件语句:
if(条件语句) {...}
if(条件语句) {...}else{...}
if(条件语句) {...}else(条件语句){...}
if(条件语句) {...}else if(条件语句) {...}else{...}
switch(表达式)
{
case 值1:语句块1;break;
case 值2:语句块2;break;
......
default: 语句块n+1;break;
}
16、Java中的循环语句
while循环
do...while循环
for循环
17、特殊条件语句
break:跳出循环,执行循环后面的语句
continue:跳过循环体中剩余的语句,进行下一次循环的执行
第五章 抽象和封装
18、面向过程编程思想
以具体的流程为单位,考虑它的实现办法,关心的是功能的实现。
代码关联性强,耦合性较强。
19、面向对象编程思想
以具体的事物(对象)为单位,考虑它的属性(特征)及动作(行为),关注整体。
优点:
贴近现实生活
使工程更加模块化,实现更低的耦合和更高的内聚
特有的设计模式
特征:抽象、封装、继承、多态
20、抽象
抽象主要用来把客观世界中真实存在的事物用编程语言描述出来。
就是对同一类事物共同的特征与行为进行归纳、总结,抽取。
21、封装
就是对一个或多个事物进行包装,作用是为了保护对象的隐私。
封装分为:数据封装和过程封装
抽象是类的体现,封装是类的实现
封装其实就是对一类事物共用的特征和行为进行包装,以类的形式体现出来
22、类和对象
对象都有属于自己的行为和特征
万事万物皆对象
类是对象的抽象,对象是类的实例化。
类的定义:
[访问修饰符] class 类名
{
//属性
//方法
}
对象的创建:
类名 对象名 = new 类名();
对象对成员属性或方法的调用:
对象名.属性名
对象名.方法();
23、方法
无参数无返回值
无参数有返回值
有参数无返回值
有参数有返回值
[访问修饰符] [返回类型 | void] 方法名 ([参数列表])
{
[return 返回值;]
}
注意:方法可以重载,但不可以嵌套。
24、构造方法
方法名必须与类名称完全相匹配
不要声明返回类型
不能被static、 final、 synchronized、 abstract、 native修饰,且不能有return语句返回值。
分为三类:
隐式无参构造方法(默认构造方法)
显式无参构造方法
显式有参构造方法
注意:如果类中有一个编写的构造方法,则编译器不再提供那个默认的构造方法。
25、方法重载
方法重载指的是一个类中可以定义有相同名字、但参数列表(参数类型、个数、顺序)不同的多个方法。调用时,会根据不同的参数列表来选择对应的方法。
类中定义的普通方法、构造方法都可以重载。
26、this关键字
作用:表示当前类对象的引用,可以把this看作是当前类的对象
使用this时,该方法没有被static修饰
用法一:当类中某个非静态方法的参数名和某个成员变量名相同时,为了避免参数的作用范围覆盖了成员变量的作用范围,必须明确地使用this关键字来指定。即:区分成员变量和参数名称。
用法二:如果某个构造方法的第一条语句具有形式this(...),那么这个构造方法将调用本类中的其它构造方法。
27、方法中的参数传递
Java中采用值传递,主要有基本数据类型数据传递和引用数据类型数据传递
基本数据类型数据传递时,传递的是变量的副本而不是本身,在方法中对变量的值的改变与本身没有任何关系。
引用数据类型数据传递,是采用的值传递,只不过现在引用类型传递的是当前所在内存的地址,在其他方法中对该引用类型如果进行修改,其本身也会发生变化。
28、命令行参数
在java中通过java命令执行java字节码文件时,传递的参数就是命令行参数命令行参数会赋值给main方法中的String数组。
29、递归调用
方法执行过程中出现该方法本身的调用。
30、JavaBean
标准:
有一个无参的公共的构造方法
有属性
属性有对应的get、 set存取方法。
31、包的创建和导入
创建包语句一定要出现在源程序中非注释代码的第一行。
创建包时用package关键字。
包名一般为小写,而且要有意义。
创建语法:
package 包名;
带有包的类的源代码,在编译成字节码时:
1、在当前目录下生成包:
javac -d . 源文件名.java
2、在指定目录下生成名:
javac -d <指定路径> 源文件名.java
带有包的类,执行时:
java 包名.类名
包的导入:
import 包名.类名;
或 import 包名.*;
所有位于在java.lang 包中类在使用的时候,无需导入包,直接使用即可