1第一章Java语言概述教学目标:课程所讲述的内容Java语言的由来Java语言的版本说明Java语言的跨平台Java开发环境配置Eclipse开发java应用程序项目1:课程讲述的内容Java语言基础知识:什么是Java语言:java语言的发展与开发环境Java语言的基本结构:java语言的基本结构Java语言的基本要素:java基本语法/类与对象/继承与接口异常、IO、多线程Java异常处理与捕获机制Java输入与输出流Java多线程图形用户界面开发与JDBCJava图形用户组建Swing类Eclipse开发工具:可视类Java与Sql或Access数据库技术项目2:JAVA语言的由来1.爪洼:盛产咖啡(世界咖啡豆的产地:巴西、海南)2.计算机语言发展的四个阶段1)机器语言:执行率高、可读性差。特点:每一条计算机指令均由一组“0”“1”数字,按一定的规律排列组成,不同的CPU具有不同的机器语言。2)汇编语言:汇编语言一条汇编指令对应一条机器指令,与机器语言性质是一样的,只是表达方式发生了变化,可读性比机器语言略好。3)高级语言:C/C++/VC/VB特点:高级语言源程序要“解释”或“编译”成机器语言后运行。解释:边解释边执行的方法如:VB编译:先把源程序编译成指定的机器类型的机器语言的目标程序,然后再把目标程序和各种标准库、函数库装配完整后,在机器上运行。例如:C/C++可移植性较差4)结构化程序设计语言:java3.1)sun公司在很多领域有前瞻性,提前预判到一些“科技”与人类生活发展的要素。在1991年时开发一个项目“TVSETTOPBOX”电视机顶盒。机顶盒就是电视机上一个小盒子,本身内部由硬件“固化在硬件中的软件”构成。我们学习过单片机,Sun公司设想通过单片机实现方案。但是在当时单片机的生产厂家和种类很多,各个厂家的单片机指令不同,而且随着单片机的发展,在一款单片机上写的程序,更换在另一款单片机上就不能使用。2Intel51系列20个国家生产8096系列16位2)例如:8096产品,由于利润不如PC的CPU,Intel公司放弃了该市场,这样就导致使用Intel8096单片机的设备没有备件更换。为了预防这种情况在Sun的机顶盒项目中出现,Sun公司设计了一个“虚拟机”或者称为“模拟器”,就是说Sun的机顶盒中原来固化在硬件中的程序,在计算机中模拟的虚拟硬件中运行。(任天堂黑白机在计算机上运行)Sun在产品开发完成后,只需要选择一款合适的单片机,并在该硬件上解释运行程序即可。3)1994年OAKANDFistPerson:产品开发完成后,Sun公司将这款语言定义为OAK(Gosling项目组楼前有一棵橡树),项目工作组叫做:STARTSeven(内部电话接打外线时需要先按下*,再按下7)4)OAK项目推广失败了,在美国有线电视台多数都是私人老板,由于美国人口密度低一条光缆服务的人数太少,投入太大,风险高,利润低。5)Gosling项目组在1994年,把OAK语言嵌入到WEB上,在html中能解释运行OAK并且能在网页中显示一下动画。6)OAK开发的WEB程序获得Sun高层的支持,并在1995年申请注册OAK,但是Gosling发现OAK已经被其他公司注册了,大家都在发愁为该语言想一个名字,Gosling发现同事桌子上得一瓶咖啡,产地是“爪洼”。大家都知道老美起名字喜欢别出心裁,而且java不是英语所以就注册JAVA。Gosling项目组为java语言做的器称为HOTJava。7)1995年在“好莱坞”技术交流中,gosling展示了用java语言开发的网页动画,鼠标在屏幕中移动,后面跟着个小球。经过记者炒作,java语言就被大众认知了。8)随后Gosling在项目架设了FTP服务器,向全世界免费推广java语言。项目3:Java产品Sun公司的产品称为JavaPlatform2;在早期产品中,JDK1.3前统称为JDK,在此之后称为JavaPlantform2。现在有些开发人员依然把Sun产品称为JDK。(javadevelopmentkit)JAVAPlantform2产品系列:J2SE:standardedition标准版J2EE:Enterpriseedition企业版J2ME:MicroEdition手机或嵌入式设备项目4:Java应用领域Java语言可以开发:桌面应用程序、可以嵌入到Html中开发动态网站、可以开发手持终端上的应用软件和游戏。Java语言的灵活性太高了,java语言的优势体现在网站开发中。项目5:Java开发环境1.Sun公司只提供Java语言的类库,并不提供开发工具。我们使用的Java语言的开发工具都是第三方提供的,典型的开发工具:记事本、Editplus、Eclipse等2.配置开发环境:下载JavaJDK-1.6.0-0.5下载后安装:路径为c:\jdk1.6和c:\jre1.6配置环境变量:path(添加)内容:C:\jdk1.6\bin3作用:java编译时应用程序所在路径。新建CLASSPATH内容.;C:\jdk1.6\lib\dt.jar;C:\jdk1.6\lib\tools.jar;作用:java解释运行时字节码文件所在路径。注意:在windows中显示项目6:使用记事本编写第一个java应用程序打开记事本编写如下代码publicclasst1{publicstaticvoidmain(String[]args){System.out.println(你好,java!);}}一个java应用程序,只有一个公共类(public)。并且类名与文件名一致Javac□文件名.java编译Java□文件名解释运行项目7:eclipse开发工具下载:Eclipse3.2中文版.rar放在c:\解压缩到当前文件夹//布尔类型truefalse不支持1,0booleant=false;booleant1=true;System.out.println(t);System.out.println(t1);if(t1){System.out.println(aaaaaaaaa);}4第二章Java语言基础教学目标:了解Java主类结构了解Java语言中的基本数据类型理解Java语言中的常量与变量掌握Java语言中的运算符的使用理解Java语言中的数据类型转换了解Java语言中的代码注释与编写规范项目1:Java主类结构,通过一个打印输出程序明确Java主类结构。在控制台中打印“你好Java”字符。代码如下:packagepag;publicclassT1{staticStrings1=你好;publicstaticvoidmain(String[]args){Strings2=Java;System.out.println(s1);System.out.println(s2);}}明确内容:1.packagepag;包pag中存在类文件T1。2.publicclassT1公共类T1,类头。3.Java程序由一个或多个独立的类组成,但其中必须有一个公有类(如:T1),而且源代码文件必须与这个公有类的名字相同(如:T1.java)。4.publicstaticvoidmain(String[]args)程序入口。每一个应用程序必须包含一个main()方法。5.main()方法中的内容称为类体。6.staticStrings1=你好;称为全局变量,作用范围在T1类中7.Strings2=Java;局部变量,作用范围在main()方法中。项目2:基本数据类型基本数据类型数值型字符型布尔型声明主窗体类的对象---调用构造方法。有一个线程正在操作操作N浮点类型float、double5项目3:整数类型如下代码:~packagepag;publicclassT2{publicstaticvoidmain(String[]args){bytemybyte=124;//范围-127~1288位shortmyshort=32624;//范围-32768~3276716位intmyint=45784624;////范围-2147483648~483647214732位longmylong=46789451;//范围-9223372036854775808~9223372036854775807//64位System.out.println(25);//十进制数System.out.println(011);//八进制数System.out.println(0x11);//十六进制数System.out.println(mybyte);System.out.println(myshort);System.out.println(myint);System.out.println(mylong);}}明确:1.十进制数可直接打印2.八进制数以“0”开始3.十六进制数以“0X”或“0x”开始4.整数类型范围项目4:浮点类型float单精度、double双精度packagepag;publicclassT3{publicstaticvoidmain(String[]args){floatf1=13.23f;//表示单精度,必须加fdoubled1=125.625d;//表示双精度doubled2=125.62578;System.out.println(f1);System.out.println(d1);System.out.println(d2);}}项目5:字符类型char类型6packagepag;publicclassT4{publicstaticvoidmain(String[]args){chara1='d';chara2='@';intp1=97;intp2=45123;System.out.println(d在Unicode编码中的位置:+(int)a1);System.out.println(@在Unicode编码中的位置:+(int)a2);System.out.println(Unicode编码中97是:+(char)p1);System.out.println(Unicode编码中45123是:+(char)p2);}}明确:1.char类型用于存储单个字符,占用16位两个字节空间。2.定义变量时用单引号赋值,如:‘a’。“a”表示一个字符串。3.使用(int)变量名显示某字符在Unicode编码中的位置。4.使用(char)变量名显示Unicode编码中某个编码内容。项目6布尔类型Boolean类型packagepag;publicclassT5{publicstaticvoidmain(String[]args){booleanb1=true;booleanb2=false;System.out.println(b1);System.out.println(b2);}}明确:1.Java中的布尔数据类型,仅支持ture和false赋值项目7变量与常量1.标示符:标示符是以字母、下划线(_)、美元符($)开始的一个字符序列,后面可以跟字母、下划线、美元符、数字。合法标示符:name、user_age、$page非法标示符:4word、String、int2.标识符是大小写敏感的,但没有长度限制。3.Java关键字是为编译器保留的、具有特定含义的标识符,不能把它用做变量、类或方法的名称。7abstractdefaultifprivatethrowbooleandoimplementsprotectedthrowsbreakdoubleimportpublictransientbyteelseinstanceofreturntrycaseextendsintshortvoidcatchfinalinterfacestaticvolatilecharfinallylongsuperwh