Java_西电课件_01_Introduction

合集下载

java第01讲 绪论.ppt

java第01讲 绪论.ppt

2020/4/27
12
本章总体纲要
• 第1部分: • 第2部分: • 第3部分:
课程总体介绍 Java简介 我会写 Java程序
2020/4/27
13
第2部分: Java简介
2020/4/27
14
问题——第2部分: Java简介
• 1) 已经学会哪些计算机语言? 它们分别 有哪些特点?
• 2) 已经有多少人学过了Java? • 3) 为什么不直接采用自然语言? • 4) 为什么不只用机器语言? • 5) 为什么要学习Java? Java有哪些特点?

GL (第 X 代计算机语言)
2020/4/27
18
为什么不只用第1或2代计算机语言?
软件生产效率: • 1) 是否容易编码 • 2) 易读性
– 重用, 维护及修改
• 3) 可移植性 • 4) 错误检测 • 5) 结构化程序设计
面向对象程序设计
2020/4/27
19
高级计算机语言 (HLL)
• 1950s: 最早的HLLs • 1969: 大约有120种HLLs,
2020/4/27
15
纲要——第2部分: Java简介
• Java 与计算机语言 • 历史简介 • 为什么采用Java语言 —— 特点 • 两种类型的Java程序 • 练习
2020/4/27
16
为什么不直接采用自然语言?
• 自然语言: – 表达意思常常不够明确 – 结构常常过于复杂 – 词汇量大,而且在不断发展
• 1) 简单性 • 2) 网络特性 • 3) 面向对象 • 4) 平台无关性/可移植性 • 5) 鲁棒性 • 6) 安全性 • 7) 多线程性 • 8) 解释性

第1章Java语言概述PPT课件

第1章Java语言概述PPT课件
▪ (3)ClassPath设置
▪ ClassPath用于设置类文件所在路径。
▪ 环境变量设置完成,需要进行测试,验证配置的正确性,在 DOS环境命令提示符下输入“javac”系统会输出javac的帮助 信息,如果没有帮助信息,需要重新配置JDK环境变量。
1.3 Java程序构成
▪ Java 程序主要分为两类: ▪ (1)Java应用程序Application ▪ (2)Java小程序Applet。
J2SE 1.4.0 2002-02-06
J2SE 5.0 (1.5.0)
2004-09-30
Java SE 6 2006-12-11
Java SE 7 2011-07-28
Java SE 8 2014-03-18
1.1.2 Java的三个平台
▪ 1.Java SE (Java Standard Edition) ▪ Java SE 称为 Java标准版或Java标准平台,提供了庞大的
1.1.1 Java的发展历程
表1.1 Java各版本发表日期
▪ 1. Java诞生的背景 版本号
发布日期
▪ 2.Java的发展
JDK Alpha and Beta
1995
JDK 1.0
1996-002-19
J2SE 1.2
1998-12-08
J2SE 1.3
2000-05-08
1.2.2案例2:环境变量配置测试
▪ JDK安装完成后需要设置并测试系统环境变 量,具体步骤如下:
▪ 1.右键单击windows桌面中“计算机”在快捷 键菜单中选择“属性”,然后单击“高级系 统设置”,打开“系统属性”对话框,在 “系统属性”对话框中选择“高级”选项卡, 单击“环境变量”按钮,打开“环境变量” 设置对话框,如图1.9所示。

第一章Java概述PPT课件

第一章Java概述PPT课件
10
l++/--运算符
a++/++a
功能等价 a=a+1
a- -/- -a
功能等价 a=a-1
★ 变量的自增与自减与++出现的前后位置无关。无 论是++x还是x++均表示x要增1。
l ★ 表达式的值与运算符位置有关。
m=3
n=36+4*2%m- - //m=2,n=38
m= 36+4*2%m- - //m=36,n=38
9
运算符与表达式
① 算术运算符 l “/”运算对与整数和浮点数情况不同,7/2结果
为3,而7.0/2.0结果为3.5。 l 取模运算“%”一般用于整数运算,它是用来得 到余数部分。但当参与运算的量为负数时,结果的正负 性取决与被除数的正负。 7%-2 7%2 -7%2 -7%-2 7.2%2.8 =1.6000000000000005
BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); String str; System.out.print(“Input a string:”); Str=buf.readLine();
Java语言中将一些单词赋以特殊的用途,不能当作一 般的标识符使用,这些单词称为关键字(Key word)或 保留字(reserved word)。
4
3.分隔符 在Java中,圆点“.”、分号“;”、空格和花括号
“{ }”等符号具有特殊的分隔作用。我们将其统称为分 隔符。 •每条Java语句是以分号作为结束标记。一行可以写多条 语句,一条语句也可以占多行。 •Java中可以通过花括号将一组语句合并为一个语句块。

