核心java简明教程
- 格式:doc
- 大小:335.50 KB
- 文档页数:53
《Core Java 课件》Day 01一、课程安排●Chapter 01 Getting Started●Java编程语言的发展历史,主要特性,以及Java应用程序,阐述了类和包的概念,并介绍了一些常用Java包。
●Chapter 02 Identifiers, Keywords and Types●Chapter 03 Expressions and Flow Control●Chapter 04 Array●如何声明、创建、初始化和拷贝数组。
●Chapter 05 Objects and Classes(Encapsulation, polymorphism and inheritance)●在Chapter2的基础上,进一步阐述Java对象的概念,包括封装继承等。
●Chapter 06 Advanced Language Features(Static、Final、Access control、Collection andreflection、Abstract、Interface、Inner classes)●访问权限控制修饰符,三大修饰符,接口,集合,内部类,反射●07 Chapter 07 Exceptions●08 Chapter 08 Building GUIs●介绍布局管理器和容器的概念。
●09 Chapter 09 AWT Event Model●10 Chapter 10 JFC●Java Foundation Classes。
●11 Chapter 11Threads●12 Chapter 12 Stream I/O and Files●13 Chapter 13 Networking●14 Chapter 14 Introduction to Tiger (J2SE 5)●15 Chapter 15 Autoboxing/Unboxing, Loop, Enumeration, Varargs,Static Import & Misc●16 Chapter 16 Generics●17 Chapter 17 Annotation(Metadata)●18 Chapter 18 Concurrent Utilities二、发展历史:Java来自Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,开始,准备采用C++,但C++太复杂,安全性差,最后基于C++开发一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言.有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇) 咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。
JA V A的几个重要发展阶段:1) 1995年发布第一个Java版本;2) 1996年1月23日发布了JDK1.0。
这个版本包括了两部分:运行环境(即JRE)和开发环境(即JDK);3) 1998年是Java开始迅猛发展的一年,在这一年中Sun发布了JSP/Servlet、EJB规范以及将Java分成了J2EE、J2SE和J2ME;4) 1998年12月4日,Sun发布了Java的历史上最重要的一个JDK版本:JDK1.2。
这个版本标志着Java已经进入Java2时代。
这个时期也是Java飞速发展的时期。
该版本新增了swing图形库5) 2000年5月8日,Sun对JDK1.2进行了重大升级。
推出了JDK1.3。
6) 2002年2月13日,发布了JDK历史上最为成熟的版本:JDK1.4。
三、Java语言的主要特点:●可移植的●安全●面向对象●多线程四、什么是字节码和虚拟机:字节码是一套设计用来在Java运行时系统下执行的高度优化的指令集。
该Java运行时系统称为Java虚拟机(JVM)。
JVM其实就是一个字节码解释器。
虚拟机将字节码解释成机器码给CPU执行,所以我们在java中通过虚拟机的这种解释执行方式来屏蔽底层操作系统的差异。
JRE = JVM+类库JDK= JVM+编译器+类库查看类库源码在:JDK/src.zip压缩包里五、环境变量的设置:需要新加的两个环境变量1、JA V A_HOME:指名JDK的位置。
2、CLASSPA TH:指名到哪里去找运行时需要用到的类代码(字节码)原有的环境变量1、PATH:指名可执行程序的位置。
2、EXPORT :将指定的环境变量声明为全局的。
我们在.bash_profile下的环境变量设置。
JA V A_HOME=/opt/jdk1.5CLASSPATH=.PATH=$PATH:$JA V A_HOME/bin:.注:“.”代表当前目录当我们把环境变量都配置好了以后在终端敲入‖java -version‖命令如果出现JDK版本号信息就表示我们环境变量设置成功了。
Bin目录下放的是一些JDK命令六、kate工具的使用这个就不多做描述了,大家多试试就清楚了七、我们的第一个Java程序public class MyFirstJava{public static void main(String[] args){System.out.println(―Hello World‖);}}注:●我们要求public类名必须和文件名一致,只不过文件名多了个.java的后坠。
●一个源文件可以有多个类,但最多只能有一个public类●main函数是我们整个程序的执行入口所以必须是静态公开的。
编译:javac MyFirstJava.java编译后我们可以看到目录下多了一个MyFirstJava.class文件。
这就是Java编译原文件后生成的字节码文件。
执行:java MyFirstJava将字节码文件交给JVM去解释执行。
思考:1、为什么编译后不生成可执行文件(注:所有的可执行文件都是机器代码)2、Java的跨平台特性(SUM口号:一次编译到处运行);八、包结构为了根据需要将不同的原文件放在不同的目录下我们引入了包。
包我们可以看作就是一个存放java原文件的目录。
在源码的基础上声明一个包名:package sd0604加包后我们用“javac –d . MyFirstJava.java”编译后生成的字节码文件就会放在我们指定的包(目录)结构下.如果我们想指定多级目录那么在目录明之间我们可以用.作为分隔符。
例如:package sd0604.najing.xuanwu九、JDK常用包结构:●ng.*●Java.util.*●Java.awt.*●.*●Java.io.*十、CoreJava中的注释1、//单行注释2、/* */多行注释3、/** */文档注释文档注释可以由java doc命令单独提取出来生成注释文档。
例:javadoc MyFirstJava.java我们在生成的注释文件中可以打开index入口页面来查看我们刚刚生成的注释文档。
文档注释一般写在类、方法、属性定义之前前两种注释和C++相同。
注意:1、我们可以用javadoc –help命令来查看该命令的其他用法。
2、同样我们可以用“javadoc –d 路径名*.java”来指定生成文档注释的位置。
3、可以在文档注释中加入HTML标签来控制生成注释文档的显示格式。
十一、jar命令的用法我们可以用“jar –cvf m n”命令来将文件打包成jar压缩包。
m: 要生成jar包的名字n: 要压缩文件的文件名(可以是多个文件或一个目录)生成的jar文件实际上就是一个普通的zip压缩文件顺便说一下解包的命令:unzip *.jar九、计算机运行一个java程序的过程1、启动JVM2、通过JA V A_HOME\jre\lib\dt.jar找到对应的类3、如果的2不找不到则在环境变量中配置的CLASSPATH配置的路径中找类,这就是为什么我们要在CLASSPATH中配上当前路径的原因。
十、import声明的作用当我们要用一个JDK定义好的类时我们需要在Java程序中配上该类对应的jar包。
(类似于C++中了#include预处理指令)例:import java.util.*;这里大家注意一点:由于ng.*包中的类是我们编程中经常要使用的,所以这个包下的类我们不用特别用import在程序中声明。
但当我们要用到其他包中的类似我们就必须用import声明了。
awt:抽象窗口工具.如果大家想了解什么包做什么用的话大家课以看看我给大家的API 文档,上面有对所有这些包用法的解释。
十一、java中的垃圾回收器因为有了垃圾回收器,我们可以不用顾虑对象创建后占用系统资源的问题。
我们只用负责对象的创建,而对象销毁和资源释放的问题就可以留给垃圾回收器做了。
这里我们需要注意的是垃圾回收器一般只会在内存空间不够的情况下进行资源回收。
十二、java中标识符的命名规则1、只能以字母、下划线或‖$‖开头,严格区分大小写,且长度不限。
2、不能为java关键字3、类名的每个单词的首字母大写4、方法名属性名的第一个单词小写,以后的每个单词首字母大写5、所有的包结构名字都是小写6、常量名所有字母大写注:第一点是必须遵守的,2~5点不遵守也不会出错,但建议大家严格遵守以上命名规范。
十三、java中的关键字和保留字abstract do implements private throwboolean double import protected throwsbreak else instanceof public transientbyte extends int return truecase false interface short trycatch final long static voidchar finally native super volatileclass float new switch whilecontinue for null synchronizeddefault if package this十四、java中的八中基本数据类型1.boolean:占1个字节2.byte :占1个字节3.char : 占2个字节(可以用来保存汉字)4.short :占2个字节5.int :占4个字节6.long : 占8个字节7.float : 占4个字节8.double : 占8个字节十五、正负数在内存空间中的存放正数在内存空间中存发的是源码。
负数在内存空间中存发的是正数源码对应的补码。
补码:在源码的基础上取反后末位加1。
十六、基本数据类型之间的转换1、正向过程:从低字节到高字节可以自动转换。