北京尚学堂科技 JAVA基础课程
JAVA基础课程讲义
内部资料(禁止外传)
内部资料 北京尚学堂科技
1
北京尚学堂科技 JAVA基础课程
目 录
第一章 JAVA入门 .......................................................................................................................... 10
计算机语言发展史 ................................................................................................................. 10
机器语言 ......................................................................................................................... 10 汇编语言 ......................................................................................................................... 10 高级语言 ......................................................................................................................... 10 其他高级语言 ................................................................................................................. 11 JAVA发展简史 ........................................................................................................................ 12 JAVA为什么能够流行? ........................................................................................................ 13 JAVA各版本的含义 ................................................................................................................ 13 JAVA技术体系架构 ................................................................................................................ 14 JAVA的特性和优势 ................................................................................................................ 14 JAVA应用程序的运行机制 .................................................................................................... 15 JVM(JAVA VIRTUAL MACHINE) ................................................................................................ 16 Java运行时环境JRE(Java Runtime Environment) ................................................................. 17 JAVA语言应用范围 ................................................................................................................ 18 第一个JAVA程序 ................................................................................................................... 18
JAVA开发环境搭建 ........................................................................................................ 18 一个典型的JAVA程序的编写和运行过程 ................................................................... 19 第一个程序常见错误 ..................................................................................................... 20 第一个JAVA程序的总结和提升 ................................................................................... 20 常用Java开发工具 ................................................................................................................ 20 常用dos命令 ......................................................................................................................... 21 本章笔试作业 ......................................................................................................................... 21 本章上机操作 ......................................................................................................................... 21 第二章(1) 编程的基本概念 .......................................................................................................... 22
注释......................................................................................................................................... 22 标识符..................................................................................................................................... 22 关键字/保留字 ....................................................................................................................... 23 变量(variable) ......................................................................................................................... 24 常量(Constant) ........................................................................................................................ 25 命名规则(规范) ...................................................................................................................... 25 基本数据类型(primitive data type) ................................................................................. 26
整型变量 ......................................................................................................................... 26 浮点型 ............................................................................................................................. 27 字符型(2个字节): .................................................................................................. 28 boolean类型 .................................................................................................................. 29 运算符(operator) .................................................................................................................... 29
二元运算符 ..................................................................................................................... 29 一元运算符 ..................................................................................................................... 30 布尔逻辑表达符 ............................................................................................................. 30
2
北京尚学堂科技 JAVA基础课程
位运算符 ......................................................................................................................... 30 扩展运算符 ..................................................................................................................... 31 字符串连接符 ................................................................................................................. 31 三目条件运算符 ............................................................................................................. 31 运算符优先级的问题 ..................................................................................................... 31 自动类型转换 ................................................................................................................. 32 基本类型转化时常见错误和问题 ................................................................................. 33 方法......................................................................................................................................... 33 简单的键盘输入和输出 ......................................................................................................... 33 本章思考作业 ......................................................................................................................... 34 上机操作 ................................................................................................................................. 34 第二章(2) 控制语句 ...................................................................................................................... 35
顺序结构 ................................................................................................................................. 35 选择结构 ................................................................................................................................. 35
if单选择结构.................................................................................................................. 35 if-else双选择结构 .......................................................................................................... 35 If-elseif-else多选择结构 ................................................................................................ 36 switch多选择结构 ......................................................................................................... 37 循环结构 ................................................................................................................................. 39
While和dowhile的区别 ............................................................................................... 41 For循环 .......................................................................................................................... 42 break语句和continue语句 .......................................................................................... 47 语句块..................................................................................................................................... 48 递归结构 ................................................................................................................................. 49 本章作业 ................................................................................................................................. 50 本章上机操作 ......................................................................................................................... 51 第三章 JAVA面向对象程序开发 .................................................................................................. 52
编程语言发展史 ..................................................................................................................... 52 类和对象是如何产生发展的?如何进化的? ......................................................................... 52 面向对象思想初步(OOP初步Object Oriented Programming) ............................................. 53 面向对象编程的语言的三大特征简介 ................................................................................. 56 对象和类的概念 ..................................................................................................................... 56 类和对象初步 ......................................................................................................................... 57
测试类的定义方式 ......................................................................................................... 57 简单的学生类编写示例 ................................................................................................. 58 内存分析 ......................................................................................................................... 59 属性(field,或者叫成员变量) .................................................................................. 59 引用类型 ......................................................................................................................... 60 类的方法 ......................................................................................................................... 60 对象的创建和使用 ......................................................................................................... 60 构造器(或者叫做构造方法,constructor) ....................................................................... 60 垃圾回收机制(Garbage Collection) .................................................................................... 63 方法的重载(overload),构造方法的重载 ............................................................................ 63 this关键字 .............................................................................................................................. 65
3
北京尚学堂科技 JAVA基础课程
static 关键字 .......................................................................................................................... 66 静态初始化块(经常用来初始化类,加载类信息时执行!) ........................................... 67 package ................................................................................................................................... 68 JDK中的主要包 ...................................................................................................................... 68 import ..................................................................................................................................... 68 eclipse的使用 ........................................................................................................................ 69 继承(extend, inheritance) ....................................................................................................... 70
为什么需要继承?继承的作用? ................................................................................. 70 继承介绍 ......................................................................................................................... 70 如何实现继承? ............................................................................................................. 70 继承使用要点 ................................................................................................................. 71 Object类 ................................................................................................................................. 72
toString方法 ................................................................................................................... 72 equals方法 ..................................................................................................................... 73 super关键字 .......................................................................................................................... 74 方法的重写(override) ....................................................................................................... 74 隐藏/封装(encapsulation) ...................................................................................................... 75
为什么需要封装?封装的作用和含义? ..................................................................... 75 使用访问控制符,实现封装 ......................................................................................... 76 封装的使用细节 ............................................................................................................. 76 多态(polymorphism) ............................................................................................................... 76
为什么需要多态? ........................................................................................................... 76 如何实现多态? ............................................................................................................... 77 方法绑定(method binding) ......................................................................................... 77 静态绑定 ......................................................................................................................... 77 动态绑定 ......................................................................................................................... 77 多态的使用要点 ............................................................................................................. 78 对象的转型(casting) ............................................................................................................... 79 final ......................................................................................................................................... 81 抽象类..................................................................................................................................... 82 抽象类的使用要点 ................................................................................................................. 83 接口......................................................................................................................................... 83
为什么需要接口? ........................................................................................................... 84 如何定义接口? ............................................................................................................... 84 接口的本质探讨 ............................................................................................................. 84 接口使用要点 ................................................................................................................. 85 接口的多继承 ................................................................................................................. 86 面向接口编程 ................................................................................................................. 87 OOP更多应用 ........................................................................................................................ 87
组合 ................................................................................................................................. 87 内部类(innerclasses) ....................................................................................................... 88 字符串(java.lang.String类)的使用 ........................................................................... 90 字符串相等的判断 ......................................................................................................... 92 思考作业 ................................................................................................................................. 93
4
北京尚学堂科技 JAVA基础课程
上机作业 ................................................................................................................................. 94 第四章异常机制 ............................................................................................................................. 95
导引问题 ................................................................................................................................. 95 异常(Exception)的概念 ..................................................................................................... 96 异常分类 ................................................................................................................................. 96
Error ................................................................................................................................ 97 Error和Exception的区别 ...................................................................................................... 97
Exception ......................................................................................................................... 97
异常的处理办法之一,捕获异常 ......................................................................................... 99
try块 ............................................................................................................................... 99 catch ................................................................................................................................ 99 finally ............................................................................................................................. 100 try, catch,finally ,return 执行顺序 ............................................................................... 100 异常的处理办法之二,声明异常: throws子句 ............................................................. 101 方法重写中声明异常原则 ................................................................................................... 102 异常的处理办法之三,手动抛出异常,throw子句 ........................................................ 103 自定义异常 ........................................................................................................................... 103 使用异常机制建议 ............................................................................................................... 104 总结....................................................................................................................................... 105 思考作业 ............................................................................................................................... 105 上机作业 ............................................................................................................................... 105 第五章数组................................................................................................................................... 106
数组概述和特点 ................................................................................................................... 106 创建数组和初始化 ............................................................................................................... 106 数组常见操作 ....................................................................................................................... 108
数组的拷贝 ................................................................................................................... 108 数组排序 ....................................................................................................................... 109 多维数组 ............................................................................................................................... 110 附录(面试前复习一下!!) .................................................................................................. 111
冒泡排序 ....................................................................................................................... 111 二分法查找 ................................................................................................................... 112 命令行参数的问题 ....................................................................................................... 113 增强for循环 ................................................................................................................ 114 思考作业 ............................................................................................................................... 114 上机作业 ............................................................................................................................... 115 第六章常用类的使用 ................................................................................................................... 117
基本数据类型的包装类 ....................................................................................................... 117
包装类基本知识 ........................................................................................................... 117 包装类的用途 ............................................................................................................... 118 自动装箱和拆箱?autoboxing,unboxing .................................................................. 119 字符串相关类(String、 StringBuffer 、 StringBuilder) ............................................... 120
String类的常用方法(已讲过,不再讲!) .............................................................. 120 StringBuffer和StringBuilder ........................................................................................ 121 String和StringBuffer和StringBuilder使用要点 ........................................................ 123
5