第1章 Java语言概述PPT教学课件

第1章 Java语言概述PPT教学课件

2020/12/11
第1章 Java语言概述
第 16 页
❖运行Java程序
MS-Dos命令行窗口下,通过JVM中的Java 解释器(java.exe)来解释执行字节码文 件
2020/12/11
第1章 Java语言概述
第 17 页
Java Applet的开发
❖三个步骤
❖具体实现
编写源文件 编译源文件生成字节
args[]是main方法的一个 参数,是一个字符串类型 的数组
class A {
void f() {
System.out.println("I am A"); } } class B { } public class Hello { public static void main (String args[ ]) {
System.out.println("你好"); A a=new A(); a.f(); } }
2020/12/11
第1章 Java语言概述
第 14 页
❖源文件的命名
源文件扩展名为.java 源文件中若有public类:
源文件名字必须与public 类的名字完全相同 源文件中若有多个类,则只能有一个public类
4.安全
Java Applet 内存回收机制
5.动态
2020/12/11
第1章 Java语言概述
第8页
1.4 Java 与C/C++之关系
❖Java与C++类似
许多基本语句、语法和C++一样:如 常用的循环语句、控制语句等
Java和C++是两种完全不同的语言

JAVA程序设计PPT课件第1章_Java程序设计语言概述

JAVA程序设计PPT课件第1章_Java程序设计语言概述

瑞士著名的计算机科学家Niklaus Wirth提出了 一个有名的公式: 程序 = 算法 + 数据结构
要编写程序必须要研究如何组织数据,如何对 这些数据进行操作。数据是程序操作的对象,因此 首先应该确定要解决的问题中需要处理哪些数据, 然后设计出对数据进行操作的具体步骤,这些步骤 称为算法。
1.1.2 程序设计语言
①抽象(Abstract) ②封装(Encapsulation) ③对象(Object) ④类(Class) ⑤消息(Message) ⑥继承(Inheritance) ⑦多态(Polymorphism)
1.2 Java程序设计语言
Java平台和语言最开始只是SUN公司在1990年12开 始研究的一个内部项目“Green计划”。 最初打算 编写一门在家用电器等小型系统的编程语言,来解 决诸如电视机、电话、闹钟、烤面包机等家用电器 的控制和通讯问题。
java程序设计语言概述java程序设计学习目标了解程序设计概念和程序设计方法了解程序设计语言熟悉java语言的开发平台和集成开发工具java程序设计11程序与程序设计计算机之所以具有如此之大的魅力是因为人们可以根据特定的需求设计特定的软件赋予它更加强大的处理能力
第1章 Java程序设计语言概述
学习目标
1997年3月Sun公司推出JDK1.1.1。 1998年12月Sun公司发布Java 2平台,它是Java发展史的一 个里程碑。 1999年6月Sun公司定义了Java技术的框架,形成了今天人们 看到的三个版本。 2000年5月,推出JDK1.3。 2002年2月,推出JDK1.4。 2004年10月,Sun发布了JDK1.5,同时,Sun将JDK1.5改名为 J2SE5.0。 2006年4月,推出J2SE 6.0。 2009年4月20日,Oracle(甲骨文)宣布以74亿美元收购 Sun。 2011年7月28日,Oracle正式发布Java 7 。

Java基础教程01Java语言概述简明教程PPT课件

Java基础教程01Java语言概述简明教程PPT课件

1.2 java 的特点(3/4)

5.健壮性
Java致力于检查程序在编译和运行时的错误。异 常检查可尽早的发现可能存在的错误。类型检查 帮助检查出许多开发早期出现的错误。

6.解释运行,高效率
Java解释器(运行系统)能直接运行目标代码指 令。Java程序经编译器编译,生成的字节码经过 精心设计,并进行了优化,因此运行速度较快, 客服了以往解释性语言运行效率低的缺点。
Java中没有structure,union及typedef; Java中没有不属于类成员的函数,没有指针和多 重继承,Java只支持单重继承;Java中禁用goto, 但goto还是保留的关键字;Java中没有操作符重 载;Java中没有全局变量,可以在类中定义公用、 静态的数据成员实现相同功能。……
第1章 Java语言概述

