第一章第一个Java程序

合集下载

ACCP6.0_S1_JAVA_第一章_学习笔记

ACCP6.0_S1_JAVA_第一章_学习笔记

第一章初识Java1.1 什么是程序程序一词来自生活,通常指完成某些事务的一种既定方式和过程。

在日常生活中,可以将程序看成对一系列动作的执行过程的描述。

对计算机所下达的每一个命令称为指令,它对应着计算机执行的一个基本动作。

告诉计算机按照某种顺序完成一系列指令,这一系列指令的集合称为程序。

计算机程序:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。

人与计算机对话使用计算机语言,这样人表达的想法,下达的指令计算机才能够明白。

计算机语言有很多种,它们都有自己的语法规则。

选用其中一种来描述程序,传达给计算机,Java就是多种语言中的一种。

计算机阅读程序,也就是阅读指令集,然后按部就班的严格执行。

编制程序时选用的语言是那种有利于人类读写的语言,俗称高级语言。

但是计算机仅仅明白0和1代码组成的低级语言(即二进制形式的机器语言程序),中间需要一个翻译官进行语言转换(对高级语言进行编译或者解释)。

1.2 为什么学习Java语言Java是Sun Microsystems于1995年推出的高级编程语言。

Java 领域的JavaSE、JavaEE技术已发展成为同C#和.NET平分天下的应用软件开发平台和技术。

Java技术可以应用在几乎所有类型规模的设备上,小到计算机芯片、蜂窝电话,大到超级计算机,无所不在。

1.3 Java可以做什么在计算机软件应用领域中,可以把Java应用分为两种典型类型。

●开发桌面应用程序:银行软件、商场结算软件。

●开发面向Internet的应用程序:网上数码商城、阿里巴巴、易趣网1.4 Java技术平台简介Java包括编程语言和相关的大量技术。

(1)JavaSE:JavaSE即Java平台标准版,是Java技术的核心,提供基础的Java开发工具,执行环境与应用程序接口(API),主要用于桌面程序的开发。

(2)JavaEE:JavaEE的全称是Java平台企业版,它主要用于网络程序和企业级应用的开发。

Java程序设计-1-概述_OK

Java程序设计-1-概述_OK
9
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语言程序设计(一)电子版教材 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基础知识

Java基础知识

在程序中操作对象是类的一个实例 即对象 在程序中操作对象是类的一个实例:即对象 创建一个对象 Hello obj=new Hello(); 调用方法 obj.showString("Hello World!")
11
1.1 有关面向对象的概念 什么是封装 什么是封装? 封装把对象的所有组成部分组合在一起,封 封装把对象的所有组成部分组合在一起, 装定义程序如何引用对象的数据, 装定义程序如何引用对象的数据,封装实际
}
15
1.1 有关面向对象的概念 什么是方法的重载 多态性 ? 什么是方法的重载(多态性 多态性)? 在同一个类中至少有两个方法用同一个名字, 在同一个类中至少有两个方法用同一个名字, 但有不同的参数. 但有不同的参数.
123
void show(int int_num) void show(double double_num) void show(nit nit_ um, float float_um)
25
1.6 Java中的字符串 中的字符串 StringBuffer的字符串的内容是可以改变的 的字符串的内容是可以改变的 创建StringBuffer对象 创建 对象 StringBuffer str=new Stringbuffer("hello"); 获取StringBuffer对象的信息 获取 对象的信息 int len=str.length();
20
1.4 你的第一个 你的第一个Java程序 程序
21
1.5 Java类型系统 类型系统
Java type system
primitive
reference
null
char integral
numeric

Java语言程序设计第一章

Java语言程序设计第一章

14
面向对象与类的概念 (3)
继承与多态 (续)
– 多态机制把不同的子类对象都当作父类类型看待, 屏蔽了不同子类对象之间差异。
– 比如,以Vehicle类为父类,实现两个子类:Truck 类和Car类,均继承父类的“加速”方法。但是实 际上货车和轿车的加速程序是不同的。因此,加速 方法应该在子类中根据不同车型重新定义。当发布 命令:“A汽车加速”。命令中并没有指定该汽车 是货车还是轿车。程序运行过程中,多态机制会自 动判断A汽车的类型,如果A车是货车则执行货车 的加速方法,是轿车的话则执行轿车的加速方法。
22
Java程序运行过程
23
编写Java程序的注意事项
最基本的程序至少包含一个类。 一个源文件中最多定义一个公共类(public class),并
且该公共类的命名要与源文件名相同,区分大小写。 程序从 main( ) 方法开始执行,关键字 static 表示无需
创建类的实例,可以直接调用 main( ) 方法,关键字 void表示main( ) 方法在执行时不返回任何值。 整个类及其所有成员都是在一对大括号中(即 { 和 } 之间)定义的,它们标志着类定义块的开始与结束。
5
Java EE (Java 2 Platform,Enterprise Edition)
JSP、Servlet、JavaBean JDBC、EJB、XML Struts、Spring、Hibernate、Ajax、WebService
6
Java ME (Java 2 Platform,Micro Edition)
7
Java的特性 (1)
平台无关性
.java
编译
.class
Java字节码文件

