SlideShare uma empresa Scribd logo
1 de 57
第一讲  序论 1 、程序设计语言 2 、 Java 历史及发展 3 、 Java 语言特点 4 、 Java 开发环境 5 、 Java 类库 6 、 Java 程序
软件的基本组成部分是完成其功能的程序。 程序设计语言(也被称为“编程语言”, Programming  Language )是人们编制程序所使用的语言。 程序描述了计算机处理数据、解决问题的过程,这是程序的实质。但程序的描述形式却可以是多种多样的,可以用不同的方式表述——不同的程序设计语言。 1 、程序设计语言
1 、程序设计语言 ,[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],1 、程序设计语言 —— 高级程序设计语言
对于“编译执行”方式,人们实现了高级语言“编译器”( Compiler )完成这种转换工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。编译器对源程序的加工一般分为两个阶段:源程序首先被翻译成机器语言,这种翻译结果称为“目标码”( object code ),目标码构成的程序片段称为目标模块。第二步,这些目标模块被与其他一些基本模块(由编译软件提供)连接在一起,最终形成“可执行程序”( executable program ),这样的程序就可以在计算机上实际运行了。 第一个加工步骤称为“编译”( compiling ),第二个步骤称为“连接”( linking )。   1 、程序设计语言 —— 高级程序设计语言
1 、程序设计语言 —— 高级程序设计语言 编 译 过 程
对于“解释执行” 方式,人们实现了一种称为“解释器”( Interpreter )的软件来完成转换工作。解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能。 1 、程序设计语言 —— 高级程序设计语言 解 释 过 程
1 、程序设计语言 —— 高级程序设计语言 高级语言写出的程序是独立于任何具体的计算机的。但是“编译器”和“解释器”则是与机器相关的。同一种语言,对于不同的机器,需要不同的“编译器”和“解释器”。 人们已经开发出了许多不同的高级程序设计语言,不同的语言有各自不同的规范,因此需要专门的“编译器”和“解释器”。
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1 、程序设计语言 —— 高级程序设计语言
2 、 Java 历史及发展 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],3 、 Java 语言特点 ——  (1)  面向对象
[object Object],[object Object],3 、 Java 语言特点 ——  (2) 平台无关性
源 程 序 Java 编译器 SPARC pentium Powerpc 中间码 Powerpc pentium SPARC 二进制 源 程 序 SPARC Powerpc pentium Powerpc pentium SPARC 编译器 二进制 Java 解释器 编译型和解释型语言的工作模式 类、类库装载 (库)链接
编译 , 没有绝对地址 调入包含、继承所用到的所有类 ,  内存分配确定 , 变成真正可执行的机器码  不存在伪造的指针 不违反访问权限 不非法访问对象 不导致操作栈溢出 Java 的编译与执行 Java 源程序 (.java 文件 ) Java 编译器 Java Bytecode (.class 文件 ) 系统执行平台 Bytecode  解释器 Bytecode  载入器 字节码校验器
不同的操作系统有不同的虚 拟机。 它类似一个小巧而高效的 CPU 。 Bytecode 代码是与平台无关的 是虚拟机的机器指令。 Java 字节代码运行的两种方式 : Interpreter( 解释方式 ) Just-in-time( 即时编译 ): 有代码 生成器将字节代码转换成本机 的机器代码,然后可以以较高速度执行 . Java 虚拟机 Java interpreter Just-in-time compiler Runtime System Operating System Hardware
[object Object],[object Object],[object Object],[object Object],[object Object],3 、 Java 语言特点 ——  (3) 安全问题
Java 的安全措施 Java 源程序 (.java 文件 ) Java 编译器 Java Bytecode (.class 文件 ) Bytecode  载入器 Bytecode  解释器 系统执行平台 语言定义 public protected private final 取消指针 自动回收 垃圾 Bytecode 检查 限定对象的 存取权限 系统堆栈溢出 参数类型一致 程序执行系统 WWW 浏览器 限制 Java 小应用程序 的不正当使用
[object Object],[object Object],[object Object],[object Object],[object Object],3 、 Java 语言特点 ——  (4) 多线程
(5)  可移植性 (6)  分布性 (7)  高性能(相对于其他解释型语言) (8)  健壮性 3 、 Java 语言特点 ——  其他
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],3 、 Java 语言特点 ——  (9) 与 C 及 C++ 的区别
4 、 Java 开发环境 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
安装 JDK 直接运行“ j2eesdk-1_4_01-windows.exe” ,按照安装向导进行安装。 解开“ j2sdk-1_4_2-doc.zip” ,得到 JDK 的开发文档。 4 、 Java 开发环境
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],4 、 Java 开发环境
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],4 、 Java 开发环境
[object Object],[object Object],[object Object],[object Object],[object Object],4 、 Java 开发环境
C:Jdk bin lib javac java appletviewer 用户类文件所在目录 c:avaxamplespplications 当前目录 jre demo 4 、 Java 开发环境
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],5 、 Java 类库
Java Packages (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java Packages (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],6 、 Java 程序
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],6 、 Java 程序
[object Object],[object Object],[object Object],[object Object],[object Object],6 、 Java 程序 —— Java 应用程序( Java Application )
[object Object],[object Object],[object Object],[object Object],[object Object],public class HelloWorldApp { public static void main (String args[]) {  System.out.println(“Hello World!”); } } 6 、 Java 程序 —— 第一个 Java 应用程序
[object Object],[object Object],[object Object],6 、 Java 程序 —— 第一个 Java 应用程序 public class HelloWorldApp { public static void main (String args[]) {  System.out.println(“Hello World!”); } }
[object Object],[object Object],[object Object],[object Object],6 、 Java 程序 —— 第一个 Java 应用程序
public class CommArg { public static void main(String args[]) { // Display command arguments int i; if( args.length > 0 )  //have some command arguments { for( i=0; i<args.length; i++ ) { System.out.println(&quot;arg[&quot;+i+&quot;] = &quot;+args[i]); } } else  //no command argument { System.out.println(&quot;No arguments!&quot;); } } } 6 、 Java 程序 —— 第二个 Java 应用程序(命令行参数)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],6 、 Java 程序 —— 第二个 Java 应用程序(命令行参数)
6 、 Java 程序 —— 第三个 Java 应用程序 一个图形应用程序
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],6 、 Java 程序 —— Java 小程序( Java Applet )
import java.applet.*; import java.awt.*; public class HelloApplet  extends Applet { public String s;  // 成员变量,存放要显示在屏幕上的字符串 public void init()  // 初始化方法,在网页被调入是只调用一次 { s = new String(“Hello World!”);  // 设置要显示的内容 } public void paint(Graphics g)  // 显示方法,每次需要重画时该方法被调用 { g.drawString(s,25,25);  // 在 Applet 窗口中指定位置显示字符串 } } 6 、 Java 程序 —— 第一个 Java 小程序
编辑存盘:文件名和主类名一致 编译代码: javac HelloApplet.java 编写 HTML 文件:  HelloApplet.html <HTML> <HEAD> <TITLE>Hello World</TITLE> </HEAD> <applet code=&quot;HelloApplet.class&quot; codebase=  &quot; . &quot; width=300 height=60> </applet> </HTML> 6 、 Java 程序 —— 第一个 Java 小程序
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],6 、 Java 程序 —— 第一个 Java 小程序
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],6 、 Java 程序 —— 第一个 Java 小程序
import java.util.*; import java.awt.*; import java.applet.*; import java.text.*; public class ParaApplet extends Applet { String s1,s2,s3,s4;  // 四个字符串变量分别记录四个参数的字符串 public void init() {  // 在初始化方法中根据参数的值初始化字符串变量 s1 = getParameter(&quot;p1&quot;); s2 = getParameter(&quot;p2&quot;); s3 = getParameter(&quot;p3&quot;); s4 = getParameter(&quot;p4&quot;); } public void paint(Graphics g) { g.drawString(s1,10,10); g.drawString(s2,10,30); g.drawString(s3,10,50); g.drawString(s4,10,70); } } 6 、 Java 程序 —— 第二个 Java 小程序(带参数的 Applet )
编辑存盘:文件名和主类名一致 编译代码: javac ParaApplet.java 编写 HTML 文件:  ParaApplet.html <HTML> <HEAD> <TITLE>Applet Parameter Test</TITLE> </HEAD> <applet code= &quot;ParaApplet.class&quot; codebase=&quot;.&quot; width=300 height=100> <param name=p1 value=&quot;1111111&quot;> <param name=p2 value=&quot;2222222&quot;> <param name=p3 value=&quot;3333333&quot;> <param name=p4 value=&quot;4444444&quot;> </applet> </HTML> 6 、 Java 程序 —— 第二个 Java 小程序(带参数的 Applet )
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],6 、 Java 程序 —— 第二个 Java 小程序(带参数的 Applet )
[object Object],[object Object],[object Object],[object Object],[object Object],6 、 Java 程序 —— 第二个 Java 小程序(带参数的 Applet )
6 、 Java 程序 —— 第三个 Java 小程序 一个图形 Java 小程序
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],程序示例 6 、 Java 程序 —— 程序书写规范
第一次使用 Java 时常见的问题 ,[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Java 编译时常见的问题( 1 )
Java 编译时常见的问题( 2 ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java 运行时常见的问题( 1 ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java 运行时常见的问题( 2 ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Java 编译小窍门 ,[object Object],[object Object],[object Object],[object Object]
Java 语言学习 1 、阅读类库文档,了解、掌握 Java 开发类库的使用方法; 2 、多分析例子程序,多上机练习。 3 、了解 OO 的思想。
下一讲内容: Java 语言基础 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]yiditushe
 
Struts学习笔记
Struts学习笔记Struts学习笔记
Struts学习笔记yiditushe
 
Java SE 7 技術手冊第二章草稿 - 從 JDK 到 IDE
Java SE 7 技術手冊第二章草稿 - 從 JDK 到 IDEJava SE 7 技術手冊第二章草稿 - 從 JDK 到 IDE
Java SE 7 技術手冊第二章草稿 - 從 JDK 到 IDEJustin Lin
 
Java面试宝典
Java面试宝典Java面试宝典
Java面试宝典ma tao
 
Java面试知识
Java面试知识Java面试知识
Java面试知识yiditushe
 
常用JAVA代码质量静态检查工具
常用JAVA代码质量静态检查工具常用JAVA代码质量静态检查工具
常用JAVA代码质量静态检查工具dearhwj
 
大话Php之性能
大话Php之性能大话Php之性能
大话Php之性能liqiang xu
 
J2ee经典学习笔记
J2ee经典学习笔记J2ee经典学习笔记
J2ee经典学习笔记yiditushe
 
Android -汇博
Android -汇博Android -汇博
Android -汇博dlqingxi
 
Phalcon the fastest php framework 阿土伯
Phalcon   the fastest php framework 阿土伯Phalcon   the fastest php framework 阿土伯
Phalcon the fastest php framework 阿土伯Hash Lin
 
第一章 概述和Jdk的安装和配置
第一章 概述和Jdk的安装和配置第一章 概述和Jdk的安装和配置
第一章 概述和Jdk的安装和配置yinmei1983
 
JsDoc的使用
JsDoc的使用JsDoc的使用
JsDoc的使用Frank Xu
 
Abap oo
Abap ooAbap oo
Abap oovernoo
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)wangjiaz
 

Mais procurados (18)

Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]Java Jdk6学习笔记[Ppt]
Java Jdk6学习笔记[Ppt]
 
Struts学习笔记
Struts学习笔记Struts学习笔记
Struts学习笔记
 
Java SE 7 技術手冊第二章草稿 - 從 JDK 到 IDE
Java SE 7 技術手冊第二章草稿 - 從 JDK 到 IDEJava SE 7 技術手冊第二章草稿 - 從 JDK 到 IDE
Java SE 7 技術手冊第二章草稿 - 從 JDK 到 IDE
 
Java面试宝典
Java面试宝典Java面试宝典
Java面试宝典
 
Java面试知识
Java面试知识Java面试知识
Java面试知识
 
常用JAVA代码质量静态检查工具
常用JAVA代码质量静态检查工具常用JAVA代码质量静态检查工具
常用JAVA代码质量静态检查工具
 
大话Php之性能
大话Php之性能大话Php之性能
大话Php之性能
 
C#
C#C#
C#
 
J2ee经典学习笔记
J2ee经典学习笔记J2ee经典学习笔记
J2ee经典学习笔记
 
Android -汇博
Android -汇博Android -汇博
Android -汇博
 
Phalcon the fastest php framework 阿土伯
Phalcon   the fastest php framework 阿土伯Phalcon   the fastest php framework 阿土伯
Phalcon the fastest php framework 阿土伯
 
Dev307
Dev307Dev307
Dev307
 
第一章 概述和Jdk的安装和配置
第一章 概述和Jdk的安装和配置第一章 概述和Jdk的安装和配置
第一章 概述和Jdk的安装和配置
 
JsDoc的使用
JsDoc的使用JsDoc的使用
JsDoc的使用
 
Abap oo
Abap ooAbap oo
Abap oo
 
Struts Mitac(1)
Struts Mitac(1)Struts Mitac(1)
Struts Mitac(1)
 
Java annotation
Java annotationJava annotation
Java annotation
 
111
111111
111
 

Destaque (13)

Los heroes DEl silencio
Los heroes DEl silencioLos heroes DEl silencio
Los heroes DEl silencio
 
publicidad
publicidadpublicidad
publicidad
 
las imagenes indus
las imagenes induslas imagenes indus
las imagenes indus
 
impacto2
impacto2impacto2
impacto2
 
CONEIAP Memorias XI
CONEIAP Memorias XICONEIAP Memorias XI
CONEIAP Memorias XI
 
CONEIAP 2001
CONEIAP 2001CONEIAP 2001
CONEIAP 2001
 
noveno coneiap presentacion
noveno coneiap presentacionnoveno coneiap presentacion
noveno coneiap presentacion
 
test
testtest
test
 
Sistema Egroups
Sistema EgroupsSistema Egroups
Sistema Egroups
 
TOCANEIAP_diagnosARA
TOCANEIAP_diagnosARATOCANEIAP_diagnosARA
TOCANEIAP_diagnosARA
 
TOCANEIAP_ARF
TOCANEIAP_ARFTOCANEIAP_ARF
TOCANEIAP_ARF
 
Indicadores de Gestion ANEIAP
Indicadores de Gestion ANEIAPIndicadores de Gestion ANEIAP
Indicadores de Gestion ANEIAP
 
180 Anti-aging Skin Therapy System
180 Anti-aging Skin Therapy System180 Anti-aging Skin Therapy System
180 Anti-aging Skin Therapy System
 

Semelhante a beidakejian

Java2新觀念教本投影片ch1
Java2新觀念教本投影片ch1Java2新觀念教本投影片ch1
Java2新觀念教本投影片ch15045033
 
Java 基礎入門1
Java 基礎入門1Java 基礎入門1
Java 基礎入門1li1920li
 
2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swttka
 
第1讲 开始编写程序
第1讲 开始编写程序第1讲 开始编写程序
第1讲 开始编写程序ruandao
 
漫谈php和java
漫谈php和java漫谈php和java
漫谈php和javasulong
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯liuts
 
1, java intro
1, java intro1, java intro
1, java introted-xu
 
软件工程 第七章
软件工程 第七章软件工程 第七章
软件工程 第七章浒 刘
 
由一个简单的程序谈起――之二
由一个简单的程序谈起――之二由一个简单的程序谈起――之二
由一个简单的程序谈起――之二yiditushe
 
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式Will Huang
 
招聘笔试题(二)
招聘笔试题(二)招聘笔试题(二)
招聘笔试题(二)yiditushe
 
Java 推荐读物
Java 推荐读物Java 推荐读物
Java 推荐读物yiditushe
 
Spring框架,技术详解及使用指导
Spring框架,技术详解及使用指导Spring框架,技术详解及使用指导
Spring框架,技术详解及使用指导yiditushe
 
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發Weizhong Yang
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践yiditushe
 

Semelhante a beidakejian (20)

Java2新觀念教本投影片ch1
Java2新觀念教本投影片ch1Java2新觀念教本投影片ch1
Java2新觀念教本投影片ch1
 
Java 基礎入門1
Java 基礎入門1Java 基礎入門1
Java 基礎入門1
 
C+
C+C+
C+
 
2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt2012 java two-desktop-appliction-using-j-ruby-with-swt
2012 java two-desktop-appliction-using-j-ruby-with-swt
 
第1讲 开始编写程序
第1讲 开始编写程序第1讲 开始编写程序
第1讲 开始编写程序
 
漫谈php和java
漫谈php和java漫谈php和java
漫谈php和java
 
Android工作坊
Android工作坊Android工作坊
Android工作坊
 
SCJP ch01
SCJP ch01SCJP ch01
SCJP ch01
 
Django敏捷开发 刘天斯
Django敏捷开发 刘天斯Django敏捷开发 刘天斯
Django敏捷开发 刘天斯
 
1, java intro
1, java intro1, java intro
1, java intro
 
软件工程 第七章
软件工程 第七章软件工程 第七章
软件工程 第七章
 
由一个简单的程序谈起――之二
由一个简单的程序谈起――之二由一个简单的程序谈起――之二
由一个简单的程序谈起――之二
 
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
TypeScript 開發實戰:開發即時互動的 html5 websocket 聊天室應用程式
 
招聘笔试题(二)
招聘笔试题(二)招聘笔试题(二)
招聘笔试题(二)
 
Java 推荐读物
Java 推荐读物Java 推荐读物
Java 推荐读物
 
Spring框架,技术详解及使用指导
Spring框架,技术详解及使用指导Spring框架,技术详解及使用指导
Spring框架,技术详解及使用指导
 
給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發給 iOS 工程師的 Flutter 開發
給 iOS 工程師的 Flutter 開發
 
Js培训
Js培训Js培训
Js培训
 
Lucene 全文检索实践
Lucene 全文检索实践Lucene 全文检索实践
Lucene 全文检索实践
 
Ant
AntAnt
Ant
 

beidakejian

  • 1. 第一讲 序论 1 、程序设计语言 2 、 Java 历史及发展 3 、 Java 语言特点 4 、 Java 开发环境 5 、 Java 类库 6 、 Java 程序
  • 2. 软件的基本组成部分是完成其功能的程序。 程序设计语言(也被称为“编程语言”, Programming Language )是人们编制程序所使用的语言。 程序描述了计算机处理数据、解决问题的过程,这是程序的实质。但程序的描述形式却可以是多种多样的,可以用不同的方式表述——不同的程序设计语言。 1 、程序设计语言
  • 3.
  • 4.
  • 5. 对于“编译执行”方式,人们实现了高级语言“编译器”( Compiler )完成这种转换工作。编译器把高级语言程序看成是符合一定语法结构的符号串,对它进行加工变换。编译器对源程序的加工一般分为两个阶段:源程序首先被翻译成机器语言,这种翻译结果称为“目标码”( object code ),目标码构成的程序片段称为目标模块。第二步,这些目标模块被与其他一些基本模块(由编译软件提供)连接在一起,最终形成“可执行程序”( executable program ),这样的程序就可以在计算机上实际运行了。 第一个加工步骤称为“编译”( compiling ),第二个步骤称为“连接”( linking )。 1 、程序设计语言 —— 高级程序设计语言
  • 6. 1 、程序设计语言 —— 高级程序设计语言 编 译 过 程
  • 7. 对于“解释执行” 方式,人们实现了一种称为“解释器”( Interpreter )的软件来完成转换工作。解释器在工作方式上与编译器不同,它不对源程序进行翻译,而是直接对源程序的语句进行分析和解释,实现源程序所描述的功能。 1 、程序设计语言 —— 高级程序设计语言 解 释 过 程
  • 8. 1 、程序设计语言 —— 高级程序设计语言 高级语言写出的程序是独立于任何具体的计算机的。但是“编译器”和“解释器”则是与机器相关的。同一种语言,对于不同的机器,需要不同的“编译器”和“解释器”。 人们已经开发出了许多不同的高级程序设计语言,不同的语言有各自不同的规范,因此需要专门的“编译器”和“解释器”。
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. 源 程 序 Java 编译器 SPARC pentium Powerpc 中间码 Powerpc pentium SPARC 二进制 源 程 序 SPARC Powerpc pentium Powerpc pentium SPARC 编译器 二进制 Java 解释器 编译型和解释型语言的工作模式 类、类库装载 (库)链接
  • 14. 编译 , 没有绝对地址 调入包含、继承所用到的所有类 , 内存分配确定 , 变成真正可执行的机器码 不存在伪造的指针 不违反访问权限 不非法访问对象 不导致操作栈溢出 Java 的编译与执行 Java 源程序 (.java 文件 ) Java 编译器 Java Bytecode (.class 文件 ) 系统执行平台 Bytecode 解释器 Bytecode 载入器 字节码校验器
  • 15. 不同的操作系统有不同的虚 拟机。 它类似一个小巧而高效的 CPU 。 Bytecode 代码是与平台无关的 是虚拟机的机器指令。 Java 字节代码运行的两种方式 : Interpreter( 解释方式 ) Just-in-time( 即时编译 ): 有代码 生成器将字节代码转换成本机 的机器代码,然后可以以较高速度执行 . Java 虚拟机 Java interpreter Just-in-time compiler Runtime System Operating System Hardware
  • 16.
  • 17. Java 的安全措施 Java 源程序 (.java 文件 ) Java 编译器 Java Bytecode (.class 文件 ) Bytecode 载入器 Bytecode 解释器 系统执行平台 语言定义 public protected private final 取消指针 自动回收 垃圾 Bytecode 检查 限定对象的 存取权限 系统堆栈溢出 参数类型一致 程序执行系统 WWW 浏览器 限制 Java 小应用程序 的不正当使用
  • 18.
  • 19. (5) 可移植性 (6) 分布性 (7) 高性能(相对于其他解释型语言) (8) 健壮性 3 、 Java 语言特点 —— 其他
  • 20.
  • 21.
  • 22. 安装 JDK 直接运行“ j2eesdk-1_4_01-windows.exe” ,按照安装向导进行安装。 解开“ j2sdk-1_4_2-doc.zip” ,得到 JDK 的开发文档。 4 、 Java 开发环境
  • 23.
  • 24.
  • 25.
  • 26. C:Jdk bin lib javac java appletviewer 用户类文件所在目录 c:avaxamplespplications 当前目录 jre demo 4 、 Java 开发环境
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. public class CommArg { public static void main(String args[]) { // Display command arguments int i; if( args.length > 0 ) //have some command arguments { for( i=0; i<args.length; i++ ) { System.out.println(&quot;arg[&quot;+i+&quot;] = &quot;+args[i]); } } else //no command argument { System.out.println(&quot;No arguments!&quot;); } } } 6 、 Java 程序 —— 第二个 Java 应用程序(命令行参数)
  • 37.
  • 38. 6 、 Java 程序 —— 第三个 Java 应用程序 一个图形应用程序
  • 39.
  • 40. import java.applet.*; import java.awt.*; public class HelloApplet extends Applet { public String s; // 成员变量,存放要显示在屏幕上的字符串 public void init() // 初始化方法,在网页被调入是只调用一次 { s = new String(“Hello World!”); // 设置要显示的内容 } public void paint(Graphics g) // 显示方法,每次需要重画时该方法被调用 { g.drawString(s,25,25); // 在 Applet 窗口中指定位置显示字符串 } } 6 、 Java 程序 —— 第一个 Java 小程序
  • 41. 编辑存盘:文件名和主类名一致 编译代码: javac HelloApplet.java 编写 HTML 文件: HelloApplet.html <HTML> <HEAD> <TITLE>Hello World</TITLE> </HEAD> <applet code=&quot;HelloApplet.class&quot; codebase= &quot; . &quot; width=300 height=60> </applet> </HTML> 6 、 Java 程序 —— 第一个 Java 小程序
  • 42.
  • 43.
  • 44. import java.util.*; import java.awt.*; import java.applet.*; import java.text.*; public class ParaApplet extends Applet { String s1,s2,s3,s4; // 四个字符串变量分别记录四个参数的字符串 public void init() { // 在初始化方法中根据参数的值初始化字符串变量 s1 = getParameter(&quot;p1&quot;); s2 = getParameter(&quot;p2&quot;); s3 = getParameter(&quot;p3&quot;); s4 = getParameter(&quot;p4&quot;); } public void paint(Graphics g) { g.drawString(s1,10,10); g.drawString(s2,10,30); g.drawString(s3,10,50); g.drawString(s4,10,70); } } 6 、 Java 程序 —— 第二个 Java 小程序(带参数的 Applet )
  • 45. 编辑存盘:文件名和主类名一致 编译代码: javac ParaApplet.java 编写 HTML 文件: ParaApplet.html <HTML> <HEAD> <TITLE>Applet Parameter Test</TITLE> </HEAD> <applet code= &quot;ParaApplet.class&quot; codebase=&quot;.&quot; width=300 height=100> <param name=p1 value=&quot;1111111&quot;> <param name=p2 value=&quot;2222222&quot;> <param name=p3 value=&quot;3333333&quot;> <param name=p4 value=&quot;4444444&quot;> </applet> </HTML> 6 、 Java 程序 —— 第二个 Java 小程序(带参数的 Applet )
  • 46.
  • 47.
  • 48. 6 、 Java 程序 —— 第三个 Java 小程序 一个图形 Java 小程序
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56. Java 语言学习 1 、阅读类库文档,了解、掌握 Java 开发类库的使用方法; 2 、多分析例子程序,多上机练习。 3 、了解 OO 的思想。
  • 57.