本章的主要内容:
1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.9 Java语言的发展里程 java 的特点 平台无关性 Java虚拟机JVM Java 与C/C++之关系 Java运行平台 Java程序开发 JDK1.5编译器的新规定
1.2 java 的特点(4/4)

7.与平台无关
JAVA编译器将JAVA程序编译成二进制代码,即字节码。字节 码有统一的格式,不依赖于具体的硬件环境。

8.多线程
Java提供的多线程功能使得在一个程序里可同时执行多个小 任务。

9.动态性
Java的动态特性是其面向对象设计方法的发展。它允许程序 动态地装入运行过程中所需要的类。
1.3 平台无关性(2/2)

解决移植性的方法有以下两种方式:

教学课件第1章Java概述

教学课件第1章Java概述
(7)Java不使用指针,保证系统的 安全性。
1.1.4 Java语言的应用
由于Java语言的众多特点,使它有着 很好的应用前景,综合地讲,其特点主要 有以下几方面。
(1)Java语言由于具有跨平台的特 点,使它能很好地用于不用机型、不同操 作系统之间的数据交换和通信,完成协调 控制、综合管理等功能。
如果程序是Java Applet,应建立一个 HTML文件,在适当位置加入Applet字节 文件名,并用Applet查看器或直接用浏览 器打开HTML文件,Applet的运行结果会 在查看器或浏览器窗口中显示出来。
下面我们将通过一个简单的Java程序, 来看一下它的整个过程。
例1-1 在Windows环境下,打开记事本, 输入以下几行语句:
// HelloWorld.java // A first program in Java
public class HelloWorld { public static void main (String args[ ])
{ System.out.println("Hello World!");
} }
(3)Java不在所有类之外定义全局变 量,而是在某个类中定义一种公用静态的 变量来完成全局变量的功能。
(4)Java不支持头文件。 (5)Java不支持宏定义,而是用关键 字final来定义常量。
(6)Java为每种数据类型都分配固 定长度,例如在Java中,int类型总是32位 的,而C语言和C++语言中对于不同的平 台同一个数据类型分配不同的字节数,例 如同是int,在PC机中为16位,而在VAX– 11中为32位,从而造成C语言不可移植性, 而Java则具有跨平台性。
输入代码后,以HelloWorld.java作为 文件名保存,见图1-1。

JAVA第1章 Java语言概述PPT课件

JAVA第1章 Java语言概述PPT课件
前身:J2SE,2005年(十周年大会)之后更名为 JAVA SE
➢ JAVA EE(Java 2 Platform, Enterprise Edition) 前身:J2EE,2005年之后更名为JAVA EE
➢ JAVA ME(Java 2 Platform, Micro Edition) 前身:J2ME,2005年之后更名为JAVA ME
➢ 程序的执行不考虑操作系统本身,而是考虑JVM。由JVM进行Java程序 的执行,JVM会根据操作系统的不同,有各自不同的版本。
现在我们就能回答什么是Java: ➢ Java是一种编程语言(语法、语义) ➢ Java是一套开发工具 ➢ Java是一个运行环境(JRE = JVM + Runtime Interpreter)
13
三种平台的关系
JSP / Servlet EJB 服务 …
JAVA EE
JAVA ME
CLDC、MIDP 游戏 通讯

基础
核心 JAVA SE
面向对象 JVM
底层支持 …
14
2.安装Java SE平台
学习Java必须从Java SE开始。目前Sun公 司已发布了JDK的1.6版本。如果安装JDK选择 安装到E:\jdk1.6目录下,则会生成目录结构:
2
如何学习Java SE技术
➢ 基本功扎实 ➢ 会查找DOC文档 ➢ 积累解决的能力 ➢ 多与他人沟通,不做“独行侠” ➢ 编程起步最重要的就是 —— 背
3
第1章 Java语言概述
本章目标: ➢ 了解Java语言的发展史 ➢ 了解Java主要技术的三个分支 ➢ 理解Java可移植性的实现原理 ➢ 掌握Java 开发环境的搭建
5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java虚拟机(JVM)和Java字节码(ByteCode):
Java (SSXDU 2017)
What’s Java?
“Write once, Run anywhere"
Java (SSXDU 2017)
Why Java?