第一章java程序设计概述

第一章java程序设计概述

第一章java程序设计概述一、单选1. 下列说法正确的是()A. 当运行javac 命令对一个java源程序(.java文件)进行编译时,不必写出该源文件的扩展名.java。

B. 当用java命令解析执行一个class文件时,必须写出该文件的完整扩展名,包括扩展名.class。

C. 当运行javac 命令对一个java源程序(.java文件)进行编译时,必须写出该源文件的完整文件名,包括扩展名.java。

D. 无论是运行javac 还是 java命令,后面的源文件都必须给出文件的扩展名。

2. main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()A.public static void main()B. public static void main(String[ ] args)B.public static int main(String[ ] args) D. public void main(String[] args)3. 解释执行和编译一个Java应用程序应分别采用的命令是()A. java 和 javacB. javac 和java4. 下列不属于Java语言特点的是()A. 动态性B. 多线程C. 多重继承D. 可移植性5. 编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )A. .javaB. .classC. .htmlD. .exe二、判断题1. 后缀名是 .java的文件是Java的类文件。

2. 命令java 与 javac 的实现效果是相同的。

三、填空1. Java程序可分为()和()两大类。

2. 开发与运行Java程序需要经过的三个主要步骤为( )、( )和( )。

3. 如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生()个文件名与类名相同而扩展名为()的字节码文件。

尚硅谷_宋红康_第1章_Java语言概述

尚硅谷_宋红康_第1章_Java语言概述

TIOBE Programming Community Index for Feb 2014
数据来源:TIOBE
2.从java语言的诞生、特点说起
java之父Jgosling团队在开发”Green”项目时,发现C缺少垃圾回收系 统,还有可移植的安全性、分布程序设计、和多线程功能。最后,他们想 要一种易于移植到各种设备上的平台。 Java确实是从C语言和C++语言继承了许多成份,甚 至可以将Java看成是类C语言发展和衍生的产物。比 如Java语言的变量声明,操作符形式,参数传递,流 程控制等方面和C语言、C++语言完全相同。但同时, Java是一个纯粹的面向对象的程序设计语言,它继承 了 C++语言面向对象技术的核心。Java舍弃了C语言 中容易引起错误的指针(以引用取代)、运算符重载 (operator overloading)、多重继承(以接口 取代)等特性,增加了垃圾回收器功能用于回收不再 被引用的对象所占据的内存空间。JDK1.5又引入了 泛型编程(Generic Programming)、类型安全的 枚举、不定长参数和自动装/拆箱
用户 user
字节码文件 JVM 操作系统
硬件
核心机制—垃圾回收
不再使用的内存空间应回收—— 垃圾回收。 在C/C++等语言中,由程序员负责回收无用内存。
Java 语言消除了程序员回收无用内存空间的责任:它提供 一种系统级线程跟踪存储空间的分配情况。并在JVM空闲 时,检查并释放那些可被释放的存储空间。 垃圾回收在Java程序运行过程中自动进行,程序员无法精 确控制和干预。
java语言的主要特性
Java语言是安全的。Java通常被用在网络环境中,为此,Java提供 了一个安全机制以防恶意代码的攻击。如:安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、 字节代码检查。 Java语言是体系结构中立的。Java程序(后缀为java的文件)在 Java平台上被编译为体系结构中立的字节码格式(后缀为class的文 件),然后可以在实现这个Java平台的任何系统中运行。 Java语言是解释型的。如前所述,Java程序在Java平台上被编译为 字节码格式,然后可以在实现这个Java平台的任何系统的解释器中运 行。 Java是性能略高的。与那些解释型的高级脚本语言相比,Java的性 能还是较优的。

第1章Java 简介

第1章Java 简介

第1章Java 简介1.1 概述最近几年Internet的迅速发展及万维网WWW(World Wide Web)的日益普及和快速增长,使得整个计算机世界正在经历着深刻的变革。

1989年超文本标记语言HTML(Hypertext Markup Language,超文本标记语言)和万维网WWW的产生是Internet数据描述语言的一次飞跃,万维网把全球的信息资源用HTML格式统一起来。

1996年,Sun公司的Java语言正式发表,则是一次Internet的技术革命。

在Internet上,Java语言和用Java编写的浏览器HotJava的出现在当时是特别引人注意的重大事件。

Java的诞生从根本上解决了Internet 的异质、代码交换以及网络程序的安全性等诸多问题。

其中Java语言是与平台无关的语言。

Java语言程序编译后,生成字节代码,运行在Java虚拟机上。

一个操作系统平台只要提供Java虚拟机,Java程序就可以在上面直接运行了。

从理论上讲,Java语言程序可运行在所有的操作系统平台上,从而在根本上解决了Internet的异质问题。

Java语言不仅仅是一个程序设计语言,更是一个网络操作系统。

因为:(1)Java语言可不依赖于任何现有操作系统,而直接运行在某种机器或CPU上;(2)Java语言有自己的内存管理机制;(3)Java语言支持多线程程序,可对处理器资源进行分配和管理;(4)Java语言可对设备进行管理,例如:屏幕、键盘、鼠标等;(5)Java语言支持网络文件管理,Java语言可打开远程机器上的文件,Java语言文件的概念已经扩充到整个Internet网络。

