JAVA语言(全套课件196P).ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《JAVA语言(全套课件196P).ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 语言 全套 课件 196
- 资源描述:
-
1、手把手教程 V3.0版权所有:尚学堂科技尚学堂内容 第一章:JAVA概述 第二章:JAVA语言基础 第三章:面向对象编程 第四章:JAVA异常处理机制 第五章:数组 第六章:JAVA常用类 第七章:JAVA容器类 第八章:JAVA流技术 第九章:JAVA多线程机制 第十章:JAVA网络编程 第十一章:GUI编程尚学堂 手把手教程 V3.0授课:张志宇授课:张志宇版权所有:尚学堂科技第一章:J2SE 之 JAVA概述手把手教程 V3.0版权所有:尚学堂科技尚学堂内容1. 计算机语言的历史以及Java语言的历史地位2. Java自身的发展史3. Java体系4. Java的特点5. Java的运行
2、机制6. Java运行环境的安装与配置7. 第一个程序HelloWorld手把手教程 V3.0版权所有:尚学堂科技尚学堂计算机语言发展史及Java的历史地位 第一代语言 第一代语言第一代语言或机器语言机器语言是一种低级的面向计算机的程序设计语言,使用0和1表示各种命令。 第二代语言 汇编 第三代语言 C、Pascal、Fortran面向过程的语言 C+面向过程/面向对象 Java跨平台的纯面向对象的语言跨平台的纯面向对象的语言 .NET跨语言的平台手把手教程 V3.0版权所有:尚学堂科技尚学堂Java发展史与java体系 95年,Sun发布JDK1.0 98年,JDK1.2,更名为Java2
3、后续JDK1.3、1.4 目前JDK1.5,更名为Java 5.0 (最新为JDK 6 Update 3) 我们使用5.0j2sejava webj2eej2me移动增值JAVA能开发那些类型的程序?手把手教程 V3.0版权所有:尚学堂科技尚学堂Java语言的特点 一种面向对象的语言。 一种平台无关的语言,提供程序运行的解释环境。 一种健壮的语言,吸收了C/C+ 语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内存的申请与释放等)。手把手教程 V3.0版权所有:尚学堂科技尚学堂Java程序运行机制及运行过程源程序源程序(*.java文件)文件)字节码字节码(*.class文件)文件)Ja
4、va编译器编译器类装载器类装载器 Class Loader字节码校验器字节码校验器 byte verifier解释器解释器 interpretor系统平台系统平台手把手教程 V3.0版权所有:尚学堂科技尚学堂核心机制之Java虚拟机 Java虚拟机可以理解成一个以字节码为机器指令的 CPU。 对于不同的运行平台,有不同的虚拟机。 Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。UNIXJVM for UNIXWindowsJVM for WindowsOther PlatformJVM for Other*.java*.class编译编译执行执行手把手教程 V3.0
5、版权所有:尚学堂科技尚学堂核心机制之垃圾收集 garbage collector 不再使用的内存空间应回收垃圾收集。 在C/C+ 等语言中,由程序员负责回收无用内存。 Java语言消除了程序员回收无用内存空间的责任;它提供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间。 垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预。 手把手教程 V3.0版权所有:尚学堂科技尚学堂J2SDK & JRESoftware Devleopment Kit (软件开发包)Java Runtime Environment (Java运行环境)开发需要J
6、DK用户只需JRE手把手教程 V3.0版权所有:尚学堂科技尚学堂开发JDK的不止一家 最主流的是Sun公司发布的JDK 除了Sun之外,还有很多公司和组织都开发了自己的JDK IBM公司开发的JDK, IBM的JDK包含的JVM(Java Virtual Machine)运行效率要比Sun JDK包含的JVM高出许多 BEA公司的Jrocket,专门运行在x86平台的Jrocket在服务端运行效率也要比Sun JDK好很多 GNU组织开发的JDK手把手教程 V3.0版权所有:尚学堂科技尚学堂Java开发环境的下载 安装 配置 配置Java开发环境步骤(WindowsXP) 下载并安装最新版本的
7、J2SDK。 设置 Windows 环境变量。PATH/CLASSPATH 选择合适的文本编辑器或使用集成开发环境。 下载 http:/ 安装 配置 path & classpath 验证 java 运行java程序 javac 编译java程序HelloWorld.java手把手教程 V3.0版权所有:尚学堂科技尚学堂Java Application初步 Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如本例中的 HelloWorld 类。 一个源文件中最多只能有一个public 类。其它类的个数不限,如果源文件包含一个public 类,它必需按该类名命名。 J
8、ava 应用程序的执行入口是 main() 方法。它有固定的书写格式: public static void main(String args) Java 语言中严格区分大小写。 Java 方法由一条条语句构成,每个语句以分号结束。 Java语言有三种注释方式:/ 用于单行注释/* 用于多行注释*/* * 用于多行注释,且可以被 doc 工具解析 */手把手教程 V3.0版权所有:尚学堂科技尚学堂常见Java 开发环境 编辑器 UltraEdit EditPlus 集成开发环境(IDE Integrated Development Environment): JBuilder (http:/)
9、 Eclipse (http:/www.eclipse.org) Sun One Studio Net Beans(http:/) WSADRAD (http:/) WebSphere Application Developer Rational Application Developer IntelliJ IDEA 手把手教程 V3.0版权所有:尚学堂科技尚学堂常见错误常见错误 出现如下错误的原因:java 不是内部或外部命令,也不是可运行的程序或批处理文件。 编译javac Test.java,明明看到该文件,为何找不到?HelloWorld.java.txt 显示扩展名!显示扩展名! 程
10、序员的桌面设置 (详细列表 / 显示所有文件 / 标题栏地址栏全路径)手把手教程 V3.0版权所有:尚学堂科技尚学堂java命令运行的是那个版本? 如果安装了多个版本jdk,那么java命令运行的是那个版本的呢? java version java verbose java -verbose HelloWorld 有时候,修改了一个jdk下面的配置,但始终无法生效。就是这个道理。尚学堂 手把手教程 V3.0授课:张志宇授课:张志宇版权所有:尚学堂科技第二章:J2SE 之 基础语法手把手教程 V3.0版权所有:尚学堂科技尚学堂内容1. 标识符2. 关键字3. Java 基本数据类型4. 运算符5
11、. 表达式和语句6. 分支7. 循环8. 方法9. 变量的作用域10.递归调用手把手教程 V3.0版权所有:尚学堂科技尚学堂标识符 Java 语言中,对各种变量变量、方法方法和类类等要素命名时使用的字符序列称为标识符。 Java 标识符有如下命名规则: 标识符由字母、下划线“_” 、美元符“$”或数字组成。 标识符应以字母、下划线 、美元符开头。 Java 标识符大小写敏感,长度无限制。 约定俗成:约定俗成:Java 标识符选取因注意“见名知意”且不能与 Java 语言的关键字重名。合法的标识符合法的标识符不合法的标识符不合法的标识符 HelloWorld class DataClass Da
12、taClass# _983 98.3 $bS5_c7 Hell World手把手教程 V3.0版权所有:尚学堂科技尚学堂关键字 Java 中一些赋以特定的含义,用做专门用途的字符串称为关键字(keyword)。 所有Java关键字都是小写英文字符串。 goto 和 const 虽然从未使用,但也作被为 Java 关键字保留。abstract default ifprivatethisbooleandoimplementsprotectedthrowbreak doubleimportpublicthrowsbyteelseinstanceofreturntransientcaseextends
13、intshorttrycatchfinalinterfacestaticvoidcharfinallylongstrictfpvolatileclassfloatnativesuperwhileconstfornewswitchnullcontinuegotopackagesynchronized 手把手教程 V3.0版权所有:尚学堂科技尚学堂Java常量 Java 的常量值用字符串表示,区分不同的数据类型。 如整型常量 123 实型常量 3.14 字符常量 a 逻辑常量 true、false 字符串常量 “helloworld” null 注意: 区分字符常量和字符串常量 区分 null 和
14、 “”手把手教程 V3.0版权所有:尚学堂科技尚学堂Java变量 Java变量是程序中最基本的存储单元,其要素包括变量名变量名,变量类型变量类型和作用域作用域。 Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为: type varName =value,varName=value 例如: int i = 100; float f = 12.3f; double d1, d2, d3 = 0.123; String s = “hello”; 从本质上讲,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋
15、值(填充内容),才能使用值名字手把手教程 V3.0版权所有:尚学堂科技尚学堂提示: 程序执行过程硬盘程序内存代码操作系统代码1:Load到内存区2:找到main方法开始执行heapstackdata segmentcode segment3:执行过程中的内存管理存放代码静态变量字符串常量局部变量new出来的东西手把手教程 V3.0版权所有:尚学堂科技尚学堂Java变量的分类 按被声明的位置划分: 局部变量:方法或语句块内部定义的变量 成员变量:方法外部、类的内部定义的变量 注意:类外面(与类对应的大括号外面)不能有变量的声明 按所属的数据类型划分: 基本数据类型变量 引用数据类型变量手把手教程
16、 V3.0版权所有:尚学堂科技尚学堂Java局部变量与成员变量 方法体内部声明的变量(包括形参)称为局部变量: 方法体内部是指与方法对应的大括号内部 在方法体外,类体内声明的变量成为成员变量public void method() int i; int j = i+5 ; / 编译出错,变量i还未被初始化 double d = 3.14; 注:以上程序目前还不能编译TestVar.java手把手教程 V3.0版权所有:尚学堂科技尚学堂Java数据类型的划分数据类型基本数据类型引用数据类型数值型字符型(char)布尔型(boolean)整数类型(byte,short,int,long)浮点类型(
17、float, double)类(class)接口(interface)数组手把手教程 V3.0版权所有:尚学堂科技尚学堂Java基本数据类型 Java中定义了4类8种基本数据类型。 逻辑型boolean 字符型 char 数值型 整数型 byte, short, int, long 浮点数型 float, double手把手教程 V3.0版权所有:尚学堂科技尚学堂逻辑型Boolean boolean 类型适于逻辑运算,一般用于程序流程控制 。 boolean 类型数据只允许取值 true 或 false ,不可以 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 用法举
18、例: boolean flag; flag = true; if(flag) /do something 手把手教程 V3.0版权所有:尚学堂科技尚学堂字符型char char 型数据用来表示通常意义上的“字符” 字符常量为用单引号括起来的单个字符,例如: char eChar = a; char cChar =中; Java 字符采用 Unicode 编码,每个字符占两个字节,因而可用十六进制编码形式表示,例如: char c1 = u0061; 注:Unicode是全球语言统一编码 Java 语言中还允许使用转义字符 来将其后的字符转变为其它的含义,例如: char c2 = n; /n代
19、表换行符 补充:2进制、10进制、16进制之间的转换 1101 11 0 2 1 4 1 8 13 1 4 8 1101 1101 D手把手教程 V3.0版权所有:尚学堂科技尚学堂类 型占用存储空间表数范围 byte 1字节 -128 127 short 2字节 -215 215-1 int 4字节 -231 231-1 long 8字节 -263 263-1 整数类型 Java 各整数类型有固定的表数范围和字段长度,其不受具体操作系统的影响,以保证Java程序的可移植性。 Java 语言整型常量的三种表示形式: 十进制整数,如:12, -314, 0。 八进制整数,要求以 0 开头,如:01
20、2。 十六进制数,要求 0 x 或 0X 开头,如:0 x12 。 Java语言的整型常量默认为int型,声明long型常量可以后加 l 或 L ,如: int i1 = 600; /正确 long l1 = 88888888888L; /必须加l否则会出错手把手教程 V3.0版权所有:尚学堂科技尚学堂类 型占用存储空间表数范围 float 4字节 -3.403E383.403E38 double 8字节 -1.798E3081.798E308 浮点类型 与整数类型类似,Java浮点类型有固定的表数范围和字段长度,不受平台影响。 Java 浮点类型常量有两种表示形式 十进制数形式,例如: 3.
21、14 314.0 .314 科学记数法形式,如 3.14e2 3.14E2 100E-2 Java 浮点型常量默认为 double 型,如要声明一个常量为 float 型,则需在数字后面加 f 或 F ,如: double d = 12345.6; /正确 float f = 12.3f; /必须加f否则会出错 下面列出 Java 的各种浮点类型TestVar2.java手把手教程 V3.0版权所有:尚学堂科技尚学堂 java中可以从任意基本类型任意基本类型转型到另外的基本类型 例外例外 boolean 类型不可以转换为其他的数据类型。 转换分为默认转换和强制转换 整形,字符型,浮点型的数据在
22、混合运算中相互转换,转换时遵循以下原则: 容量小的类型默认转换为容量大的数据类型;数据类型按容量大小排序为: byte,short,char-int-long-float-double byte,short,char之间不会互相转换,他们三者在计算时首先回转换为int类型 容量大的数据类型转换为容量小的数据类型时,要加上强制强制转换符,但可能造成精度降低或溢出;使用时要格外注意。 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。(看下页)(看下页) 实数常量(如:1.2)默认为 double。整数常量(如:123)默认为 int 。基本数据类
23、型转换TestConvert.java手把手教程 V3.0版权所有:尚学堂科技尚学堂多种类型的数据混合运算 有多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。 如果其中一个运算对象是double类型的另一个也会被转换成double类型。 否则,如果其中一个运算对象是float类型的,另一个也会被转换成float类型的。 否则,如果其中一个运算对象是long类型的,另一个也会被转换成long类型的。 否则,如果其中一个运算对象是int类型的,另一个也会被转换成int类型的。 否则,如果其中一个运算对象是short类型的,另一个也会被转换成shor
24、t类型的。 手把手教程 V3.0版权所有:尚学堂科技尚学堂void public method() int i=1,j; float f1=0.1; float f2=123; long l1 = 12345678,l2=8888888888; double d1 = 2e20,d2=124; byte b1 = 1,b2 = 2,b3 = 129; j = j+10; i = i/10; i = i*0.1; char c1=a,c2=125; byte b = b1-b2; char c = c1+c2-1; float f3 = f1+f2; float f4 = f1+f2*0.1;
25、double d = d1*i+j; float f = (float)(d1*5+d2); 课堂练习 说出下面程序片说出下面程序片断中编译错误或可能断中编译错误或可能产生计算溢出的部分产生计算溢出的部分课堂练习TestConvert2.java手把手教程 V3.0版权所有:尚学堂科技尚学堂程序格式 大括号对齐 遇到缩进,Tab/Shift+Tab 程序块之间加空行 并排语句之间加空格 运算符两侧加空格有特定条件 前面有空格 成对编程手把手教程 V3.0版权所有:尚学堂科技尚学堂运算符 Java 语言支持如下运算符: 算术运算符: +,-,*,/,%,+,- 关系运算符: ,=, 赋值运算符:
展开阅读全文