避免其它语言的缺点(指针,内存管理) 更快的开发 更好的编写 更少的代码 一次编写,到处执行 更容易的发布
面相对象编程描述的是对象之间的相互作用
Java (SSXDU 2017)
OOP Development

Object-Oriented Components
– Formalized in Java EE - Java Beans

Incremental Development

Unified Modeling Language (UML)
Java for websites

Popular sites using Java
– – – – – – – – – – – – – – – Odnoklassniki.ru Ebay.de Mobile.de Marktplaats.nl .br
Java (SSXDU 2017)
The big picture (cont.)
Java (SSXDU 2017)
Java Strengths

Simplicity (the language itself) Networking Object model

认证 —— verify
– – – – –

执行 —— execute
Java (SSXDU 2017)
Objects, Objects, Objects

In Java, everything is an Object.
– I lie! (primitive types are not objects)

Random selection of sites using Java Sites using Java only recently

Java (SSXDU 2017)
History of Java




Java technology was created as a programming tool in a small, closed-door project initiated by Patrick Naughton, Mike Sheridan, and James Gosling of Sun in 1991. But creating a new language wasn't even the point of "the Green Project." The TV set-top box and video-on-demand industries (Demo) 1994: Change of direction – The Internet. By March 1995, there were still only seven or eight binary copies of what they called "1.0a" outside of Sun. The team was getting ready to post a "full public" alpha version ("1.0a2") of the Java source code on the Internet. 13 November 2006 ~ 8 May 2007, Sun released all of Java's core code free and open-source, aside from a small portion of code to which Sun did not hold the copyright. 2009, Oracle收购Sun~ 20 October 2010, 完成了合并

Garbage Collection
– – – – – –

代码的安全 — Security
Java (SSXDU 2017)
JRE: Java运行时环境

装载 —— load
– – – – 隔离——名字空间(namespace)——private local & network—— 调用 完全装载——内存分配——搜索表 都在执行前 代码的专一性 对系统完整性的破坏 堆栈的上溢和下溢 参数、数据类型、对象的引用 无非法数据转换
Java (SSXDU 2017)
Java (How?)

Java虚拟机 — JVM
– – – –
Operating System independence. Safe, well defined, operating environment. Portability Performance Issues 内存的分配 —— 指针 —— 释放 不用再释放内存 C&C++ 程序员的责任 —— memory leak 使用系统层次的线程追踪内存的分配 自动运行 同JVM同步
Java (SSXDU 2017)
Java (SSXDU 2017)
James Gosling
May 19, 1955
'father of Java'
Java (SSXDU 2017)
History of Java
一切从C++开始!
Java (SSXDU 2017)
History of Java
Java (SSXDU 2017)
History of Java
1995.5.23 HotJava
Java (SSXDU 2017)
History of Java
Internet上的世界语!
Java (SSXDU 2017)
History of Java
Web era
Java (SSXDU 2017)
Java (SSXDU 2017)
Performance Issues

Using a VM is slower than compiling to native instructions.
– JIT compilers convert Java Bytecode to machine language.
Java (SSXDU 2017)
More Java vs. C++

No operator overloading. Single inheritance only
– there is another approach used - interfaces.

Error handling is well defined (and somewhat enforced!). No memory leaks!
Java (SSXDU 2017)
Java vs. C++


Similar syntax/control structures. No preprocessor or include files. No pointers No global variables No struct or union types. All primitive types have well defined size.
Java (SSXDU 2017)
OOP Design

Most designs can be simplified by adding another level of indirection/abstraction
Things that Change
Things that Stay the same
• Hard part decomposing system into objects • What interfaces do you need?
• • • • •
In the design At compile-time At run-time In the environment Etc
Java (SSXDU 2017)
Java (SSXDU 2017)
and more…

Safety designed into the language and VM
– bytecode verification – array access bounds checking – security manager/ security policies

Safety/Security slow things down
– all array accesses require bounds check – Many I/O operations require security checks
Java (SSXDU 2017)
The big picture
Java source code is based on classes
– in general: one public class defined in one file.
There are many pre-defined classes
– too many ?!? – almost everything is written in Java
Java (SSXDU 2017)
What’s Java?
相关文档
最新文档