1.1.1 Java的起源与现状Java语言诞生于1991年,它是由Sun Microsystems的一个开发小组在开发Green项目时完成的。

该项目最初是开发一种用于消费类电子产品的与平台无关的软件技术,主要用来解决诸如电视机、电话、闹钟等家用电器的控制和通信问题。

第1章:Java语言基础

第1章:Java语言基础


2、注意
Java 源程序命名受严格的限制。Java 源文件的扩展名必须是“.java”; 而源程序经过编译后得到 的应用程序文件名(即字节码文件)的主文件名和源程序中的类名一样,而扩展名是“.class” 。
如果某个源文件中有多个类,那么只能有一个类是public 类;如果源文件中有 public 类,那么源 文件的名字必须与这个类的名字完全相同。
123.5439、123.5439D, 123.5439d。另一种 是科学计数法,用 10 的方幂
表示(用字符 e 或 E 表示幂底 10)。例如:123.24e40(科学计数法表示,值 为 123.24 乘 10 的 40 次方)
例题:指出下列内容哪些是 Java 语言的整型常,哪些是浮点数类型常量,
继承
年龄 吃饭

年龄 吃饭
现代人
学历
开车
年龄
吃饭
现代女孩
学历
开车
购物
多态性
开车
1.2 Java应用程序和小应用程序
1. Java程序分类
Java应用程序和Java应用小程序(Applet)。 共同点:两种 Java 程序都由一个或多个扩展名为“.class”的文件组成;都需要 java虚拟机(JVM) 载入并翻译。 不同点:(1)小应用程序只能在与 Java 兼容的容器中运行,可以嵌入在 HTML 网页内,在网络 上发布,当网页被浏览时,在浏览器中运行;小应程序的运行还要受到严格的安全限制,例如,它 不能访问用计算机上的文件。Java应用程序没有这些限制,也不支持网页嵌入和下载运行。(2) 小应用程序和应用程序在代码编写上也有很大差异。一个小应用程序必须定义成一个 Applet 类的 子类,应用程序可 以是 Applet 类的子类,也可以不是。应用程序必须在一个类中定义一个 main()方法,该方法代表应用程序的入口。而 小应用程序不必定义 main()方法,它的执行由 Applet 类中定义的多个方法控制。

Java语言程序设计(一)课后习题答案

Java语言程序设计(一)课后习题答案

第一章Java语言基础指出Java语言的主要特点和ava程序的执行过程。

答:强类型。

编译和解释。

自动无用内存回收功能。

面向对象。

与平台无关。

安全性。

分布式计算。

多线程。

2.说出开发与运行Java程序的主要步骤。

答:安装SUN的JDK,配置class path编写源文件。

编译。

运行。

3.如何区分应用程序和小应用程序。

答:应用程序必须在一类中定义一个main()方法,该方法代表应用程序的入口。

小应用程序不必定义main()方法,但是必须继承applet类。

4.说出Java源文件的命名规则。

答:和类命名规则一样,首字母大写。

5.选择一种上机环境,参照实例,编写一个输出“hello world!”字样的Java程序。

答:选择SUN的IDE,用UltraEdit-32编写如下://HelloWorld.java/***<p>这是第一个程序</p>*@author 饶林*@see */class HelloWorld{public static void main(String[] args) {System.out.println("Hello World!");}}6.Java用什么字符集?共有多少个不同的字符?答:Java语言使用Unicode字符集,共有65535个字符。

7.Java语言标识符的命名规则是什么?答:由字母(包括英文字母、下划线、美元字符、文字字符)和数字字符组成。

限定标识符的第一个字符不能是数字。

8.Java有哪些基本的数据类型,它们的常量又是如何书写的?答:基本的数据类型也称为原始数据类型,是系统预先规定的一些常用类型。

它们是:整数类型、浮点数(实数)类型、字符(文字)类型、逻辑类型(布尔型)。

9.指出下列内容那些事Java语言的整形常量,哪些是浮点数类型常量,那些两者都不是?1)E-4 2)A423 3)-1E-31 4)0xABCL 5).32E31 6)087 7)0x L8)003 9)0x12.5 10)077 11)11E 12)056L 13)0. 14).0答:整形常量:4,5,6,8,10,12浮点型:1,3,9,13,14两者都不是:2,7,11第二章运算和语句1.Java字符能参加算术运算吗?答:能,例如char类型a自加后变b2.占字节多的变量能直接赋给占字节少的变量吗?答:不能,需强制类型转换。

第一章 java 简介PPT课件

第一章  java 简介PPT课件

