第1章 Java开发环境和运行环境【Java程序设计】
Java程序设计——01简介
赵志崑
感谢!
本课程全部ppt和源代码可以从“网上课堂”下 载
赵志崑
计算机科学与技术学院 赵志崑 zhaozk@
Java语言简介
• Java语言是由Sun公司创造和发展的一门程序设计语言,在 程序设计语言家族中占有重要地位。 • 使用Java语言的Java平台,应用领域非常广泛,覆盖了桌 面、 Internet、企业、嵌入式设备、移动设备等。
Java语言的特点
• 简单:语法类似C++;基础解释器和类40KB。 • 面向对象:一切皆是对象。 • 可移植性、中立体系结构:一致的数据类型大小,一致的 界面风格,不依赖于特定处理器和操作系统。 • 解释型:Java字节码文件在虚拟机上解释执行。 • 动态性:动态类加载、反射机制。 • 分布式:易于使用TCP/IP协议、URL资源、远程方法调用 RMI。 • 多线程:多线程处理非常简单。 • 高性能:即时编译—JIT。 • 健壮性:编译器早期错误检查、虚拟机后期动态检查。 • 安全:异常处理机制和安全机制,可以防止堆栈溢出、访 问进程空间外内存、Applet访问本地文件。 赵志崑
赵志崑
授课方式
• 课堂讲解
– 语言的原理与机制。 – 代表性的例子。
• 课后作业
– 每部分一道程序设计题目,上机完成。 – 实验课上随机抽查程序完成情况。 – 重点题目要求写出实验报告,全体上交。
• 其它
– 课后可在教师休息室答疑,有问题和建议可通过 Email联系。
赵志崑
考核方式
• 平时成绩(10%)
Base Class Library
Common Language Runtime Windows COM+ Services 赵志崑
第1章 Java语言概述
第1章Java语言概述本章知识目标:❑了解面向对象程序设计的特性。
❑掌握Java应用程序和Applet程序的调试过程。
❑了解Java的开发与运行环境。
❑了解Java语言的特点。
Java语言从1995年问世至今,得到众多厂商的支持,成为软件开发的主流技术。
Java 是面向对象的程序设计语言,拥有跨平台、多线程等众多特性,在网络计算中得到广泛应用。
1.1 面向对象程序设计的特性早期的编程语言如Fortran、C等都是面向过程的语言,面向过程编程的一个明显特点是数据与程序是分开的。
但随着计算机软件的发展,程序越做越大,软件维护也日益困难。
面向对象编程贴近于人类思维方式,面向对象的软件开发将事物均看作对象,对象有两个特征:状态与行为,对象可以通过自身的行为来改变自己的状态。
最新的程序设计语言一般为面向对象的语言,面向对象程序设计具有如下四大特性。
1.封装性(Encapsulation)面向对象的第一个原则是把数据和对该数据的操作都封装在一个类中,类的概念和现实世界中的“事物种类”是一致的。
例如,电视机就是一个类,每台电视机都有尺寸、品牌、频道等属性。
我们可用on/off开关来开启电视,通过更改频道让电视机播放不同的节目。
对象是类的一个实例化结果,对象具有类所描述的所有属性以及方法。
对象是个性化的,在程序设计语言中,每个对象都有自己的存储空间来存储自己的各个属性值,有些属性本身又可能由别的对象构成。
每个对象都属于某个类。
面向对象程序设计就是设计好相关的类,类中有属性和方法。
在统一建模语言UML中使用如图1-1所示的符号来描述对象和类的结构,其中,属性用来描述对象的状态,而方法则用来描述对象的行为。
2.继承性(Inheritance)继承是在类、子类以及对象之间自动地共享属性和方法的机制。
类的上层可以有父类,下层可以有子类,形成一种层次结构,如图1-2所示。
一个类将直接继承其父类的属性和方法,而且继承还具有传递性,因此,它还将间接继承所有祖先类的属性和方法。
Java程序设计--第一章.Java入门
可移植性
解释执行
高性能
多线程
Page
Chapter1
Java 概述
18 / 48
Java 语言的特点
简单性
面向对象技术
分布性 健壮性 安全性 体系结构中立
网络上充满了各种不同类型的机 器和操作系统. 为使 Java 程序能在网络的任何 地方运行,解释器生成与体系结 构无关的字节码结构的文件格式, 他们只需提供相应的Java 运行 系统,便能在任何种类的处理器 上运行.
可移植性
解释执行
高性能
Chapter1
Java 概述
Java 的诞生
1991年,Sun公司有一群异想天开的上层觉得观众 点播电视节目是将来的趋势,于是派Jame Gosling 和其他人组成一个团队去研发 。 Jame被Sun公司 派给一项开发电视机机顶盒的任务。 机顶盒取名FirstPerson.
Page
11 / 48
可移植性
解释执行
高性能
多线程
Page
Chapter1
Java 概述
14 / 48
Java 语言的特点
简单性
面向对象技术
分布性 健壮性 安全性 体系结构中立
采用了面向对象技术并更加彻底, 所有的Java程序和Java applet均
是对象
实现了模块化和信息隐藏 继承性实现了代码的复用, 使用户可以建立自己的类库
要的语言.
Page
9 / 48
Java程序设计-1-概述_OK
1.2 JDK的安装与配置
• Java开发工具包(Java Development Kit)简称JDK,它是用于构建在Java平台上发 布的应用程序、Applet 和组件的开发环境,也是一切Java应用程序的基础
• 所有的Java应用程序都是构建在这个JDK之上,它包括了一个提供Java程序运 行的虚拟机和一些运行支持的类库文件,以及一些工具程序
7
应用范围
8
• 5.JAVA平台的新发展
– Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它 允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。
– C:\>javac
Usage: javac <options> <source files> …………
– C:\>java –version
java version "1.4.2_03" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_03-b02) Java HotSpot(TM) Client VM (build 1.4.2_03-b02, mixed mode)
10
JDK版本历史
JDK版本 发布日期 版本说明
JDK1.0 JDK1.1 JDK1.2 JDK1.3 JDK1.4 JDK1.5
1995-5 1997-2 1998-12 2000-5 2001-12 2003-7
java语言程序设计基础篇(第八版)课件_完整版
Java语言程序设计基础篇(第八版)课件_完整版第一章 Java语言概述Java是一种跨平台的编程语言,可在各种操作系统上运行。
它是一种面向对象的语言,具有高度的可移植性和可扩展性。
本章将介绍Java语言的特点、发展史和应用领域。
同时,还会介绍编写Java程序的开发环境和运行环境。
1.1 Java语言特点Java语言具有以下特点:•简单易学、易于使用•面向对象的设计思想•可移植性强•安全性高•高性能1.2 Java语言的发展史Java最早由Sun Microsystems于1995年发布。
自发布以来,Java已经逐渐成为全球范围内最流行的编程语言之一。
Java的发展历程经历了以下几个版本:•JDK 1.0(1996年)•JDK 1.1(1997年)•J2SE 1.2(1998年)•J2SE 1.3(2000年)•J2SE 1.4(2002年)•J2SE 5.0(2004年)•Java SE 6(2006年)•Java SE 7(2011年)•Java SE 8(2014年)1.3 Java语言的应用领域Java语言的应用范围很广,它可以用于开发各种应用程序,如:•企业级应用软件•移动应用程序•互联网应用程序•游戏开发•操作系统1.4 Java语言的开发环境Java语言的标准开发环境包括以下几个部分:•JDK(Java Development Kit,Java开发工具包)•Eclipse、NetBeans等集成开发环境1.5 Java语言的运行环境Java程序在运行时需要Java虚拟机(JVM)的支持,JVM可以在各种操作系统上运行。
因此,Java程序的可移植性非常强。
同时,JVM还提供了一些优化,可以使Java程序运行得更快。
第二章 Java编程基础2.1 程序结构Java程序的基本结构包括以下几个部分:•包声明•导入语句•类声明2.2 变量和常量Java中的变量有以下几种类型:•整型•浮点型•字符型•布尔型Java中的常量有以下几种类型:•整型常量•浮点型常量•字符型常量•布尔型常量2.3 运算符Java中的运算符包括以下几种类型:•算术运算符•关系运算符•逻辑运算符•位运算符•赋值运算符2.4 流程控制语句Java中的流程控制语句有以下几种类型:•if语句•switch语句•for语句•while语句•do…while语句第三章 Java面向对象编程基础3.1 面向对象编程概述面向对象编程是一种编程范式,它通过封装、继承和多态,使程序结构更清晰、更易于维护。
Java语言程序设计(一)电子版教材(可编辑)
Java语言程序设计(一)电子版教材 Java4747第1章 java 语言基础本章内容一般掌握 35本章重点应用程序和小应用程序的基础知识程序的开发过程基本数据类型本章难点程序的开发过程了解一种Java程序的开发环境11 Java 语言特点Java 语言最初的应用对象是消费性电子产品即PDA 电子游戏机电视机顶盒之类的产品为了进入消费性电子产品市场SUN 公司专门成立了一个项目开发小组目标是设计嵌在消费性电子产品的小型分布式系统软件能够适用于异构网络多主机体系结构能实现信息安全传递项目小组的最初设想是用C语言完成这个目标由于 C语言的复杂性和不安全性不能胜任这项工作为此项目小组开发一个取名为Oak的语言Oak 语言在消费性电子产品市场上没有获得青睐但在当时Internet 开始流行人们发明了一种网络传输协议这种协议可以在文本中插入图片和声音能使单调的Internet世界变得图文并茂虽然Web页面拥用图文和声音但仍然是静态的不具备交互性要让页面拥有动态画面并能交互需要在Web页面中嵌入一会段程序由于在 Internet上运行的数以千计不同类的计算机这就要求编写这种程序的语言必须具有平台无关性并要求语言必须简练支撑环境要小而安全性却很高Oak语言恰好能够满足这些要求将Oak 语言正式应用于Internet还需要进一步完善还要求有一个支持它的Web浏览器能用于编写浏览器并获得浏览器扶持的新版本Oak语言取名JavaInternet得到Java 语言的支持可以实现真正的交互人们使用浏览器能漫游丰富多彩的Internet世界Java语言是适用于分布式计算环境的面向对象编程语言它虽类似C和C但比C简单忽略了许多为提高计算效率初学者较难掌握的程序语言特性Java语言主要有以下特点1.强类型Java语言是一种强类型语言强类型能约束程序员必须遵守更多的编程规定也能让编译器检测出程序中尽可能多的错误2.编译和解释Java语言是一种高级编程语言用Java语言编写的源程序在计算机上运行需经过编译和解释执行两个严格区分的阶段Java语言的编译程序先将Java源程序翻译成机器无关的字节码 bytecode 不是通常的编译程序将源程序翻译成计算机的机器代码运行时Java的运行系统和链接需要执行的类并作必要的优化后解释执行字节码程序3.自动无用内存回收功能Java语言具有自动无用内存回收功能程序可以按需使用内存但不需要对无用内存显式地撤销分配系统有一个垃圾收集器 garbage collector 自动收集程序不再使用的内存这样能避免显式的撤销分配所引起的安全问题Java语言不再含有任何不安全的语言成分例如没有指针数组元素都要检查下标是否越界4.面向对象面向对象是程序员编写大型程序有效控制程序复杂性的重要手段Java语言在面向对象方面比C更纯它的所有数据类型包括布尔类型整形字符型等都有相应的类程序可完全基于对象编写面向对象语言主要有封装性继承性和多态性三个特点封装就是将实现细节隐藏起来只给出如何使用的信息数据及数据上的操作用类封装对象是类的实例外界使用对象中的数据及可用的操作受到一定的限制继承体现众多的一种层次对象的特性下一层的类可从上一层的类继承定义从上一层类派生的类的对象能继承上一层对象的特性同时可以改变和扩充一些特性以适应其自身的特点多态性的意义主要体现在逻辑上相同的不同层次上的操作使用相同的操作名根据具体对象能自动选择对应的操作Java语言很实用地实现了这三种特性5.与平台无关与平台无关是对程序可移植性最直接最有效的支持Java 语言的设计者在设计时重点考虑了Java程序的可移植性采用多种机制来保证可移植性其中最主要的是定义了一种虚拟机 virtual machine 以及虚拟机使用的java字节码在任何平台上Java源程序被Java编译器编译成虚拟机能够识别的字节码这样只要有Java虚拟机的平台就能解释执行java 字节码程序从而实现 Java与平台无关另外Java语言还采用基于国际标准的数据类1177Java4747型在任何平台上同上种数据类型是一致的例如用int标识32位二进制位 bit 整型数据那么无论在哪一台计算机上Java的int数据都是32位整数相反C语言会随着硬软件平台的改变用int标识的整数位数也可能不全相同Java语言提高可移植性的代价是降低程序的执行效率出于java语言也是一种解释执行的语言Java程序的执行速度与C程序的执行速度有较大的差别不过为了尽量弥补执行效率低的缺陷java的字节码在设计上非常接近现代计算机的机器码这有助于提高解释执行的速度6.安全性Java是在网络环境中使用的编程语言必须考虑安全性问题主要有以下两个方面设计的安全防范Java语言没有指针避免程序因为指针使用不当访问不应该访问的内存空间提供数组元素上标检测机制禁止程序越界访问内存提供内存自动回收机制避免程序遗漏或重复释放内存运行安全检查为了防止字节码程序可能被非法改动解释执行前先对字节码程序作检查防止网络黑客对字节码程序已作了恶意改动达到破坏系统的目的最后浏览器限制下载的小应用程序不允许访问本地文件避免小应用程序破坏本地文件7.分布式计算Java语言支持客户机服务器计算模式Java程序能利用URL对象能访问网络上的对象如同访问本地的文件一样实现数据分布另外Java的客户机服务器模式也可以把计算从服务器分散到客户机端实现操作分布8.多线程线程是比进程更小的一种可并发执行的单位每个进程都有自己独立的内存空间和其他资源当进程切换时需要进行数据和资源的保护与恢复若干协同工作的线程可以共享内存空间和资源线程切换不需要数据的保护与恢复Java的运行环境采用多线程实现可以利用系统的空闲时间执行诸如内存回收等操作Java语言提供语言级多线程支持用Java语言能直接编写多线程程序12 Java应用程序和小应用程序Java程序可以是独立的应用程序和能在浏览器上执行的小应用程序 Applet 两种Java程序都由一个或多个扩展名为class的文件组成都需要java虚拟机 JVM 载入并翻译这两种程序的主要区别是小应用程序只能在与Java兼容的容器中运行可以嵌入在6>HTML网页内在网络上发布当网页被浏览时在浏览器中运行小应程序的运行还要受到严格的安全限制例如它不能访问用计算机上的文件Java应用程序没有这些限制也不支持网页嵌入和下载运行小应用程序和应用程序在代码编写上也有很大差异一个小应用程序必须定义成一个 Applet类的子类应用程序可以是Applet类的子类也可以不是应用程序必须在一个类中定义一个main 方法该方法代表应用程序的入口而小应用程序不必定义main 方法它的执行由Applet类中定义的多个方法控制[例 11] 一个非常简单的应用程序public class Example1_1 这是我的第一个应用程序public static void main String []argsSycomtln 你好欢迎你学习Java语言上述java程序的执行将输出以下字样你好欢迎你学习Java语言一个应用程序由若干个类组成上面这个应用程序只有一个类类的名字是Example1_1public是java语言的关键字表示声明的类Example1_1是公用的class也是关键字用来声明类最外层的一对花括号以及括号内的内容叫做类体public static void main String []args 是类Example1_1的一个方法一个应用程序必须只有一个类含有main 方法这个类是应用程序的主类public static void 是对main 方法的说明应用程序的main 方法必须被说明成public static void表示main 方法的访问权限是公有的它是一个类方法没有结果返回参见第3章String[]args或String args[]声明main 方法的参数是一个字符串数组参见第4章Java 源程序命名受严格的限制Java 源文件的扩展名必须是java如果源文件中有多个类那么只能有一个public类如果源文件中有 public 类那么源文件的名字必须与这个类的名字完全相同例如例11应用程序的源文件名必须是Example1_1java如果源文件没有public类那么源文件的名字只要和某个类的名字相同即可2177Java4747[例12]一个简单的小应用程序用一同颜色显示两行文字欢迎你学习Java语言只要认真学习多上机实习一定能学好Java语言import javaappletimport javaawtpublic class Example1_2 extends Appletpublic void paint Graphics ggsetColor Colorblue 设置显示的颜色为bluegdrawString 欢迎你学Java语言3020gsetColor Colorred 设置显示的颜色为redgdrawString 只要认真学习多上机实习一定能学好Java语言3050一个小应用程序也出若干个类组成其中必须有一个类它继承系统提供的Applet类这个类是小应用程序的主类主类必须是public的源文件名必须与小应用程序的主类名相同上述程序的源文件名必须是Example1_2java小应用程序的结构参见35节在结束这一节之前先讨论一下程序中经常出现的注释注释是程序中的说明文字用于帮助阅读程序它不是语句不会影响程序的执行效率Java语言的注释有三种形式行注释变量r是贺的半径块注释以下程序段是采用冒泡排序对数组元素实现从小到大排序文档注释类 Student是学生类行注释用于简短地说明前面代码的意义或功能注释内容至行末结束不能跨行例如int fontsize 30 标题字体大小块注释是多行注释用于说明下面程序段的算法功能等块注释不可嵌套使用文档注释能被实用程序javadoc接受它能自动生成程序的HTML文档13 Java程序的开发过程Java程序的开发过程如图11所示对于Java应用程序先编写Java源程序源程序经Java 编译器编译后产生码文件最后由Java解释器解释执行字节码文件对于小应用程序先编写源程序然后经Java编译器编译后产生字节码文件最后由Web浏览器解释执行字节码文件以下以使用SUN公司提供的Java JDK java Developers Kit为例并假设Java JDK 安装在d\java目录下则在该目录下还应包含以下几个文件和子目录1 子目录 d\java\bin这个子目录是Java JDK的核心其中最主要的可执行文件有1 javac---编译器2 java---解释器3 jdb---调试器4 appletviewer---java Applet解释器2 子目录d\java\lib这个子目录存储的是函数库编写源程序时使用一个文字编辑器输入源程序文件并保存键入编译命令使用Java编译器编译Java源程序键入解释命令通过解释器解释执行Java应用程序的字节码文件对于小应用程序需通过支持Java的浏览器解释执行字节码文件设输入前面所述Java程序源文件名为Example1_1java保存在D\java目录下Java编译器的使用格式是javac [选项] 源文件例如可用以下命令编译以上输入的Java应用程序javac d\java\Example1_1java编译时可能编译器指定选项java JDK 编译器的选项参见表 1-13177Java4747选项说明-classpath 引用类的路径表-d 编译后类文件存放的目录-g 生成调试信息表-ng 不生成调试信息表-nowarn 关闭编译器警告功能-o 优化类文件-verbose 显示编译过程中的详细信息Java解释器javaexe用来解释执行Java类文件解释器的使用格式为java [选项]类名[参数]其中类名指定的类必须是main 方法的即是一个Java应用程序对于使用开发环境情况来说编辑源程序编译执行和调试直接使用环境提供的工具使开发程序变得非常简单例如使用Eclipse开发环境在eclipse环境下开发Java程序的方法请参见附录F1.4 标识符和关键字如同别的程序语言一样Java语言也有基本符号由基本符号按一定的构词规则构成标识符等基本词汇再由基本词汇和关键字按语言的句法构成Java程序1.字符集Java语言使用Unicode字符集共有65535个字符包括1 数字符 10个 092 英文字母大小写字符各26个 AZ和az3 下划线字符美元符号4 文字字符汉字日文片假名平假名和朝鲜文字等5 其他用于构成特殊符号的字符集2.标识符标识符用于命名程序对象例如类名变量名方法名等Java 语言的标识符可以按以下规则任意命名1 由字母包括英文字母下划线字符美元字符文字字符和数字字符组成2 限定标识符的第一个字符不能是数字符例如下列4个字符串都可以个为标识符Boy_63Girl颜色小伙子而以下4个字符不能作为标识符46AValc2Hello前两是因为首字符不合理后两个含有不允许在标识符中出现的字符除了按上述规则命名的习惯约定一般变量名方法名用小写英文字母开头文字和常数用大写字母命名类名首字母用大写字母包名全部用小写字母命名习惯是一种公共约定Java语言的语法并没有这种限制但是培养良好的编程习惯有利于程序维护和协作开发3.关键字为了表示程序结构定义和修饰等Java 语言引入一组关键字参见附录 A关键字是上些英文单词在语言中关键字已经被赋予特定的意义不能用这些关键字作为标识符命名程序对象在Java语言中关键字的作用有以下多个方面描述程序结构声明类定义类的成员简单数据类型值和变量异常情况处理实例对象的创建和检验流程控制等Java语言中所有关键字均由小写字母组成每个关键字在程序中出现有特定位置和使用方法的要求关键字不可以用做变量方法类或标号的标识符名字15 基本数据类型Java语言是强类型语言每个变量和表达式都有确定的类型在变量赋值时要进行类型兼容性检验数据类型可分4177Java4747为基本数据类型和非基本数据类型两大类基本数据类型也称为原始数据类型是系统预先规定的一些常用类型它们是整数类型浮点数实数类型字符文字类型逻辑类型布尔型非基本数据类型也称为复合数据类型是由基本类型组合的新类型非基本数据类型分为数组字符串类接口本小节只介绍基本数据类型非基本数据类型将在以后章节中分别介绍com 逻辑类型逻辑类型用关键字boolean标识所以也称布尔型逻辑类型只有真和假两个值true 表示真false 表示假以下是逻辑变量定义的例子boolean b boolean boolboolean flg1flg2 美丽一次定义多个变量boolean b1 trueb2 false丑 false定义时可以赋初值逻辑变量用于记录某种条件成立与否也用语句中作条件判断com 字符类型字符类型用关键字 char 标识字符型数据是一个字符内部表示是字符的 Unicode 代码共用 65535 个不同的字符在Java程序中字符常量有普通字符和转义字符常两种用单引号括住一个字符表示一个普通字符常量例如aB国对于被语言用作特定意义的字符或者不能显式显示的字符需用转义字符标记它们例如换行符用\n标记水平制表符用\t标记常用的转义字符的标记方法见表 1-2其中\nnn 是用八进制代码表示的字符\unnnn 是用十六进制代码表示的字符例如\141 表示字母 a\u0061 也表示字母 a以下是字符变量定义的例子char ch char ch1ch2漂亮char ch3 Ach4 家丑假定义时可以赋给初值表1-2转义字符及其含义转义符含义\b 退格 Backspace键\n 换行符光标位置移到下一行首\r 回车符光标位置移到当前行首\t 水平制表符 Tab键\v 竖向退格符\f 走纸换页\\ 反斜杠符\\ 单引号符\ 双引号符\nnn n为8进制数字用八进制数据表示字符的代码\unnnn n为16进制数字用16进制数据表示字符的代码com 整数类型整数是不带小数点和指数的数值数据由于计算机只能表示整数的一个子集表达更大范围内的整数需要更多的二进制位Java语言将整型数据按数值范围大水不同分成四种31 311 基本型用int标识4个字节32位取值范围是-2 2 -1即-214748364821474836477 72 字节型用byte标识1个字节8位取值范围是-2 2 -1即-12812716 163 短整型用short标识2个字节16位取值范围是-2 2 -1即-23768327674 长整型用long标识8个字节64位取值范围是-2 2 -1即-923372036854775808L923372036854775807L每种整数类型处理不同范围的整数值并且都是带符号的整型常量有十进制八进制和十六进制三种写法如下面的示例所示1234 十进制 0777 八进制以数字0开头 0x3ABC 十六进制以 0x开头后随数字符和英文A到F 5333L或5333l 以字母L或l结尾是长整数以下是整型变量定义的实例int Iint x积byte 字节变量一个字节整型变量该变量的名为字节变量5177long zsumint w 12len -1230long big 9876L定义同时可以赋初值com 浮点数类型浮点数类型也称实型浮点数是带小数点或指数的数值数据 Java语言的浮点数有单精度和双精度两种1.单精度型38 38单精度型用float标识占4个字节32位取值-10 10 float型常是的书写的方法是在实数之后加上字母 F或f例如2354f12389987F2.双精度型308 308双精度型用double标识占8个字节64位取值-10 10 double型常是的书写的方法有两种一种是直接写一个实数或在实数后面加上字母D或d例如12354391235439D 1235439d另一种是科学计数法用10的方幂表示用字符e或E表示幂底10 例如12324e40 科学计数法表示值为12324乘10的40次方以下是浮点数类型变量定义的例子float xydouble v 1286u 2431098987Dfloat u 1236f浮点数类型与整数不同当执行运算时如果出现某种不正常的状态浮点数类型不会抛出异常例如如果用0除浮点数类型的变量则计算结果是一个特别的无限值习题1.指出Java语言的主要特点和Java程序的执行过程答主要特点1 强类型2 编译和解释3 自动无用内存回收功能4 面向对象5 与平台无关6 安全性7 分布式计算8 多线程Java 程序的执行过程是解释执行1javac [选项] 源文件编译2.java [选项] 类名[参数] 执行2.说出开发与运行Java程序的主要步骤3.如何区分应用程序和小应用程序4.说出Java源文件的命名规则5.选择一种上机环境参照实例编写一个输出hello world字样的Java程序6. Java语言使用什么字符集共有多少个不同的字符7. Java语言标识符的命名规则是什么8. Java有哪些基本数据类型它们的常量又是如何书写的9.指出下列内容哪些是Java语言的整型常哪些是浮点数类型常量哪些两者都不是1 E-42 A4233 -1E-314 0xABCL5 32E316 0877 0xL8 0039 0x12510 0771111E12 056L13 014 06177Java4747第2章运算和语句本章主要内容次重点 10数据运算语句Java程序实例本章重点算术运算自增和自减运算关系运算和逻辑Java语句以及java程序实例本章难点自增和自减运算位运算和移位运算while 语句dowhile语句for语句和 Java程序实例2.1 数据运算在高级语言中运算由表达式表示表达式由运算符和运算分量组成运算分量可以是常量变量和方法调用Java语言的基本运算可分成以下几类赋值运算算术运算自增和自减运算关系运算逻辑运算条件运算和字符串连接运算等2.1.1 赋值运算在Java语言中符号是赋值运算符不是相等相等运算符是见关系运算符的叙述赋值运算分为两类一是简单赋值运算二是复合赋值运算1.简单赋值运算简单赋值运算的一般形式如下变量表达式赋值运算的执行过程是1 计算赋值运算符的右端的表达式2 当赋值运算符两侧不一致时将表达式值的类型自动转换成变量的类型3 将表达式的值赋值给变量即存储到与变量对应的存储单元中完成一个赋值运算的表达式称为赋值表达式赋值表达式是先计算表达式的值然后将表达式的值赋值给变量例如表达式x x1表示完成表达式x1的计算将计算结果赋值给变量x这里的类型转换是指数值数据的类型自动转换这样的自动转换只能由简单类型向复杂类型转换不能从复杂...的转换成简单的即如下所示的从左到右转换byte- short- int- long- float- double例如以下代码说明int类型能自动转换成double类型int j 3double y 20y jj的值为3y的值为30以下则是不正确的代码double 类型不能自动转换成int 类型j yJava语言约定赋值运算也有值它的值就是赋予变量的值因此赋值运算的结果可以继续赋值例如int jdouble y 20y j 3j的值为3y的值为30赋值运算符结合性自右至左当连续有多上赋值运算时是从右至左逐个赋值2.复合赋值运算在程序中经常遇到在变量现在值的基础上作某种修正的运算例如x x5这类运算的特点是变量既要参与运算又要接受赋值为避免对同一个变量的地址重复计算引入复合赋值运算符常用的复合赋值运算符有-例如x 5等价于x x5x uv等价于x x uv 这里括号不能省略a a- b2等价于a a a a- b2记θ为某个双目运算符复合赋值运算7177Java4747 xθ e的等效表达式为x xθ e当e是一个复杂表达式时等效表达式的括号是必需的 2.1.2算术运算算术运算要求运算分量的类型是数值类型的整数类型和浮点数类型运算时只需一个运算分量的是单目运算需两个运算分量的是双目运算算术运算的运算符是单目算术运算符+取正-取负双目算术运算符+加-减*乘除%求余数说明1 加减乘除和求余数运算都是双目运算符结合性都是从左至右取正和取负是单目运算符结合性是从右至左其优先级高于+-*%等双目运算符2 为除法运算符当除数和被除数均为整数类型数据时则结果也是整数类型数据例如74的结果为13 %为求余数运算符求余数运算所得结果的符号与被除的符号相同例如5%3的结果为2-5%3的结果为-25%-3的结果为2用算术运算符运算分量和括号连接起来符合Java语言语法规则的计算式称为算术表达式例如如果变量x和y已经被正确声明并且已经赋予初值则以下的式子就是一个正确的算术表达式X2y x-5com 自增和自减运算自增运算符和自减运算符--是单目运算符要求运算分量是数值类型的变量其作用是变量的值增1或减1这两个运算符与变量结合有以下四种可能形式i前缀形式表示在引用变量i之前先使i加1以加1后的i 值为运算结果--i前缀形式表示在引用变量i之前先使i减1以减1后的i值为运算结果i后缀形式表示在收用变量i之后才使i加1即以增1前的i 值为运算结果i--后缀形式表示在引用变量i之后才使i减1即以减1前的i值为运算结果例如i 4j ii结果为5j的结果为5i 4j ii结果为5j的结果为4i 4j --ii结果为3j的结果为3i 4j i--i结果为3j的结果为4上述例子说明对变量采用自增或自减用前缀形式或用后缀形式对变量本身来说效果是相同的但表达式的值不相同前缀形式是变量运算之后的新值后缀形式是变量运算之前的值自增自减运算能使程序更为简洁和高效但在使用时需注意++和――运算的运算只能是变量不能是常量或表达式例如4或ij都不是合法的com 关系运算关系运算用来表达两个表达式值的比较运算结果是布尔型有6上关系运算符<小于<=小于等于>大于>=大于等于==等于=不等于关系运算对左右两侧的值进行比较如果比较运算的结果成立则值为true不成立为false上述6个关系运算符的优先级不完全相同<<=>>=的优先级高于===。
计算机——Java概述
1995年5月23日,Java语言诞生 1996年1月,第一个JDK-JDK1.0诞生 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入JAVA技术 1996年9月,约8.3万个网页应用了JAVA技术来制作 1997年2月18日,JDK1.1发布 1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录 1997年9月,JavaDeveloperConnection社区成员超过十万 1998年2月,JDK1.1被下载超过2,000,000次 1998年12月8日,JAVA2企业平台J2EE发布 1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版(J2SE、J2EE、 J2ME) 2000年5月8日,JDK1.3发布 2000年5月29日,JDK1.4发布 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机 2001年9月24日,J2EE1.3发布 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升。 2004年9月30日18:00PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。为 了表示这个版本的重要性,J2SE1.5更名为J2SE5.0 2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更 名以取消其中的数字“2‖:J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。 2006年11月13日,SUN公司宣布Java全线采纳GNU General Public License Version 2,从 而公开了Java的源代码。 查询新动向
– 最底层是硬件层,表示Java系统运行的硬件
Java程序设计第一章课件
Java源程序 .java
字节码程序 .class
解释 执行
解 释 器
裸 机
Java虚拟机 计算机科学与工程系Βιβλιοθήκη 111.1 Java语言简介
Java虚拟机
Java虚拟机是一种利用软件方法实现的抽象化 的计算机,基于下层的操作系统和硬件平台, 可以在上面执行Java的字节码程序
Java的基本特点1-1
简单 面向对象 分布式
Java的风格类似于C++,因而对 C++程序员而言非常容易掌握Java 编程技术 Java摒弃了C++中容易引发程序错 误的地方,如指针操作和内存管理 在Java 中任何东西都是对象, 因此,重点集中在数据以及应 用程序中的数据操作方法 Java提供了包容广泛的例程库,可处理 像HTTP和FTP这样的TCP/IP协议。Java应 用程序可通过一个特定的URL来打开并访问 对象,就像访问本地文件系统那 样简单
javac java appletviewer
计算机科学与工程系 19
总结3-4
类是对象的描述
类描述每一个对象的都包含的数据 类描述每一个对象所展示的行为 类是对象的蓝图 它是对象被创建的模型或模版
对象有:
状态(state)—— 特征描述 行为(behaviors)—— 它能做什么(或能对它 做什么)
计算机科学与工程系 12
1.1 Java语言简介
Java
运行环境(JRE)
编译时 .java
(源代码) 网络 字节码校验器 解释器 硬件
运行时
Java程序设计(高校系列教材课件).ppt
1.21
高等学校计算机应用人才培养系列教材
常量、关键字和标识符
常量
常量代表某一特定类型的具体值,常量有数字常量、 布尔常量、字符常量和字符串常量之分。
数字常量包括两种:整型常量和浮点型常量。常用的 整型常量都是十进制的。整型常量还有另外两种进制 ,八进制和十六进制。在Java中,八进制的值通过在 它的前面加一个前导0来表示,而通过前导的0x或0X来 表示一个十六进制的值。
) 分布式(Distributed)
高等学校计算机应用人才培养系列教材
1.7
Java和Internet
在使用Java时,用户将从Internet下载Java字节码并在自 己的计算机上运行。在Web网页中运行的Java程序叫做 Applet。要使用Applet,需要有支持Java的浏览器,它可 以解释字节码。
True或false
1.19
高等学校计算机应用人才培养系列教材
Java的数据类型和变量
变量
变量是Java的一个基本存储单元。在Java中,在使用变量之前需要先 声明变量。变量声明通常包括三部分:变量类型、变量名、初始值, 其中变量的初始值是可选的。
以下是几个各种变量声明的例子,有一些包括了变量的初始化。
char
boolean
所占用字节数 1 2 4 8 4 8
2
1
范围 -128到127 -32,768到32, 767 -2,147,483,648到2,147,483,647 -9,223,372,036,854,775,808到 -9,223,372,036,854,775,807 大约 ±3.4+38 大约 ±1.7E+308
1.10
高等学校计算机应用人才培养系列教材
JAVA程序设计 第1章 JAVA概述.ppt.jspPPT教学课件
{ g.setColor(Color.red);
g.drawLine(40,30,200,30);
g.setColor(Color.green);
g.drawLine(40,50,200,50);
}
}
13
1.5 JAVA Applet程序及开发过程
第二步:建立调用applet的html文件 <applet code="simpleApplet.class" width=200 height=100> </applet>
{System.out.println(“身高=”+hight+ “,体重=”+weight);}
}
class A
{public static void main(String args[])
{people zhang;
zhang=new people();
zhang.hight=160;zhang.weight=80;
public void start()
{ img=getImage(getCodeBase(),"tu1.jpg");
sound=getAudioClip(getDocumentBase(),"sh.wav");
}
public void paint(Graphics g)
{ g.drawImage(img,40,40,this);
❖ 简单性
❖ 面向对象
❖ 平台独立
java程序一旦写成,可在安装了java解释器的任何计算机上 运行。
❖ 多线程
使用户程序分段并同时执行。多线程允许同时完成 多个任务。
java 第一章
学习Java的哪些内容?
• • • • • • • Java开发平台的使用 Java的基本语法 面向对象及其特性 常用Java库类 异常处理机制 图形用户界面设计 输入、输出流
如何学好Java?
Ø 课前做好预习,带着问题听课。上课认真听讲,做 好笔记。认真完成作业和上机实验。 Ø 有不懂的地方和疑问要马上提出,寻找答案和解决 的方法,千万不要积累问题。 Ø 勤读代码,勤写代码,在实践中学习。 Ø 多看课外参考书。
1.1 Java历史
Java产生背景 1991年4月,Sun公司的James Gosling领导的绿色计划(Gree n Project)开始着力发展一种分布式系统结构,使其能够在各种消 费性电子产品上运行。而Green项目组的成员一开始使用C++语言 来完成这个项目,由于Green项目组的成员都具有C++背景,所以 他们首先把目光锁定了C++编译器,Gosling首先改写了C++编译 器,但很快他就感到C++的很多不足,需要研发一种新的语言来 替代它。 这种语言最初被命名为Oak,目标设定在家用电器等小型系统 的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用 电器的控制和通讯问题。在17个月后,整个系统完成了,这个系 统是更注重机顶盒式的操作系统,不过在当时市场不成熟的情况 下,他们的项目没有获得成功,但Oak语言却得到了Sun公司总裁 的赏识。
1.1 Java历史
Sun在推出JDK1.0后,紧跟着,Sun在1997年2月18 日发布了JDK1.1。JDK1.1相对于JDK1.0最大的改进就是 为JVM增加了JIT(即时编译)编译器。 Sun在推出JDK1.1后,接着又推出了数个JDK1.x版 本。自从Sun推出Java后,JDK的下载量不断彪升,在19 97年,JDK的下载量突破了220,000,而在1998年,JDK 的下载量已经超过了2,000,000。
Java语言程序设计(一) (04747) 课后思考题与练习题分析与解答 第一章
Java语言程序设计(一) (04747) 课后思考题与练习题分析与解答第一章Java概述一、单项选择题1.若Java程序中公有类的名字是OneApp,则保存该程序的文件名是【 C 】A.Oneapp.javaB. Oneapp.classC. OneApp.javaD. OneApp.class【分析:在Java程序中,公有类的名字即是该文件的名字,Java程序文件的扩展名是.java,Java编译后生成的字节码文件的扩展名是.class,需要由JVM载入并解释执行。
因此正确答案应该选C】2.Java程序OneApp.java编译后的类文件名是【 D 】A.Oneapp.javaB. Oneapp.classC. OneApp.javaD. OneApp.class【分析:java编译后的文件扩展名是.class,是二进制格式的字节码文件,主文件名与Java程序名相同。
因此正确答案应该选C】3.Java语言的解释器是【 C 】A. JVM B. Javac.exe C. java.exe D. JDK【分析:A:JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM只负责执行.class文件。
B:javac.exe是java语言编译器。
javac读取由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。
C:JDK是Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。
JDK是整个java开发的核心,它包含了JAVA的运行环境,JAVA工具和JAVA基础的类库。
D:java.exe是Java解释器,直接从类文件执行Java应用程序代码。
因此正确答案应该选C】4.下列选项中不属于Java语言特点的是【A】A. 类型定义 B. 解释执行 C. 与平台无关 D. 多线程【分析:java语言最初版本是解释执行的,现在的版本增加了编译执行。
Java程序设计(chap1)
1.1Java的诞生
后来许多大公司,如Netscape、Microsoft、IBM和 Oracle等,对Java产生了很大的兴趣,纷纷从Sun那里 取得了Java的许可证,并将Java技术应用到它们的产品 中。一些当年对Green项目有兴趣的消费电子公司也纷 纷联系Java的使用许可证。Java技术终于得到了它应有 的地位。从此,Java开始全面进军Internet。
1.1Java的诞生
1994年,Internet和WWW在全球迅速发展起来,Oak 项目组利用Oak语言的可下载性技术应用到了Web上,又 将这种语言改名为Java。 Java是咖啡的俚语,取这个名字的用意是希望它象咖 啡一样可口,令人耳目一新。
1.1Java的诞生
在当时WWW服务还是静态的,只有一些静态的图 象和文本,缺少交互性。客户端的请求还要送回服务 器,这样给服务器增加了额外的负担。如果程序能够 下载,并能在客户端的浏览器上运行,那么服务器的 负担就会减轻。 Oak项目组又研制了一种新的浏览器---HotJava浏览 器。1995年5月,HotJava浏览器发布后,引起了轰动, 因为它是第一个具有自动装载和运行Java程序的浏览 器。
1.4.3编写第一个Java应用程序
创建Java应用程序的步骤如下: 1) 启动Visual J++6.0,进入编程环境。 2) 打开菜单“File”下的“New Project..”菜单项。 系统弹出New Project对话框(图1-1),在对话框中选 择“Visual J++ Projects”=> “Application”=>“Windows Application”,并在“Name”编辑栏上填上项目名字 (若为MyApplication1),在“Location”栏中填上相应 的路径。系统将创建一个名字为“MyApplication1”的 项,并在Project Explorer窗口中显示项目文件的组成。
04747《Java语言程序设计(一)》教材
Oak 语言在消费性电子产品市场上没有获得青睐。但在当时,Internet 开始流行,人们发明了一种网络传输协议, 这种协议可以在文本中插入图片和声音,能使单调的 Internet 世界变得图文并茂。虽然 Web 页面拥用图文和声音,但仍 然是静态的,不具备交互性。会段程序。由于在 Internet 上运行的数以千计不同类的计算机,这就要求编写这种程序的语言必须具有平台无关性,并要求语言必须简练,支撑环 境要小,而安全性却很高。Oak 语言恰好能够满足这些要求。
public static void main(String []args){ System.Out.println(“你好!欢迎你学习 Java 语言。”);
} } 上述 java 程序的执行将输出以下字样: 你好!欢迎你学习 Java 语言。
一个应用程序由若干个类组成,上面这个应用程序只有一个类,类的名字是 Example1_1。public 是 java 语言的关 键字,表示声明的类 Example1_1 是公用的。class 也是关键字,用来声明类。最外层的一对花括号以及括号内的内容叫 做类体。public static void main(String []args)是类 Example1_1 的一个方法。一个应用程序必须只有一个类含有 main()方法,这个类是应用程序的主类。public static void 是对 main()方法的说明。应用程序的 main()方法必须被 说明成 public static void。表示 main()方法的访问权限是公有的,它是一个类方法,没有结果返回,参见第 3 章。String []args 或 String args[],声明 main()方法的参数是一个字符串数组,参见第 4 章。
第一章jav程序设计概述
第三节 Java程序介绍
JVM -- java virtual machine JVM是java虚拟机,它是整个java实现跨平台的最核心的 部分,所有的java程序会首先被编译为.class的类文件, 这种类文件可以在虚拟机上执行,也就是说class并不直 接与机器的操作系统相对应,而是 经过虚拟机间接与操 作系统交互,由虚拟机将程序解释给本地系统执行。 JRE -- java runtime environment JRE 是指java运行环境。光有JVM还不能完成class的执 行,因为在解释class的时候JVM需要调用解释所需要的 类库lib。在JDK的安装目录里可以找到jre目录,里面有 两个文件夹bin和lib,在这里可以认为bin里的就是jvm, lib中则是jvm工作所需要的类库,而jvm和lib和起 来就 称为jre
2013-7-18 19
第三节 Java程序介绍
Javadoc:根据Java源码及说明语句生成HTML文档。
Jdb:Java调试器,可以逐行执行程序,设置断点和检
查变量。 Javap:Java反汇编器,显示编译类文件中的可访问功 能和数据,同时显示字节代码含义。
2013-7-18
20
第三节 Java程序介绍
2013-7-18 10
第二节 Java的特点
Java语言主要功能特点如下:
1.语法简单:类似C++的语法(便于C++程序员转向Java) 2.执行方式效率高 3.平台无关性(Windows、Linux/Unix) 4.使用分布式技术,保证运行安全 5.提供丰富的API文档和类库 6.完全面向对象
2013-7-18
15
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本章主要内容Βιβλιοθήκη JDK和Eclipse的安装与配置 使用JDK开发Java程序的步骤 使用Eclipse开发Java程序的步骤 理解Java的运行环境
常用开发环境
JDK Eclipse Jbuilder NetBeans
第1章
第1章
1.1 JDK
Java Development Kit 亦称作Java SDK( Java Software Development
安装的JDK位数一致 Eclipse是绿色软件 第一次启动时需选择工作空间 如需汉化,需下载与版本对应的语言包
/babel/downloads.php
第1章
第1章
第1章
第1章
第1章
kit ) 主流JDK由Sun公司发布 Sun公司于2010年被Oracle公司收购
第1章
1.1.1 JDK的版本
JDK1.2发生了很多革命性的变
化,为了强调这个版本,Sun
这又是一个里程碑式的版本,公司将Java改名为Java 2
11为将9999了其68表命年年示名11它为月2月J的2,S重,E5J要.D0JD性。K1K,1.0S.2发un发公布布司
“属性”→“高级系统设置”→“高级”→“环境 变量”,打开“环境变量”对话框。 单击“新建”按钮,新建用户变量,变量名为Path, 变量值为“F:\java\jdk1.8.0\bin” 再次创建用户变量,变量名为ClassPath,变量值为 “F:\java\jdk1.8.0\lib\dt.jar;F:\java\jdk1.8.0\lib\tools.j ar;.”
public class Test{ public static void main(String args[]){ System.out.println("Welcome!"); }
}
第1章
③ 右击“开始”菜单,选择“命令提示符”选项,打开 “命令提示符窗口”,执行以下命令
F:<回车> CD \example<回车> dir<回车>
④ 执行命令 javac Test.java<回车> 将源程序编译为字节
码文件Test.class ⑤ 执行命令 java Test<回车> 加载执行程序
第1章
1.2 Eclipse集成开发环境
1.2.1 Eclipse的安装与汉化
官网: Eclipse也有32位和64位之分,一定要与已经
Ja2va021P7la年tfo9rm月,,Ma2c0ro1E8d年itio4n(月J2和ME9,月微,型连版)续:发主布要应了用9于、 手1机0等、移1动1三设备个的版开本发。,Java SE 11技术支持至2026。
第1章
1.1.2 JDK的下载、安装与配置
打开Oracle公司的官方网站
从Ja22vJaa00v200aP462la开年年tf始o94rm,月月,按,,S开taJJn发2advSa方aErd1向SE.Ed5不i发6t同io发n布,(布JJa2vSaE分,为标以注准下意版三名)个称:版!主本J要a:v应a S用E 于J于a22v桌企a002面业11P41应级la年年t用的fo73r开应m月月发用,,,。服En务tJJeaar开vvpaar发isSSe。EEEd87it发 发ion布 布(J,2EE技,企术业支版持):至主2要02应5用
第1章
1.1.3使用JDK开发Java程序的步骤
① 在任意一个驱动器上建立一个文件夹用于保存源 程序文件,例注如意在:F盘根目录下建立子文件夹 example 存盘时保存类型需设置为所有文件
② 使用任意的编文辑件软名件一编定写与J类av名a源相程同序,例如使用 记事本输入以扩下展代名码一:定为.java
第1章
第1章
第1章
第1章
第1章
第1章
安装过程
第1章
运行安装文件jdk-8u74-windows-x64.exe
安装过程
第1章
改变安装位置为F:\java\jdk1.8.0
安装过程
选择JRE的安装位置
第1章
安装过程
第1章
安装过程
第1章
配置环境变量
第1章
若安装位置为“F:\java\jdk1.8.0” 右击“此电脑”,在弹出的快捷菜单中依次选择