




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java语言概述目标: 了解 Java 的特点和优点 了解 Java 的运行机制 了解 Java 程序的基本结构 掌握如何编译和运行 Java 程序Java发展史: 1990 年Sun 公司的 James Gosling等人开始以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器。 1993 年交互式电视和 PDA 市场开始滑坡,而 Internet 正处于增长时期,因此Sun 公司将目标市场转向 Internet 应用程序。 1994年将Oak语言更名为Java。 1995年Sun 公司的 HotJava 浏览器问世。什么是 JAVA: Java 完全面向对象的编程语言。 Java 可用来生成两类程序:应用程序、 小应用程序( Applet ) 。 Java 既是一种解释执行的语言,也是一种编译执行的语言。Java的基本特点3-1 简单 Java的风格类似于C+,因而对C+程序员而言非常容易掌握Java编程技术; Java摒弃了C+中容易引发程序错误的地方,如指针操作和内存管理; 面向对象 在 Java 中任何东西都是对象,因此,重点集中在数据以及应用程序中的数据操作方法。 分布式 Java提供了包容广泛的例程库,可处理像HTTP和FTP这样的TCP/IP协议。Java应用程序可通过一个特定的URL来打开并访问对象,就像访问本地文件系统那样简单。 Java的基本特点3-2 健壮性 Java在编译和运行程序时都要对可能出现的问题进行检查 它提供自动垃圾收集来进行内存管理 面向对象的异常处理机制 安全 Java语言提供的安全 编译器提供的安全 字节码校验器 类加载器 体系结构中立 Java 程序被编译成一种与体系结构无关的字节代码 只要安装了Java运行时系统Java程序可以在任意的处理器上运行 可移植性 源代码级 目标代码级Java的基本特点3-3 解释执行 编译器 javac 将处理.java源文件生成类文件 类文件可通过名称为 java 的加载实用程序解释执行,将Java 字节码转换为机器可执行代码。 高性能 通过JIT编译器首先将字节码编译成固有代码,将结果缓存下来,然后在需要时调用它们。 多线程 Java语言内置支持多线程的功能 Java 类库提供了 Thread 类 动态 Java自身的设计使它适合于一个不断发展的环境。在Java类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。Java 程序的运行环境Java是解释执行的高级编程语言Java虚拟机 2 - 1 Java虚拟机是一种利用软件方法实现的抽象化的计算机,基于下层的操作系统和硬件平台,可以在上面执行Java的字节码程序。 Java虚拟机将在内部创建一个运行时系统,帮助以下列方式执行代码: 加载 .class 文件 管理内存 执行垃圾收集Java虚拟机 2 - 2 由于硬件平台不一致,因此Java虚拟机使用了堆栈帧的概念,用来存放下列信息: 表示方法状态的帧 字节码操作数 传递给方法的参数 局部变量实时编译器 使用“实时 (Just In Time)” 编译器,也称为JIT编译器。可以提高 Java 代码的执行速度。 SUN公司在Java 2 发行版中提供了JIT编译器,JIT编译器是Java虚拟机的一部分。 JIT 的主要用途是将字节码指令集转换为针对某一特定微处理器的机器代码指令。Java 运行时环境垃圾收集2-1 Java 虚拟机使用两个独立的堆内存,分别用于静态内存分配和动态内存分配。 其中一个是非垃圾收集堆内存,用于存储所有类定义、常量池和方法表。 另一个堆内存再分为两个可以根据要求往不同方向扩展的小块。 用于垃圾收集的算法适用于存放在动态堆内存中的对象。垃圾收集 2-2 垃圾收集器将在收集对象实例之前调用 finalize 方法。 即使显式调用垃圾收集 (System.gc( ) 方法,它也不能保证立即运行。 垃圾收集线程的运行优先级很低所以可能经常会被中断。Java 的编辑环境 JDK是有助于程序员开发Java 程序的 Java 开发工具包包括: 类库 编译器 调试器 Java 运行时环境( JRE )JDK 提供的常用工具 javac 是用来编译源代码的命令。 java 是用于执行类文件的命令,而类文件将在 Java 虚拟机中运行类。 appletviewer 命令允许在万维网浏览器的环境之外运行 Applet。Java Application程序基本结构第一个 Java 程序编译和运行Java API 文档2-1加载 API 文档的步骤:1. 打开 Internet Explorer。2. 键入下列 URL /j2se/1.4.1/docs/api/index.html3. 通过单击相关主题,可以浏览网页。Java API 文档2-2选择包选择包中的接口或类可查看相应帮助总结3-1 Java 是一种面向对象的编程语言,主要用于 Internet 应用程序。 Java 可用来生成两类程序:应用程序、 小应用程序( Applet ) 。 Java 既是一种解释执行的语言,也是一种编译执行的语言。总结3-2 Java 的特点包括: 简单 面向对象 分布式 健壮性 安全 体系结构中立 可移植性 解释执行 高性能 多线程 动态总结3-3 Java 虚拟机是 Java 编程语言的核心。 Java 运行时环境 (JRE) 包含一方面与硬件交互、另一方面又与程序交互的 JVM。 Java 开发工具包有助于开发 Java 程序。 JDK 提供多种工具,这些工具位于 JDK 的 bin 目录下,具体如下: javac java appletviewerJava 编程基础回顾 JVM是 Java 编程语言的核心。 Java 运行时环境 (JRE) 包含一方面与硬件交互、另一方面又与程序交互的 JVM。 Java是完全面向对象的语言,所有的实现必须放在类中。 main函数是Java应用程序执行的入口。 JDK可用于开发 Java 程序。目标 掌握如何定义标识符 掌握 Java 的关键字 了解 Java 的基本类型 了解并掌握 String 类 掌握 Java 的程序控制流程 掌握数组的定义方法 掌握 java.lang.Math 类注释 Java 语言提供三种类型的注释:- 单行注释以 / 开始,并以换行符结束 - 多行注释以 /* 开始,并以 */ 结束 - 文档注释以 /* 开始,并以 */ 结束,注释中的每一行都必须以 * 开始。使用javadoc工具从源代码和文档注释中将信息取出,然后转换为HTML文件。 关键字2-1关键字2-2基本数据类型 Java 共有八种基本数据类型:- 四种整数类型(byte、short、int、long)- 两种浮点数类型(float、double)- 一种字符类型(char)- 一种布尔类型(boolean)整型数据类型类型缺省值长度数的范围byte08位-128 127 short016位-32,768 32,767 int032位-2,147,483,648 2,147,483,647 long064位-9,223,372,036,854,775,808 9,223,372,036,854,775,807 浮点型数据类型类型缺省值长度数的范围float0.032位3.4E-0383.4E+038 double0.064位1.7E-3081.7E+308 字符数据类型类型缺省值长度数的范围charu0000 16位u0000 uFFFF 布尔数据类型类型缺省值长度数的范围booleanfalse 1位false、true字符串 创建一个 String 类的实例:String strName1 = “Humpty dumpty”; /字符串字面量 String strName2 = new String(Egg); 两个或多个字符串可以用“+”运算符合并起来。例如:strName3 = strName1+ is the name of an + strName2; 字符串的长度可以通过 String 类中的函数计算。例如:int numLength = strName2.length(); 也可将数字添加到字符串类型中。例如:String strVar = Mark + 1;字符串池 Java 程序可包含许多字符串字面量 “字符串池”存放在程序中创建的所有字符串字面量 任何时候创建字符串字面量,系统都会搜索字符串池,查看是否存在该字符串字面量。String 类方法 charAt() : 返回字符串中某个特定位置的字符 indexOf() :返回字符串中某个特定字符或子字符串首次出现的索引 toUpperCase() : 将字符串内的所有字符从小写改为大写 toLowerCase() : 将字符串内的所有字符从大写改为小写 标识符(表示指定给变量、方法和类的名称,以便编译器可唯一标识它们。) 在Java中标识符的命名必须符合以下规则: - 标识符必须以字母或下划线或 $ 符号开始。其余字符可以是字母、数字、$ 符号和下划线。- 标识符只能包含两个特殊字符,即下划线 (_) 和美元符号 ($)。不允许有任何其他特殊字符。- 标识符不能包含空格。变量 变量是在程序执行期间可根据需要经常变化的值 变量具有 3 个特性:- 名称 : 标识符- 初始值 :为其赋值或者是保留缺省值- 作用域 : 在不同程序块中的可用性及生命周期- 以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作算术运算符运算符含义示例求值+加c = a + b -减c = a - b *乘c = a * b /除c = a / b %取模c = a % b +递增a+-递减b-+=相加并赋值c += a c = c + a -=相乘并赋值c *= a c = c * a /=相除并赋值c /= a c = c / a %=取模并赋值c %= a c = c % a -取负数c= - a 关系运算符:(关系运算符用于测试两个操作数之间的关系。关系表达式将返回一个布尔结果。)运算符含义示例=等于a=b!=不等于a!=b大于ab小于a=大于或等于a=b=小于或等于a 右移 b = a 2 右移,左边空出的位以0填充 b = a 2 左移 b = a 1 赋值运算符(赋值运算符 (=) 用于为变量赋值) 一次可以为多个变量赋值,如:int a = 20000;int p,q,r,s;p = q = r = s = a;三元运算符 (?:) (三元运算符 (? :) 可以替代 if-else 结构)truefalse条件 ? 表达式 1 : 表达式 2class TernaryOp public static void main(String args) int salary,daysPresent = 30; salary = daysPresent = 20 ? 2000 : 3000; System.out.println(您本月薪资为 $+salary); Instanceof 运算符(可以确定对象是否属于一个特定的类)class InstanceOfDemo public static void main (String args ) InstanceOfDemo t = new InstanceOfDemo( );if (t instanceof InstanceOfDemo) System.out.println (T是InstanceOfDemo 的实例);else System.out.println (T不是InstanceOfDemo 的实例!); java.lang 包 2-1 该包中包含的类是 Java编程语言设计的基础 其中比较重要的类包括:- Object(类体系结构的根)- Class(封装对象或接口运行时的状态 )- 封装类(封装基本数据类型,为基本数据类型建立对象表达式 )- Void 类(有一个TYPE域,该域保存对类型void的Class对象的引用 )java.lang 包 2-2- Math 类(提供一些常用的数学运算的方法 )- String 和 StringBuffer(提供常用的字符串运算 )- (提供“系统操作”,可以管理类的动态加载、外部进程的创建、主机环境查询(如一天中的时间)及安全策略的执行等 ):- ClassLoader()- Process()- Runtime()- SecurityManager()- System()java.lang.Math 2-1 java.lang.Math 类中可用的 static 方法有:- abs() : 返回参数的绝对值- ceil() : 返回大于或等于参数的最小整数- random() : 返回类型为 double 且介于 0.0 和 1.0 之间的随机数java.lang.Math 2-2- floor() : 返回小于或等于参数的最大整数- max() : 返回两个参数值中的大者- min() : 返回两个参数值中的小者- round(): 返回双精度浮点数参数四舍五入后的整数或长整数 控制结构(Java 支持下列控制结构:选择、循环、跳转)l 跳转1. break2. continuel 选择1. ifelse2. switchl 循环1. while2. dowhile3. forif-else 选择语句if-else 结构的语法为:if (条件) 语句1;else 语句2if和else块中只有一条语句 if (条件) 语句组; else 语句组;if和else块中有多条语句 switch 选择语句switch(表达式) 表达式必须为byte,short,int或char类型 case 常量值 1: 语句(组); break;v 常量值必须是与表达式类型兼容的特定的一个常量v 不允许有重复的case值 case 常量值 2: 语句(组); break; case 常量值 N: 语句(组); break; default: 语句(组);循环 while 循环 while(条件) 语句组; do-while循环 do 语句组; while(条件); for 循环 for(变量初始化; 条件; 递增或递减变量的值) 语句组; break 和 continue 语句 break 语句在循环中用于立即从当前循环终止控制。 遇到 break 语句时,将跳出当前循环。 continue 语句则是从其调用处跳至循环的开始处。 continue 语句之后的语句将不再执行。数组 属于复杂数据类型 由类型相同的元素组成的有顺序的数据集合 数组是固定的不能扩展 可以存储基本数据类型或对象 通过数组名和下标可以访问各元素创建数组 通用的一维数组的声明格式是: type var-name; 举例: int array_int ; String str; 利
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司法财务课件
- 资本论核心思想解读
- 快速制作行政人事汇报
- 血透长期留置导管的护理
- 《珀尔赛福涅》课件
- 输血的注意事项及护理
- 2025机械设备购销合同模板大全
- 2025司法考试合同法中合同无效与合同效力问题
- 2025融资居间合同范本含授权委托书,保密协议,融资确认函
- 永久基本农田划定工作总结
- 汉语水平考试HSK四级真题4-真题-无答案
- 大疆:2024-2025农业无人机行业白皮书
- 2025年儿科学测验试卷答案及解析
- 地坪硬化合同(标准版)
- 2025-2026学年人音版(简谱)(2024)初中音乐七年级上册教学计划及进度表
- 6 有趣的纸艺制作教学设计-2025-2026学年小学美术广西版五年级上册-广西版
- 2025年中国邮政集团有限公司安徽省分公司社会招聘笔试参考题库附答案解析
- 2025年度零售定点药店医保培训考核试题(答案+解析)
- 2025年发展对象考试题(附答案)
- 第2课《中国人首次进入自己的空间站》课件+2025-2026学年统编版语文八年级上册
- 第2课《中国人首次进入自己的空间站》课件-统编版语文八年级上册
评论
0/150
提交评论