2
第一章 java 简介
什么是java技术 java的发展历史 java语言的特点 java语言主要应用于哪些方面 Java语言的运行机制 Java平台 一个简单java程序的例子 常用java开发工具
3
第一章 java 简介
什么是java技术
一个编程语言 一种开发环境 一种运行环境 用来开发java应用程序和applet小应用
10
第一章 java 简介
Java语言的运行机制
java运行结构功能图:
11
第一章 java 简介
Java语言的运行机制
Java 运行时执行三个任务:
代码调用 代码校验 执行代码
12
第一章 java 简介
Java平台
Java平台不同于其它平台在于它是运行在 其它基于硬件的平台之上的软件平台。 Java平台包括二个组件:
Java虚拟机 Java Virtual Machine(JVM)
Java应用程序接口(Java API)
13
第一章 java 简介
Java平台
下图说明了Java程序与Java平台之间的关系:
Java平台由Java应用编程接口(Application Programming Interface,简称 API)和Java虚拟机(Java virtual machine ,简称JVM)构成。 Java应用编程接口是已编译的可在我们的程序中使用的代码库。它们使 我们能够添加现成的可定制的功能,以节约编程时间。
Java语言程序设计
E-mail:
1
第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章
java 简介 java 语言基础 面向对象编程的基本概念 java 中的对象、类、包和接口 异常处理 编写文本应用程序 线程 java的输入输出 编写图形界面应用程序 编写 Applet

JAVA基础课程讲义-图文

JAVA基础课程讲义-图文

