JAVA零基础讲义ch001
- 格式:ppt
- 大小:70.50 KB
- 文档页数:14
1. 前言Java作为比较基础的编程语言在各种系统开发中应用的已经很广泛了,无论是PC端还是移动端,不管是金融行业还是电信行业,亦或者餐饮、保险等等各行各业都有Java的身影,所以作为一个IT从业者,对Java有一定的了解还是有必要的(特别是我们大数据班,Java的学习就更应该重视,因为Hadoop 的源码就是用Java写的)。
因此,我们在课程安排上,无论是BI班,还是大数据班,都会有Java基础的课程。
1.1.如何去学习Java基础1.1.1. 培养兴趣兴趣是你能够坚持下去的动力。
即使我们一开始可能不喜欢编程,但是既然选择了这一行,把它作为了谋生的手段,那么我们就应该转换一下心态,试着去喜欢它,有事没事就到以下论坛逛逛,或者了解一些最新的技术、产品。
1.1.2. 脚踏实地我相信关于脚踏实地的说教或者故事,大家一定听过很多,但它对我们学习Java确实很重要。
并且现在的社会可以说是一个浮躁的社会,更多的人想的是急功近利或者一夜暴富,回到我们学习上说,好多人在学的时候觉得没什么用,或者一开始很简单,就眼高手低,会写个“HelloWord”就觉得自己很牛了,会软件开发了,这对我们后期的学习和就业会有很大影响,所谓欲速则不达,所以在学习的时候同学们一定要摆正心态,脚踏实地、一步一个脚印。
分享一个小故事:有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。
有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面的蝴蝶开始挣扎,想抓破蛹壳飞出来。
这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么也没法子走出来。
这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。
但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。
1.1.3. 多实践学习编程的最有效的方法就是实践,我的建议就是:敲码、敲码、再敲码,。
Java语言程序设计基础教程课件(第1章)Java的优越性与c比较勤学相对目前市场需求量大可移植性好安全性高多线程纯的面向对象语言Java与net相较开源社区开发工具免费Eclipse 信息与计算科学专业的学生推荐书籍Java2核心技术第七版Thinking in Java 第一章Java 程序设计概述11 机器语言汇编语言和高级语言12 Java 语言概述13 Java平台和主要应用方向14 Java的垃圾回收与代码安全检查机制15 典型的Java开发环境16 Java编程示例17 反编译工具的介绍18 Java JDK 6 新功能介绍11机器语言汇编语言和高级语言计算机程序设计语言的种类非常多总的可以分成机器语言汇编语言高级语言三大类机器语言是计算机唯一能接受和执行的语言与硬件紧密相连机器语言由二进制码组成每个二进制码是一条指令一条指令通常由两个部分组成操作码操作数操作码规定了计算机要执行的基本操作操作数规定了操作对象或操作对象的地址汇编语言Assembly Language是面向机器的程序设计语言用汇编语言编写的程序叫汇编语言源程序计算机无法执行必须用汇编程序把它翻译成机器语言目标程序计算机才能执行这个翻译过程称为汇编过程汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序汇编语言中用助记符代替操作码用地址符号Symbol或标号Label代替地址码这样用符号代替机器语言的二进制码就把机器语言变成了汇编语言因此汇编语言亦称为符号语言机器语言和汇编语言都是面向机器的高级语言是面向用户的由于汇编语言依赖于硬件体系且助记符量大难记于是人们又发明了更加易用的所谓高级语言高级语言中的语法和结构更类似普通英文且由于远离对硬件的直接操作使得一般人经过学习之后都可以编程用高级语言编写的程序叫做高级语言源程序必须翻译成机器语言目标程序才能被计算机执行高级语言的翻译有两种方式编译方式和解释方式编译方式先由编译程序把高级语言源程序翻译成目标程序执行时运行目标程序现在大多数的编程语言都是编译型的例如Visual CVisual FoxproDelphi等解释方式在运行高级语言源程序时由解释程序对源程序边翻译边执行经典的Basic语言就是以解释方式运行的12 Java 概述Java语言的产生Java语言的发展Java虚拟机及Java的跨平台原理Java语言的关键特点Java 语言的产生Java是1995年6月由Sun公司引进到我们这个世界的革命性的编程语言1990年Sun公司成立了由James Gosling领导的开发小组开始致力于开发一种可移植的跨平台的语言该语言能生成正确运行于各种操作系统各种CPU芯片上的代码他们的精心专研和努力促成了Java语言的诞生Java语言是一门很优秀的语言具有面向对象与平台无关安全稳定和多线程等优良特性是目前软件设计中极为健壮的编程语言Java语言的出现是源于对独立于平台语言的需要即这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误目前随着网络的迅速发展Java语言的优势越显明显Java已经成为网络时代一门非常重要的语言Java 语言的发展微软公司总裁比尔盖茨先生认为Java语言是长时间以来最卓越的程序设计语言Java语言已经成为目前最流行的网络编程语言到2005年我国对Java技术人员的需求量将高达20万余人许多大学纷纷开设Java课程Java 正逐步成为世界上程序员最多的编程语言Java虚拟机及Java的跨平台原理Java虚拟机Java Virtual Machine 简称JVMJava虚拟机是一个想象中的机器在实际的计算机上通过软件模拟来实现Java 虚拟机有自己想象中的硬件如处理器堆栈寄存器等还具有相应的指令系统Java 语言的一个非常重要的特点就是与平台的无关性而使用Java虚拟机是实现这一特点的关键Java语言的关键特点简单性平台无关性面向对象性安全性分布式多线程动态性13 Java平台和主要应用方向某种意义上来说Java不仅是编程语言还是一个开发平台Java技术给程序员提供了许多工具编译器解释器文档生成器和文件打包工具等同时Java还是一个程序发布平台两种主要的发布环境首先是Java运行时环境java runtime environment简称JRE包含了完整的类文件包其次许多主要的浏览器都提供了Java解释器和运行时环境Java技术的平台架构包括以下三个方面J2SEJava 2 Standard Edition标准版主要目的是为台式机和工作站提供一个开发和运行的平台包括标准的Java 2 SDK工具运行时环境和API用Java程序设计语言编写部署和运行Applet和应用程序的开发人员是桌面开发和低端商务应用的解决方案J2EEJava 2 Enterprise Edition企业版主要目的是为企业计算提供一个应用服务器的运行和开发平台J2EE本身是一个开放的标准任何软件厂商都可以推出自己的符合J2EE标准的产品通过基于标准化模块组件和一整套的相关服务能够自动处理应用程序行为的许多细节从而大大简化了多层企业应用程序的构造和部署IBMOracleBEAHP等29家已经推出了自己的产品其中尤以BEA公司的WebLogic产品和IBM公司的WebSphare最为著名J2MEJava 2 Micro Edition小型版主要是面向消费电子产品为消费电子产品提供一个Java的运行平台使得Java程序能够在手机机顶盒PDA等产品上运行包含高度优化的Java运行时环境致力于电子消费产品和嵌入式设备的解决方案14 Java的垃圾回收与代码安全检查机制在Java程序的执行过程中部分内存在使用过后就处于废弃状态如果不及时进行无用内存的回收内存会越占越多导致内存泄漏进而导致系统崩溃在C++语言中是由程序员人为进行内存回收的程序员需要在编写程序的时候把不再使用的对象内存释放掉但是这种人为的管理内存释放的方法却往往由于程序员的疏忽而致使内存无法回收同时也增加了程序员的工作量在Java运行环境中始终存在着一个系统级的线程专门跟踪内存的使用情况定期检测出不再使用的内存并进行自动回收避免了内存的泄露也减轻了程序员的工作量字节码的执行需要经过三个步骤1首先由类装载器class loader负责把类文件class文件加载到Java虚拟机中在此过程需要检验该类文件是否符合类文件规范2其次字节码校验器byte code verifier检查该类文件的代码中是否存在着某些非法操作例如Applet程序中写本机文件系统的操作3如果字节码校验器检验通过由Java解释器负责把该类文件解释成为机器码进行执行Java虚拟机采用的是沙箱运行模式即把Java程序的代码和数据都限制在一定内存空间里执行不允许程序访问该内存空间外的内存如果是Applet程序还不允许访问客户端机器的文件系统Java致力于检查程序在编译和运行时的错误类型检查帮助检查出许多开发早期出现的错误Java自已操纵内存减少了内存出错的可能性Java还实现了真数组避免了覆盖数据的可能这些功能特征大大提高了开发Java应用程序的周期Java提供Null指针检测数组边界检测异常出口Byte code校验15典型的Java开发环境Sun公司为全世界使用Java进行开发的人员提供了一套免费的开发工具集取名为JDKJava Developers Kits它不仅是Java的开发平台也是Java的运行平台学习Java必须从J2SE开始目前Sun公司已发布了SDK的15测试版本beta版可以登录到Sun公司的网站httpcom免费下载SDK15例如jdk-1_5_0-beta2-windows-i586exe 下载安装和了解JDK 1下载安装JDK的第一步是下载安装文件这里要下载的是Sun公司的J2SE 50 Development Kits下载的网址是httpcomj2secomdownloadjsp 2安装JDK 下载后的JDK安装文件名称是jdk-1_5_0_06- windows-i586-pexe双击这个文件可以开始程序的安装开始的第一步是同意使用条款接着则开始安装JDK 3了解JDK 默认情况下JDK与公用JRE各安装至C\Program Files\Java\com\及C\Program Files\Java\com\ 公用JRE 主要是为开发好的Java程序提供执行的平台其实JDK本身也有自己的JRE这个JRE位于JDK安装目录的jre目录下以上面的安装为例就是在C\Program Files\Java\com\jre中JDK本身所附的JRE主要是开发Java程序时做测试之用与公用JRE的主要差别在于JDK本身所附的JRE比公用JRE多了个server的VMVirtual Machine执行选项JDK的安装目录下有如下内容bin目录提供的是JDK的工具程序包括javacjavajavadocappletviewer等程序demo目录一些使用Java 编写好的范例程序jre目录JDK自己附带的JRE lib目录工具程序实际上会使用的Java工具类例如javac工具程序实际上会去使用toolsjar中的comsuntoolsjavacMain类srczipJava提供的API类的源代码压缩文件如果需要查看API的某些功能是如何实现的可以查看这个文件中的源代码内容JDK安装目录下的bin目录非常重要因为编写完Java程序之后无论是编译或执行程序都会使用到bin目录下所提供的工具程序系统环境ClassPath 值的设置系统环境变量Path 值的设置测试环境变量写一个简单的Java程序测试一下环境设置是否正确例1-1一个简单的Java程序public class HelloWorld public static void main String argv[ ] S ycomtln "你好我的第一个Java程序" 注意1.Java 的源文件必须以扩展名java结束2.Java主文件名与类名称必须一致区分大小写3.Java程序的类名称是指class关键词后的名称就这个例子而言也就是HelloWorld该名称必须与HelloWorldjava的主文件名HelloWorld一致4.注意每个字母的大小写Java程序中会区分字母的大小写System与system对Java程序来说是不一样的名称C\ cd java_work\1 接着使用javac工具程序来编译java文件命令如下C\java_work\1 javac HelloWorldjava 如果编译顺利成功则在HelloWorldjava所在的目录会出现一个HelloWorldclass文件这是已经编译完成的Java字节码文件使用java工具程序来执行它执行方式如下C\java_work\1 java HelloWorld Java工具程序会根据指定的类名称实际加载class的文件以上例来说就是载入HelloWorldclass并执行Eclipse和MyEclipse 1.Eclipse 是什么Eclipse 是一个开放源代码的基于Java的可扩展开发平台就其本身而言它只是一个框架和一组服务用于通过插件组件构建开发环境幸运的是Eclipse 附带了一个标准的插件集包括Java开发工具Java Development ToolsJDT 虽然大多数用户很乐于将Eclipse 当作Java IDE 来使用但Eclipse 的目标不仅限于此Eclipse还包括插件开发环境Plug-in Development EnvironmentPDE这个组件主要针对希望扩展Eclipse的软件开发人员因为它允许构建与Eclipse环境无缝集成的工具由于Eclipse中的每样东西都是插件对于给Eclipse 提供插件以及给用户提供一致和统一的集成开发环境而言所有工具开发人员都具有同等的发挥场所2.MyEclipse 是什么简单而言MyEclipse是Eclipse的插件也是一款功能强大的J2EE集成开发环境支持代码编写配置测试以及除错最新版本是70主要增加Matisse4 MyEclipse Gui Biulder的整合AjaxWeb 20 开发工具16 Java编程示例com 第一个Java Application 例1-2第一个Java Application程序MyApplicationjava import javautil 下面我们用到了Date和Properties这两个类是属于Javautil这个包的而System和Runtime这两个类是属于Javalang这个包的public class MyApplication public static void main String[] args Sycomtln new Date 在命令行下面打印出日期Properties p SystemgetProperties 获得系统的Properties对象p plist Systemout 在命令行下打印出p中的各个系统变量的值Sycomtln "--- Memory Usage" 打印一行字符串---Memory Usage Runtime rt RuntimegetRuntime 获得系统的Runtime对象rt Sycomtln "Total Memory " rttotalMemory " Free Memory " rtfreeMemory 打印总内存大小打印空闲内存大小Sycomtln new Date 打印语句的参数是一个日期对象Date而创建Date对象的目的就是把它的值发给println 语句一旦这个语句执行完毕Date对象就没用了而后Java的垃圾回收机制会将其收回第二行中调用了SystemgetProperties 方法getProperties 是System类的一个静态方法static方法关于类的静态方法含义我们会在第三章中介绍由于它是静态的所以不必创建任何对象就可以通过类名直接调用该方法在第三行中Properties对象有一个名为list 的方法它将自己的全部内容都发给一个PrintStream对象该对象作为list 方法的参数第四行和第六行是典型的打印语句其中第六行通过运算符+的重载来连接多个字符串对象在Java中只有当+运算符作用于字符串时才能够进行重载仔细观察下述语句Sycomtln "Total Memory " rttotalMemory " Free Memory " rtfreeMemory 其中totalMemory 和freeMemory 返回的是数值并非String对象第五行通过调用Runtime的getRuntime 方法创建了一个Runtime对象该对象中包含了内存等信息com Java程序的编辑Java程序的编辑可以使用任何一种文本编辑器例如UltraEditNotepadWordpad甚至word然后只要把编辑好的文件存成后缀为java的文件当然也可以用一些集成开发环境例如Borland公司的JBuilderIBM公司的Visualage for JavaSun公司的NetBean此外还有cafekawa等其它集成开发环境comava Application应用程序要编译上述Java文件MyApplicationjava可以在命令提示符下进行编译在命令行中敲入javac MyApplicationjava 当编译结束后Java 源文件中的每一个类都会生成相应的class 文件例如上例就会生成一个MyApplicationclass文件而Java程序在执行时调用的是class 文件在命令提示符下敲入java MyApplication进行执行comJava Applet 例1-3一个Java Applet程序该程序保存在文件HelloAppletjava中import comhics 进行显示输出时需要用到类Graphics的对象import comet Applet类是所有的Java Applet的父类给这个类取名为HelloApplet 因为所有的applet程序都是Applet类的子类public class HelloApplet extends Applet public String s public void inits new String "欢迎学习Java Applet" 生成一个字符串对象public void paint Graphics g gdrawString s 25 25 在浏览器中坐标为2525的位置显示字符串s Applet小应用程序是从方法init 开始执行的在该方法中完成了对字符串s的初始化工作而显示功能是在方法paint 中执行的paint 方法是类Applet的一个成员方法其参数是图形对象Graphics g通过调用对象g的drawString 方法就可以显示输出compplet Applet程序也是一个类其编译方式与Java Application完全一样Applet的执行方式与Application完全不同Applet程序必须嵌入到6>html文件中才能够执行因此必须编写一个相应的html文件此处为HelloApplethtml代码中包含有applet标记如下applet code HelloAppletclass height 100 width 300 然后可以通过JDK所提供的命令appletviewer在命令提示符下敲入appletviewer HelloApplethtml 此时系统会弹出另外一个窗口运行该applet程序运行结果如图1-9所示17反编译工具的介绍使用SDK提供的反编译器javapexe可以将字节码反编译为源码查看源码类中的public方法名字和public成员变量的名字例如javap comon 将列出Button中的public方法和public 成员变量下列命令javap –private comon 将列出Button中的全数方式和成员变量查看更多的参数能够执行javap -help来显示18 Java JDK 6 新功能介绍2006年末Sun 公司发布了Java Standard Edition 6Java SE 6的最终正式版跟Java SE 5相较在性能方面有了专门大的提升Java SE 6 在Instrumentation 方面的新特性在Java SE 6 里面instrumentation 包被给予了更壮大的功能启动后的instrument 本地代码instrument和动态改变classpath 等等Java SE 6 与HTTP 相关的诸多新特性这使得Java SE 平台本身对网络编程尤其是基于HTTP 协议的因特网编程有了加倍壮大的支持Java 管理扩展JMX 架构及其框架和在Java SE 5 中新引入的JMX API -- comgement 包此API 在Java SE 6 中做了改良JDK 6 中新增加的编译器APIJSR 199利用此API您能够在运行时挪用Java 编译器能够编译不同形式的源代码文件还能够收集编译器的诊断信息Java SE 6 在数据库编程方面的新特性包括嵌入在JDK 中的Java DB Derby和JDBC 40 的一部份Java SE 6 新引入的对JSR 223 的支持它旨在概念一个统一的规范使得Java 应用程序能够通过一套固定的接口与各类脚本引擎交互从而达到在Java 平台上挪用各类脚本语言的目的Java SE 6 中提供的XML 处置框架和在此框架之上结合注释Annotation 技术所提供的壮大的针对Web 服务的支持19 练习试探题 1 Java运行平台包括三个版本请选择正确的三项 A J2EE BJ2ME C J2SE DJ2E 2 开发与运行Java程序需要经过的三个主要步骤为________________________和____________ 3 如果一个Java Applet源程序文件只定义有一个类该类的类名为MyApplet则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______ Java程序分为Java ApplicationJava 应用程序和Java AppletJava小应用程序两种类型图1-9 Applet例子运行结果SDK的安装目录的jre文件夹中包含着Java应用程序运行时所需要的Java类库这些类库被包含在jre\lib目录下的压缩文件rtjar中SDK平台提供的Java编译器javacexe和Java解释器javaexe位于Java安装目录的bin文件夹中为了能在任何目录中使用编译器和解释器应在系统特性中设置Path对于Windows2000Windows2003Windows XP用鼠标右键点击我的电脑弹出菜单然后选择属性弹出系统特性对话框再单击该对话框中的高级选项然后点击按钮环境变量添加如下的系统环境变量百度文库- 让每个人平等地提升自我11。
JAVA基础课程讲义-图文北京尚学堂科技JAVA基础课程北京尚学堂科技JAVA基础课程目录第一章JAVA入门............................................................. . (10)计算机语言发展史............................................................. . (10)JAVA开发环境搭建............................................................. ...........................................18一个典型的JAVA程序的编写和运行过程............................................................. ......19第一个程序常见错误............................................................. ........................................20第一个JAVA程序的总结和提升............................................................. ......................20常用Java开发工具............................................................. ...................................................20常用do命令............................................................. (21)本章笔试作业............................................................. (21)本章上机操作............................................................. (21)第二章(1)编程的基本概念............................................................. (22)注释............................................................. ............................................................... .............22标识符............................................................. ............................................................... .........22关键字/保留字............................................................. ..........................................................23变量(variable)..................................................... ............................................................... .....24常量(Contant)...................................................... ............................................................... ...25命名规则(规范)............................................................ ..........................................................25基本数据类型(primitivedatatype)............................................ . (26)整型变量............................................................. (26)浮点型............................................................. ................................................................27字符型(2个字节):......................................................... .........................................28boolean类型............................................................. .....................................................29运算符(operator)..................................................... (29)二元运算符.............................................................. .......................................................29一元运算符.............................................................. .......................................................30布尔逻辑表达符.............................................................. .. (30)2北京尚学堂科技JAVA基础课程位运算符............................................................. (30)扩展运算符............................................................. ........................................................31字符串连接符............................................................. ....................................................31三目条件运算符............................................................. ................................................31运算符优先级的问题............................................................. ........................................31自动类型转换............................................................. ....................................................32基本类型转化时常见错误和问题............................................................. ....................33方法............................................................. ............................................................... .............33简单的键盘输入和输出............................................................. ............................................33本章思考作业............................................................. (34)上机操作............................................................. ............................................................... .....34第二章(2)控制语句............................................................. (35)顺序结构............................................................. ............................................................... .....35选择结构............................................................. ............................................................... .. (35)if单选择结构............................................................. .....................................................35if-ele双选择结构............................................................. .............................................35If-eleif-ele多选择结构............................................................. ...................................36witch多选择结构............................................................. ............................................37循环结构............................................................. ............................................................... .. (39)While和dowhile的区别............................................................. ..................................41For循环............................................................. . (42)break语句和continue语句............................................................. .............................47语句块............................................................. ............................................................... .........48递归结构............................................................. ............................................................... .....49本章作业............................................................. ............................................................... .....50本章上机操作............................................................. (51)第三章JAVA面向对象程序开发............................................................. . (52)编程语言发展史............................................................. ........................................................52类和对象是如何产生发展的如何进化的............................................................. ............52面向对象思想初步(OOP初步ObjectOrientedProgramming)..................................... ........53面向对象编程的语言的三大特征简介............................................................. ....................56对象和类的概念............................................................. ........................................................56类和对象初步............................................................. (57)测试类的定义方式............................................................. ............................................57简单的学生类编写示例............................................................. ....................................58内存分析............................................................. (59)属性(field,或者叫成员变量)........................................................... .......................59引用类型............................................................. (60)类的方 (60)对象的创建和使用............................................................. ............................................60构造器(或者叫做构造方法,contructor)................................................. ......................60垃圾回收机制(GarbageCollection)............................................ ........................................63方法的重载(overload),构造方法的重载............................................................. ...............63thi关键字............................................................. ............................................................... ..653北京尚学堂科技JAVA基础课程tatic关键字.............................................................. (66)静态初始化块(经常用来初始化类,加载类信息时执行!)...........................................67package...... ................................................................ .............................................................68J DK中的主要包.............................................................. ........................................................68import................................................................ .....68eclipe的使用.............................................................. ..........................................................69继承(e某tend,inheritance)............................................... .. (70)为什么需要继承?继承的作用?........................................................... ......................70继承介绍............................................................. (70)如何实现继承?........................................................... ..................................................70继承使用要点............................................................. ....................................................71Object 类............................................................. ............................................................... .. (72)toString方法............................................................. ......................................................72equal方法............................................................. ........................................................73uper 关键字............................................................. . (74)方法的重写(override)................................................... ....................................................74隐藏/封装(encapulation)................................................. .. (75)为什么需要封装?封装的作用和含义?........................................................... ..........75使用访问控制符,实现封装............................................................. ............................76封装的使用细节............................................................. ................................................76多态(polymorphim).................................................. . (76)为什么需要多态............................................................. ..............................................76如何实现多态............................................................. ..................................................77方法绑定(methodbinding)................................................ .........................................77静态绑定............................................................. (77)动态绑定............................................................. (77)多态的使用要点............................................................. ................................................78对象的转型(cating)....................................................... ........................................................79final ............................................................... ..........................................................................81抽象类............................................................. ............................................................... .........82抽象类的使用要点............................................................. ....................................................83接口............................................................. ............................................................... . (83)为什么需要接口............................................................. ..............................................84如何定义接口............................................................. ..................................................84接口的本质探讨............................................................. ................................................84接口使用要点............................................................. ....................................................85接口的多继承............................................................. ....................................................86面向接口编程............................................................. ....................................................87OOP更多应用............................................................. .. (87)组合............................................................. ............................................................... .....87内部类(innerclae).......................................................................................................88字符串(ng.String类)的使用............................................................. ..............90字符串相等的判断............................................................. ............................................92思考作业............................................................. ............................................................... .. (93)4北京尚学堂科技JAVA基础课程上机作业............................................................. ............................................................... .....94第四章异常机制............................................................. ............................................................... .95导引问题............................................................. ............................................................... .....95异常(E某ception)的概念............................................................. ........................................96异常分类............................................................. ............................................................... .. (96)Error.......................................................... ............................................................... .......97Error和E某ception的区 (97)E某ception........................................................ ............................................................... ..97异常的处理办法之一,捕获异常............................................................. . (99)try 块............................................................. ............................................................... ...99catch..................................................... ............................................................... ............99finally.......................................... ............................................................... ....................100try,catch,finally,return执行顺序............................................................. ..................100异常的处理办法之二,声明异常:throw子句............................................................. 101方法重写中声明异常原则............................................................. ......................................102异常的处理办法之三,手动抛出异常,throw子句........................................................103自定义异常............................................................. .. (1)03使用异常机制建议............................................................. ..................................................104总结........................................................................105思考作业............................................................. ............................................................... ...105上机作业............................................................. ............................................................... ...105第五章数组............................................................. ............................................................... . (106)数组概述和特点............................................................. ......................................................106创建数组和初始化............................................................. ..................................................106数组常见操作............................................................. . (108)数组的拷贝............................................................. ......................................................108数组排序............................................................. ..........................................................109多维数组............................................................. ............................................................... ...110附录(面试前复习一下!!)........................................................ (111)冒泡排序.............................................................分法查找............................................................. ......................................................112命令行参数的问题............................................................. ..........................................113增强for循环............................................................. ...................................................114思考作业............................................................. ............................................................... ...114上机作业............................................................. ............................................................... ...115第六章常用类的使用............................................................. (117)基本数据类型的包装类............................................................. (117)包装类基本知识.............................................................. .............................................117包装类的用途.............................................................. .................................................118自动装箱和拆箱?autobo某ing,unbo某ing............................................................. .....119字符串相关类(String、StringBuffer、StringBuilder) (12)String类的常用方法(已讲过,不再讲!)......................................................... .....120StringBuffer和StringBuilder.................................................. ......................................121String和StringBuffer 和StringBuilder使用要点.. (123)5北京尚学堂科技JAVA基础课程时间处理相关类............................................................. (124)Date时间类(java.util.Date)............................................... ...........................................124DateFormat类和SimpleDateFormat 类............................................................. .........125Calendar日历类............................................................. ..............................................126可视化日历的编写............................................................. ..........................................128Math 类............................................................. ............................................................... .....131File 类............................................................. ............................................................... .. (132)为什么需要学习IO技术............................................................. ........................................146基本概念............................................................. ............................................................... (146)数据源.............................................................. . (146)流的概念.............................................................. .........................................................146第一个简单的IO流程序及深入(将文件中的数据读入).............................................146Java中流的概念细分.............................................................. .............................................148Java中IO流类的体系.............................................................. ...........................................149四个IO基本抽象类.............................................................. .. (150)InputStream.................................................... .. (1)50OutputStream................................................. .. (1)50常用InputStream和OutputStream子类用法 (1)50FileInputStream和FileOutputStream............................................... ...........................150ByteArrayInutStream和ByteArrayOutputStream.......................................... ..........154BufferedInputStream和BufferedOutputStream........................................... ...............156DataInputStream和DataOutputStream............................................... .......................157ObjectInputStream和ObjectOutputStream............................................. ...................158PrintStream.............................. ............................................................... . (158)6北京尚学堂科技JAVA基础课程Reader......................................................... ............................................................... ...158Writer................................................... ............................................................... ..........159FileReader和FileWriter..................................................... ..........................................159BufferReader和BufferWriter................................................... ....................................159InputStreamReader和OutputStreamWriter............................................. ...................161JAVA对象的序列化和反序列化............................................................. .. (161)为什么需要序列化和反序列化...................................................................................161对象的序列化主要有两种用途............................................................. ......................161序列化涉及的类和接口............................................................. ..................................162序列化/反序列化的步骤和实例............................................................. ....................162综合的序列化和反序列化练习............................................................. ......................163JAVA.IO包相关流对象用法总结(尚学堂1002班王鑫).....................................................165IO中其他常用类............................................................. .. (165)File 类............................................................. ............................................................... 165RandomAcceFile.............................................. .. (166)思考作业............................................................. ............................................................... ...166上机作业............................................................. ............................................................... ...166提高课外作业............................................................. ..........................................................166第九章多线程技术............................................................. . (167)念............................................................. ............................................................... (167)程序............................................................. ............................................................... ...167进程............................................................. ............................................................... ...167线程............................................................. ............................................................... ...167线程和进程的区别............................................................. ..........................................167进程与程序的区别............................................................. ..........................................168JAVA中如何实现多线程(重点!!)........................................................ .. (168)通过继承Thread类实现多线程.............................................................. ....................168通过Runnable接口实现多线程.............................................................. ...................169线程状态和leep/yield/join/top/detroy方法.............................................................. (170)态............................................................. ..........................................................170就绪状态............................................................. ..........................................................170运行状态............................................................. ..........................................................170死亡状态............................................................. ..........................................................170终止线程的典型方法(重要!!!)...................................................... .......................171阻塞状态(leep/yield/join方法)............................................................ ......................171线程基本信息和优先级别............................................................. ......................................173线程同步和死锁问题............................................................. ..............................................175死锁及解决方案............................................................. ......................................................179生产者/消费者模式............................................................. ................................................181线程回顾总结............................................................. ..........................................................184任务调度(补充内容,了解即可!).......................................................... ..........................184思考作业............................................................. ..................................................................185上机作业............................................................. ............................................................... ...185第十章网络编程............................................................. .. (1)867北京尚学堂科技JAVA基础课程基本概念............................................................. ............................................................... (186)什么是计算机网络............................................................. ..........................................186计算机网络的主要功能............................................................. ..................................186什么是网络通信协议............................................................. ......................................186网络通信接口............................................................. ..................................................186为什么要分层............................................................. ..................................................186通信协议的分层规定............................................................. ......................................186数据封装............................................................. ..........................................................188数据拆封.......................................................................................................................188IP ............................................................... ............................................................... .. (188)端口............................................................. ............................................................... ...188URL...................................................... ............................................................... .. (189)TCP协议和UDP协议............................................................. (189)区别.............................................................. ................................................................ .189TCP协议.............................................................. ..........................................................189UDP 协议.............................................................. .........................................................190JAVA 网络编程.............................................................. .. (190)InetAddre...................................................... . (19)0InetSocketAddre............................................... .........................................................191URL 类............................................................. .. (1)91基于TCP协议的SOCKET编程和通信............................................................. ...........193UDP通讯的实现............................................................. ..............................................201思考作业............................................................. ............................................................... ...203上机作业(分组完成,3人一组,周末完成)........................................................... .....204第十一章JAVA多媒体编程............................................................. . (205)字体............................................................. ............................................................... .. (205)字体示例和效果............................................................. ..............................................205颜色............................................................. ............................................................... .. (206)颜色编程示例............................................................. ..................................................206图形绘制............................................................. ............................................................... (206)。