JAVA基础课程讲义-图文北京尚学堂科技JAVA基础课程北京尚学堂科技JAVA基础课程目录第一章JAVA入门............................................................. . (10)计算机语言发展史............................................................. . (10)JAVA开发环境搭建............................................................. ...........................................18一个典型的JAVA程序的编写和运行过程............................................................. ......19第一个程序常见错误............................................................. ........................................20第一个JAVA程序的总结和提升............................................................. ......................20常用Java开发工具............................................................. ...................................................20常用do命令............................................................. (21)本章笔试作业............................................................. (21)本章上机操作............................................................. (21)第二章(1)编程的基本概念............................................................. (22)注释............................................................. ............................................................... .............22标识符............................................................. ............................................................... .........22关键字/保留字............................................................. ..........................................................23变量(variable)..................................................... ............................................................... .....24常量(Contant)...................................................... ............................................................... ...25命名规则(规范)............................................................ ..........................................................25基本数据类型(primitivedatatype)............................................ . (26)整型变量............................................................. (26)浮点型............................................................. ................................................................27字符型(2个字节):......................................................... .........................................28boolean类型............................................................. .....................................................29运算符(operator)..................................................... (29)二元运算符.............................................................. .......................................................29一元运算符.............................................................. .......................................................30布尔逻辑表达符.............................................................. .. (30)2北京尚学堂科技JAVA基础课程位运算符............................................................. (30)扩展运算符............................................................. ........................................................31字符串连接符............................................................. ....................................................31三目条件运算符............................................................. ................................................31运算符优先级的问题............................................................. ........................................31自动类型转换............................................................. ....................................................32基本类型转化时常见错误和问题............................................................. ....................33方法............................................................. ............................................................... .............33简单的键盘输入和输出............................................................. ............................................33本章思考作业............................................................. (34)上机操作............................................................. ............................................................... .....34第二章(2)控制语句............................................................. (35)顺序结构............................................................. ............................................................... .....35选择结构............................................................. ............................................................... .. (35)if单选择结构............................................................. .....................................................35if-ele双选择结构............................................................. .............................................35If-eleif-ele多选择结构............................................................. ...................................36witch多选择结构............................................................. ............................................37循环结构............................................................. ............................................................... .. (39)While和dowhile的区别............................................................. ..................................41For循环............................................................. . (42)break语句和continue语句............................................................. .............................47语句块............................................................. ............................................................... .........48递归结构............................................................. ............................................................... .....49本章作业............................................................. ............................................................... .....50本章上机操作............................................................. (51)第三章JAVA面向对象程序开发............................................................. . (52)编程语言发展史............................................................. ........................................................52类和对象是如何产生发展的如何进化的............................................................. ............52面向对象思想初步(OOP初步ObjectOrientedProgramming)..................................... ........53面向对象编程的语言的三大特征简介............................................................. ....................56对象和类的概念............................................................. ........................................................56类和对象初步............................................................. (57)测试类的定义方式............................................................. ............................................57简单的学生类编写示例............................................................. ....................................58内存分析............................................................. (59)属性(field,或者叫成员变量)........................................................... .......................59引用类型............................................................. (60)类的方 (60)对象的创建和使用............................................................. ............................................60构造器(或者叫做构造方法,contructor)................................................. ......................60垃圾回收机制(GarbageCollection)............................................ ........................................63方法的重载(overload),构造方法的重载............................................................. ...............63thi关键字............................................................. ............................................................... ..653北京尚学堂科技JAVA基础课程tatic关键字.............................................................. (66)静态初始化块(经常用来初始化类,加载类信息时执行!)...........................................67package...... ................................................................ .............................................................68J DK中的主要包.............................................................. ........................................................68import................................................................ .....68eclipe的使用.............................................................. ..........................................................69继承(e某tend,inheritance)............................................... .. (70)为什么需要继承?继承的作用?........................................................... ......................70继承介绍............................................................. (70)如何实现继承?........................................................... ..................................................70继承使用要点............................................................. ....................................................71Object 类............................................................. ............................................................... .. (72)toString方法............................................................. ......................................................72equal方法............................................................. ........................................................73uper 关键字............................................................. . (74)方法的重写(override)................................................... ....................................................74隐藏/封装(encapulation)................................................. .. (75)为什么需要封装?封装的作用和含义?........................................................... ..........75使用访问控制符,实现封装............................................................. ............................76封装的使用细节............................................................. ................................................76多态(polymorphim).................................................. . (76)为什么需要多态............................................................. ..............................................76如何实现多态............................................................. ..................................................77方法绑定(methodbinding)................................................ .........................................77静态绑定............................................................. (77)动态绑定............................................................. (77)多态的使用要点............................................................. ................................................78对象的转型(cating)....................................................... ........................................................79final ............................................................... ..........................................................................81抽象类............................................................. ............................................................... .........82抽象类的使用要点............................................................. ....................................................83接口............................................................. ............................................................... . (83)为什么需要接口............................................................. ..............................................84如何定义接口............................................................. ..................................................84接口的本质探讨............................................................. ................................................84接口使用要点............................................................. ....................................................85接口的多继承............................................................. ....................................................86面向接口编程............................................................. ....................................................87OOP更多应用............................................................. .. (87)组合............................................................. ............................................................... .....87内部类(innerclae).......................................................................................................88字符串(ng.String类)的使用............................................................. ..............90字符串相等的判断............................................................. ............................................92思考作业............................................................. ............................................................... .. (93)4北京尚学堂科技JAVA基础课程上机作业............................................................. ............................................................... .....94第四章异常机制............................................................. ............................................................... .95导引问题............................................................. ............................................................... .....95异常(E某ception)的概念............................................................. ........................................96异常分类............................................................. ............................................................... .. (96)Error.......................................................... ............................................................... .......97Error和E某ception的区 (97)E某ception........................................................ ............................................................... ..97异常的处理办法之一,捕获异常............................................................. . (99)try 块............................................................. ............................................................... ...99catch..................................................... ............................................................... ............99finally.......................................... ............................................................... ....................100try,catch,finally,return执行顺序............................................................. ..................100异常的处理办法之二,声明异常:throw子句............................................................. 101方法重写中声明异常原则............................................................. ......................................102异常的处理办法之三,手动抛出异常,throw子句........................................................103自定义异常............................................................. .. (1)03使用异常机制建议............................................................. ..................................................104总结........................................................................105思考作业............................................................. ............................................................... ...105上机作业............................................................. ............................................................... ...105第五章数组............................................................. ............................................................... . (106)数组概述和特点............................................................. ......................................................106创建数组和初始化............................................................. ..................................................106数组常见操作............................................................. . (108)数组的拷贝............................................................. ......................................................108数组排序............................................................. ..........................................................109多维数组............................................................. ............................................................... ...110附录(面试前复习一下!!)........................................................ (111)冒泡排序.............................................................分法查找............................................................. ......................................................112命令行参数的问题............................................................. ..........................................113增强for循环............................................................. ...................................................114思考作业............................................................. ............................................................... ...114上机作业............................................................. ............................................................... ...115第六章常用类的使用............................................................. (117)基本数据类型的包装类............................................................. (117)包装类基本知识.............................................................. .............................................117包装类的用途.............................................................. .................................................118自动装箱和拆箱?autobo某ing,unbo某ing............................................................. .....119字符串相关类(String、StringBuffer、StringBuilder) (12)String类的常用方法(已讲过,不再讲!)......................................................... .....120StringBuffer和StringBuilder.................................................. ......................................121String和StringBuffer 和StringBuilder使用要点.. (123)5北京尚学堂科技JAVA基础课程时间处理相关类............................................................. (124)Date时间类(java.util.Date)............................................... ...........................................124DateFormat类和SimpleDateFormat 类............................................................. .........125Calendar日历类............................................................. ..............................................126可视化日历的编写............................................................. ..........................................128Math 类............................................................. ............................................................... .....131File 类............................................................. ............................................................... .. (132)为什么需要学习IO技术............................................................. ........................................146基本概念............................................................. ............................................................... (146)数据源.............................................................. . (146)流的概念.............................................................. .........................................................146第一个简单的IO流程序及深入(将文件中的数据读入).............................................146Java中流的概念细分.............................................................. .............................................148Java中IO流类的体系.............................................................. ...........................................149四个IO基本抽象类.............................................................. .. (150)InputStream.................................................... .. (1)50OutputStream................................................. .. (1)50常用InputStream和OutputStream子类用法 (1)50FileInputStream和FileOutputStream............................................... ...........................150ByteArrayInutStream和ByteArrayOutputStream.......................................... ..........154BufferedInputStream和BufferedOutputStream........................................... ...............156DataInputStream和DataOutputStream............................................... .......................157ObjectInputStream和ObjectOutputStream............................................. ...................158PrintStream.............................. ............................................................... . (158)6北京尚学堂科技JAVA基础课程Reader......................................................... ............................................................... ...158Writer................................................... ............................................................... ..........159FileReader和FileWriter..................................................... ..........................................159BufferReader和BufferWriter................................................... ....................................159InputStreamReader和OutputStreamWriter............................................. ...................161JAVA对象的序列化和反序列化............................................................. .. (161)为什么需要序列化和反序列化...................................................................................161对象的序列化主要有两种用途............................................................. ......................161序列化涉及的类和接口............................................................. ..................................162序列化/反序列化的步骤和实例............................................................. ....................162综合的序列化和反序列化练习............................................................. ......................163JAVA.IO包相关流对象用法总结(尚学堂1002班王鑫).....................................................165IO中其他常用类............................................................. .. (165)File 类............................................................. ............................................................... 165RandomAcceFile.............................................. .. (166)思考作业............................................................. ............................................................... ...166上机作业............................................................. ............................................................... ...166提高课外作业............................................................. ..........................................................166第九章多线程技术............................................................. . (167)念............................................................. ............................................................... (167)程序............................................................. ............................................................... ...167进程............................................................. ............................................................... ...167线程............................................................. ............................................................... ...167线程和进程的区别............................................................. ..........................................167进程与程序的区别............................................................. ..........................................168JAVA中如何实现多线程(重点!!)........................................................ .. (168)通过继承Thread类实现多线程.............................................................. ....................168通过Runnable接口实现多线程.............................................................. ...................169线程状态和leep/yield/join/top/detroy方法.............................................................. (170)态............................................................. ..........................................................170就绪状态............................................................. ..........................................................170运行状态............................................................. ..........................................................170死亡状态............................................................. ..........................................................170终止线程的典型方法(重要!!!)...................................................... .......................171阻塞状态(leep/yield/join方法)............................................................ ......................171线程基本信息和优先级别............................................................. ......................................173线程同步和死锁问题............................................................. ..............................................175死锁及解决方案............................................................. ......................................................179生产者/消费者模式............................................................. ................................................181线程回顾总结............................................................. ..........................................................184任务调度(补充内容,了解即可!).......................................................... ..........................184思考作业............................................................. ..................................................................185上机作业............................................................. ............................................................... ...185第十章网络编程............................................................. .. (1)867北京尚学堂科技JAVA基础课程基本概念............................................................. ............................................................... (186)什么是计算机网络............................................................. ..........................................186计算机网络的主要功能............................................................. ..................................186什么是网络通信协议............................................................. ......................................186网络通信接口............................................................. ..................................................186为什么要分层............................................................. ..................................................186通信协议的分层规定............................................................. ......................................186数据封装............................................................. ..........................................................188数据拆封.......................................................................................................................188IP ............................................................... ............................................................... .. (188)端口............................................................. ............................................................... ...188URL...................................................... ............................................................... .. (189)TCP协议和UDP协议............................................................. (189)区别.............................................................. ................................................................ .189TCP协议.............................................................. ..........................................................189UDP 协议.............................................................. .........................................................190JAVA 网络编程.............................................................. .. (190)InetAddre...................................................... . (19)0InetSocketAddre............................................... .........................................................191URL 类............................................................. .. (1)91基于TCP协议的SOCKET编程和通信............................................................. ...........193UDP通讯的实现............................................................. ..............................................201思考作业............................................................. ............................................................... ...203上机作业(分组完成,3人一组,周末完成)........................................................... .....204第十一章JAVA多媒体编程............................................................. . (205)字体............................................................. ............................................................... .. (205)字体示例和效果............................................................. ..............................................205颜色............................................................. ............................................................... .. (206)颜色编程示例............................................................. ..................................................206图形绘制............................................................. ............................................................... (206)。

Java编程基础

Java编程基础

4
Java语言的版本* *

Java SE:Java平台标准版 – (Java Platform Standard Edition) Java ME:Java平台微型版 – (Java Platform Micro Edition) Java EE:Java平台企业版 – (Java Platform Enterprise Edition)

3
Java语言的历史
• • • • • • • • • • •
开始研究 1990 Oak 1991.6 HotJava 1995.5 Java1.0 1995.5.23 Java1.1 1997.2.18 Java1.2 1998.12.4 更名为Java2 Java1.3 2000.5.8 Java1.4 2002.2.13 Java1.5 登陆火星 2004.9 更名为Java5.0 Java1.6 2006.12 Java1.7 未知
/* /* **The traditional HelloWorld example The traditional HelloWorld example */ */ public class HelloWorld {
public class HelloWorld {
public static void main(String args[ ]) {
26
Java代码的运行
27
Java的平台无关性* *

目标:Write Once run everywhere
Java程序 针对Linux平 台Java平台 Linux主机
Java程序 针对Win32的 Java平台 运行Windows NT的PC
Java程序 针对电视的 Java平台 电视机

第一章jav程序设计概述

第一章jav程序设计概述
2013-7-18 16
第三节 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

《Java基础入门》课后习题及答案

《Java基础入门》课后习题及答案

《Java基础入门》课后习题第1章Java开发入门一、填空题1、Java的三大体系分别就是_JavaSE_____、_JavaEE_____、_JavaME_____。

2、Java程序的运行环境简称之为JRE_____。

3、编译Java程序需要使用_javac_____命令。

4、javac、exe与java、exe两个可执行程序存放在JDK安装目录的bin______目录下。

5、path______环境变量用来存储Java的编译与运行工具所在的路径,而_classpath_____环境变量则用来保存保存Java虚拟机要运行的“、class”文件路径。

二、选择题1、以下选项中,哪些属于JDK工具?(多选)ABCDA、Java编译器B、Java运行工具C、Java文档生成工具D、Java打包工具2、Java属于以下哪种语言?CA、机器语言B、汇编语言C、高级语言D、以上都不对3、下面哪种类型的文件可以在Java虚拟机中运行?DA、、javaB、、jreC、、exeD、、class4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java、exe命令的作用就是以下哪一种?BA、Java文档制作工具B、Java解释器C、Java编译器D、Java启动器5、如果jdk的安装路径为:d:\jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac与java命令,需要将环境变量path设置为以下哪个选项?BA.d:\jdk;B.d :\jdk\bin;C.d:\jre\bin;D.d:\jre;三、问答题1、简述Java的特点。

面向对象、跨平台性、健壮性、安全性、可移植性、多线程性、动态性等。

2、简述JRE与JDK的区别。

JRE(Java Runtime Environment,Java运行时环境),它相当于操作系统部分,提供了Java程序运行时所需要的基本条件与许多Java基础类,例如,IO类、GUI控件类、网络类等。

JAVA从入门到精通程序设计

JAVA从入门到精通程序设计

float型,32位,IEEE 754规范
double型:64位,IEEE 754规范
–字符型变量是16位Unicode字符类型,可以直接表示包括中文在内的各国文字 变量名
–变量名需要满足的条件:
变量名必须以字符开头;
必须是一串连续的Unicode字符,不能有空格,也不能有减号(否则会与减法相混淆);

Java语言的特点
–结构中立的(Architecture Neutral)
Java编译器产生一种结构中立的目标文件格式,可以在多种处理器和操作系统中执行,
而不用考虑不同机器的差异
–可移植的(Portable)
Java的简单数据类型是不随操作系统变化的。Java程序库所定义的接口也是对所有的操
–Java虚拟机(JVM)
–Java应用程序界面(Java API) Java平台的组成结构
–Java虚拟机:解释并运行Java二进制码
–Java API:由许多软件包组成,这些软件包可以实现很多功能,包括图形界面功能
Java平台的组成结构
Java 历史与概述
–最底层是硬件层,表示Java系统运行的硬件和操作系统;
–“&”运算符对操作数op1和op2的每一位进行“与”操作 –例:10 & 13,计算过程如下:
Java二进制码能被迅速转换成机器码,Java二进制码的执行效率正在逐渐逼近其它编译
语言的执行效率
Java语言的特点
–多线程(Multi Threaded)
Java语言具有多线程的功能,这对于交互式程序以及实时响应程序是很有帮助的
–动态的(Dynamic)
Java比C或C++语言更具有动态性,更能适应时刻在变的环境,Java不会因程序库的更
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

13
IBM Software Group
5:健壮 不必担心内存问题,自动垃圾回收机制,程序运行稳定。 6:解释执行 JAVA解释器能直接在任何机器上解释执行JAVA字节码,字节码 本身带有许多编译信息,使得连接过程更加简单。 7:对多线程的支持 JAVA具有多线程机制,这使得应用程序能够并行地执行。 8:无多重继承、以接口代之,结构清晰。
JDBC,JSP,Servlet,JavaBean,HTML,JavaScript,Session/ cookie,MVC设计模式,Tomcat,Eclipse+MyEclipse.
• Java企业级应用开发: Struts,Hibernate,XML,J2EE/EJB,UML,Spring,AJAX
从控制台输出信息}源自{和}一一对应, 缺一不可
27
IBM Software Group
常见错误5-1
代码错误 public class helloWorld { public static void main(String[ ] args) { //输出消息到控制台 System.out.println("你好!"); } } public修饰的类的名称必须与Java文件同名!
• 编写第一个Java程序:HelloWorld
– 在屏幕上打印一行“你好”
本章任务
4
IBM Software Group
本章目标
• • • • • 了解java语言的历史 了解Java的技术内容 理解java程序的工作原理 会开发简单Java程序 掌握编译运行Java程序和环境的配置
5
IBM Software Group
• 三步走
1、编写源程序
开发Java程序
2、编译源程序 3、运行
24
IBM Software Group
开发第一个Java程序
• 编写Java程序步骤: 1、手动创建Java源程序 2、编译Java源程序 3、运行程序
25
IBM Software Group
第一个Java程序
public class HelloWorld { public static void main(String[ ] args) { System.out.println("你好! "); } }
21
IBM Software Group
环境变量 path
• 1.首先,当我们执行一个命令时,它首先要在当前目 录下查找有无此命令; 如果没有,则会顺着path指出 的路径去寻找,并在第一个找到的地方停止寻找,开 始执行。 • 环境变量中的设置 对所有窗口都有效 注意要新开窗 口;
• 3.javac编译命令:javac HelloWorld.java • • 4.java运行命令:java HelloWorld
10
IBM Software Group
java语言简介
• 2004年,发布了java5.0,这是目前java最重要的一次版本升级 ,添加了如:泛型、安全枚举类型、程序注释等,大大简化了 Java的开发。(其初始版本为java1.5,在2004年的JavaOne会 议之后版本数字升为j2se5.0) • 2006年年底Java6.0发布,进一步提升了性能,加入了对各种 脚本语言嵌入式的支持特性。此后java版本中取消了2 更名为 java se java me java ee;
2
IBM Software Group
课程目标
学完本门课程后,你能够: • 运用Java编写命令行程序 • 会编译、运行、调试、维护Java程序 • 初步理解Java面向对象的编程思想 • 具有独立分析问题和解决问题的能力, 能够运用Java程序解决生活中遇到的问 题
3
IBM Software Group
什么是程序
• 程序一词来自生活,通常指完成某些事 务的一种既定方式和过程 • 在日常生活中,可以将程序看成对一系 列动作的执行过程的描述
6
IBM Software Group
生活中的程序
$ 银行
3、将存折或储蓄卡递给银行职员 并告知取款数额 4、输入密码 5、银行职员办理取款事宜
6、拿到钱并离开银行
22
IBM Software Group
• 1.系统变量——操作系统定义的变量( 供os 中所有的用户,所有的应用程序 使用) 2.用户环境变量——提供给对应的登陆 用户使用 3.用户环境变量中设置用于个人环境变 量,只有该用户身份登录时有效,而系 统变量的改变对所有用户有效
23
IBM Software Group
• bin :开发中需要用的工具,如编译程序javac、运行命令java 等 。 • demo :开发工具包自带的演示程序。 • db :使用嵌入式数据库Derby开发所需要的资源以及一些案例 。 • include :用于编译本地方法的C++头文件 • jre :Java运行时环境 • lib :开发工具包的类库文件 • sample :开发工具包自带的示例程序,可以参照学习 • src.zip :类库API源代码文件。这里包含了Java类库中公共部分 的源代码,是深入研究java内部机制的重要源代码。例如: 对 String类的内部工作机制感兴趣,就可以查看其中的 src/java/lang/String.java 文件。
16
IBM Software Group
核心机制之Java 虚拟机
JVM for UNIX
UNIX
编译 执行
JVM for Windows
*.java
*.class
Windows
JVM for Other
Other Platform
17
IBM Software Group
• Java虚拟机 • 在一台计算机上由软件或者硬件模拟的 计算机,jvm读取并处理经编译过的与 平台无关的字节码class文件
2、取号排队 1、带上存折/银行卡去银行
银行
7
IBM Software Group
计算机中的程序
1、做口述笔记…… System.out.println("口述"); 2、键入信函的内容…… System.out.println("信函"); 3、发送传真…… System.out.println("传真"); 1、口述 2、信函 3、传真
18
IBM Software Group
• The J2SE Development Kit (JDK) ,java开发工具包 。 • JDK有助于程序员开发Java 程序的 Java 开发工具包 包括:
– Java虚拟机:负责解析和执行Java程序。Java虚拟机可以 运行在各种操作系统平台上。 – JDK类库:提供了最基础的Java类以及各种实用类。 ng、java.io、java.util、java.awt、javax.swing和 java.sql包中的类都位于JDK类库中。 – 开发工具:这些开发工具都是可执行程序,主要包括: javac.exe(编译工具)、java.exe(运行工具)、 javadoc.exe(生成JavaDoc文档的工具)和jar.exe(打包 工具)等。
开发服务器应用程序和服务 用于大型 企业级的应用 ; 他除了具有标准版的全部功能外 还包括jsp servlet ejb jndi jms jdbc ;这里面我们把jsp servelt jstl 标记库 javabean 等称为java web编程技术
• Java ME(Java 2 Platform Micro Edition)精简版,J2ME是 移动商务最佳的应用典范用于开发手机和智能家电程序。
演示示例:如何创建一个Java程序
26
IBM Software Group
关键字高亮 显示
分析程序 类名与文件
名完全一样
main方法是Java程 序执行的入口点
public class HelloWorld {
public static void main(String[ ] args) { System.out.println("你好! "); main方法四要 } 素必不可少
要执行的一组指令
指令被逐条执行
老板 程序员
秘书 程序:为了让计算机执行某些操作或解决某个问题而编写 的一系列有序指令的集合
8
IBM Software Group
java语言简介
9
IBM Software Group
java语言简介
• Java语言发展简历
• .java起源于1991年,sun公司的一个名为green的项目 该项目 由James Gosling,Bill Joe等人负责 目的是开发嵌入家电的软 件系统 使电器更为智能化,开发了用于消费类电子产品上进行 交互操作的Oak语言,后更名为java。 • 1996年,sun公司发布java1.0,有严重的缺陷。后来发布 java1.1弥补大部分缺陷,为GUI编程增加了新的事件处理模型 ,但仍然有较大局限性 • 1998年,发布java1.2,承诺“一次开发,处处运行”。随之而 来的java1.3和java1.4扩展了标准类库,提高了系统性能,同时 Java语言添加了许多新特性。从java1.2开始java也被称为java2 ,1999年 sun公司将java2分为J2SE(java platform standard edition ),J2EE (java platform enterprise edition ) ,J2ME (java platform micro edition )三个版本 分别用于不同应用程序 的开发。
11
IBM Software Group
相关文档
最新文档