<4D F736F F D20B5DA33D5C2A1A2B1EACAB6B7FBA1A2B9D8BCFCD7D6D3EBCAFDBEDDC0E0D0CD>

Size: px
Start display at page:

Download "<4D F736F F D20B5DA33D5C2A1A2B1EACAB6B7FBA1A2B9D8BCFCD7D6D3EBCAFDBEDDC0E0D0CD>"

Transcription

1 3 Java javadoc Java Java Java Java 3.1 Java 在编写程序时, 为了说明某段代码的用途 某个方法的功能或者某个方法的参数, 输入 / 输出值等的含义, 需要在程序的关键部分加一些注释来说明 在各种编程语言中, 都提供了各自的用于放置到程序代码中的注释语句, 这些语句和程序语句混杂在一块, 因此, 需要一种特殊的机制让注释和代码不会在编译时发生冲突和混淆 比如, 在 VB 中, 用单引号 表示单行的注释等 而在 Java 中, 也同样提供了用于注释 和其他语言相比较, Java 提供的注释方式更灵活 更多样 更强大 在 Java 中, 提供了 3 种注释方式 : 短 ( 单行 ) 注释 块 ( 多行 ) 注释及文档注释 单行和多行注释很容易理解, 将注释符之间的内容当做注释, 在编译和运行时将这部分内容忽略 在 Java 中, 比较特殊的是 javadoc 注释, 包含在这部分中的注释可以通过 javadoc 命令来自动生成 API 文档 通过 javadoc 工具, 可以保证程序代码和技术文档的同步 在修改了程序中的注释后, 只需要通过 javadoc, 就可以方便地生成相应的技术文档 下面介绍单行注释和多行注释的方法 知识准备 :Java 注释使用规则 (1) 单行注释 : 单行注释就是在程序中注释一行代码 注释规则 : 在代码中单起一行注释, 注释前最好有一行空行, 并与其后的代码具有一样的缩进层级 如果单行无法完成, 则应采用块注释 注释格式 : // 注释内容 (2) 多行注释 : 一次将程序中的多行注释掉

2 注释规则 : 注释若干行, 通常用于提供文件 方法 数据结构等的意义与用途的说明, 或者算法的描述 一般位于一个文件或者一个方法的前面, 起到引导的作用, 也可以根据需要放在合适的位置 注释格式 : /* 注释内容 */ 来看一个单行注释和多行注释的例子 源文件 :MessageComment.java // 这是一个单行注释 /* 这是一个 多行注释 */ public class MessageComment { public static void main(string[] args) { System.out.println(" 发信息 "); // System.out.println(" 此条信息不会显示 "); 知识准备 : 利用 javadoc 来产生 API 文档 我们知道, 在软件开发过程中, 文档编写的重要性不亚于程序代码本身 如果代码与文档是分离的, 那么在每次修改代码时, 都需要修改相应的文档就会是一件很麻烦的事情 所以通过 javadoc 将代码同文档 连接 起来 在 Java 中, 还有一种特别的注释方式 : 文档注释 利用这种注释, 可以从 Java 源文件中提取这些注释的内容, 来产生 HTML 格式的 API 文档 文档注释的基本格式如下 : /** 文档注释内容 */ 注意把文档注释和多行注释区分清楚, 文档注释的开始标记是 /**, 而多行注释标记的开始标记是 /* 由于文档注释最重要的一个功能就是用它来生成 HTML 格式的 API 文档, 因此, 很多用于 HTML 格式化的 HTML 标记也可以用在文档注释中, 在从这些注释中提取注释生成 HTML 文件的时候, 在生成的 HTML 文件中, 将使用这些 HTML 标记来格式化 HTML 文件内容 常用的 HTML 标记有 <b> </b> <code> </code> 等 关于这些 HTML 标记及其他的 HTML 标记, 请读者参考相关的 HTML 资料 和多行注释不同的另一个地方是, 文档注释并不是可以放在 Java 代码的任何地方, javadoc 工具在从 Java 代码中提取注释生成 API 文档时, 主要从以下几项内容中提取信息 2

3 包 公有 (public) 类与接口 公有方法和受保护 (protected) 方法 公有属性和受保护属性 因此, 文档注释也应该放到相应的位置中 1. 文档注释位置 (1) 类注释 类注释用于说明整个类的功能 特性等, 它应该放在所有的 import 语句之后, 在 class 定义之前 这个规则也适用于接口 (interface) 注释 (2) 方法注释 方法注释用来说明方法的定义, 比如, 方法的参数 返回值及说明方法的作用等 方法注释应该放在它所描述的方法定义前面 (3) 属性注释 默认情况下,javadoc 只对公有 (public) 属性和受保护属性 (protected) 产生文档 通常是静态常量 () 包注释 类 方法 属性的注释都直接放到 Java 的源文件中, 而对于包的注释, 无法放到 Java 文件中去, 只能通过在包对应的目录中添加一个 package.html 的文件来达到这个目的 当生成 HTML 文件时,package.html 文件的 <BODY> 和 </BODY> 部分的内容将会被提取出来当做包的说明 关于包注释, 后面还会有更进一步的解释 (5) 概要注释 除了包注释外, 还有一种类型的文档无法从 Java 源文件中提取, 就是对所有类文件提供概要说明的文件 同样的, 也可以为这类注释单独新建一个 HTML 文件, 这个文件的名字为 overview.html, 它的 <BODY> 和 </BODY> 标记之间的内容都会被提取 2.javadoc 标记在 javadoc 注释中, 来表示一个 javadoc 标记, 常用的 javadoc 标记如下 抛出的异常, 和 exception 同义 需要注意这些标记的使用是有位置限制的 @version 等 @exception 等 可以出现在属性文档注释中的有 等 3

4 3.javadoc 命令语法 javadoc 的命令行语法如下 : javadoc [ options ] [ packagenames ] [ sourcefiles ] ] 参数可以按照任意顺序排列 下面对这些参数作一些说明 (1)packagenames 包列表 : 这个选项可以是一系列的包名 ( 用空格隔开 ), 例如, java.lang java.lang.reflect java.awt 因为 javadoc 不递归作用于子包, 不允许对包名使用通配符 ; 所以必须显式地列出希望建立文档的每一个包 (2)sourcefiles 源文件列表 这个选项可以是一系列的源文件名 ( 用空格隔开 ), 可以使用通配符 javadoc 允许 种源文件 : 类源代码文件 包描述文件 总体概述文件 其他杂文件 /** 类源代码文件 : 类或者接口的源代码文件 包描述文件 : 每一个包都可以有自己的包描述文件 包描述文件的名称必须是 package.html, 与包的.java 文件放置在一起 包描述文件的内容通常是使用 HTML 标记写的文档 javadoc 执行时将自动寻找包描述文件 如果找到,javadoc 将首先对描述文件中 <body></body> 之间的内容进行处理, 然后把处理结果放到该包的 Package Summary 页面中, 最后把包描述文件的第一句 ( 紧靠 <body>) 放到输出的 Overview Summary 页面中, 并在语句前面加上该包的包名 总体概述文件 :javadoc 可以创建一个总体概述文件描述整个应用或者所有包 总体概述文件可以被任意命名, 也可以放置到任意位置 -overview 选项可以指示总体概述文件的路径和名称 总体概述文件的内容是使用 HTML 标记写的文档 javadoc 在执行的时候, 如果发现 -overview 选项, 那么它将首先对文件中 <body></body> 之间的内容进行处理 ; 然后把处理后的结果放到输出的 Overview Summary 页面的底部 ; 最后把总体概述文件中的第一句放到输出的 Overview Summary 页面的顶部 其他杂文件 : 这些文件通常是指与 javadoc 输出的 HTML 文件相关的一些图片文件 Java 源代码文件 (.java) Java 程序 (.class) Java 小程序 (Applets) HTML 文件 这些文件必须放在 doc-files 目录中 每一个包都可以有自己的 doc-files 目录 例如, 你希望在 java.awt.button 的 HTML 文档中使用一幅按钮的图片 (Button.gif) 首先, 必须把图片文件放到 java\awt\doc-files\ 中 ; 然后在 Button.java 文件中加入以下注释 : * This button looks like this: * <img src="doc-files/button.gif"> */ files 包含文件 为了简化 javadoc 命令, 可以把需要建立文档的文件名和包名放在一个或多个文本文件中 例如, 为了简化以下命令 : javadoc -d apidoc com.oristand.college com.oristand.school 可以建立一个名称为 mypackage.txt 的文件, 其内容如下 :

5 com.oristand.college com.oristand.school 然后执行以下命令即可 : javadoc -d options 命令行选项 1 public 只显示公共类及成员 2 protected 只显示受保护的和公共的类及成员 默认选项 3 package 只显示包 受保护的和公共的类及成员 private 显示所有类和成员 -classpath classpathlist 指定 javadoc 查找 引用类 的路径 引用类是指带文档的类加上它们引用的任何类 javadoc 将搜索指定路径的所有子目录,classpathlist 可以包含多个路径 ( 使用 ; 隔开 ) 一切就绪后, 就可以使用 JDK 中的 javadoc 工具来生成相关的 API 文档了 任务一 : 使用 javadoc 注释, 生成 API 文档 1. 任务描述 写一段代码, 加入 javadoc 注释, 并使用 javadoc 工具生成相关 API 文档 2. 技能要点 (1) 添加 javadoc 注释 (2) 使用 javadoc 命令生成 API 文档 3. 任务实现过程 (1) 编写一个 JavaDoc 类, 声明变量, 并加入 javadoc 注释 源文件 :JavaDoc.java /** * javadoc 演示程序 --<b>javadoc</b> * Alex Wen /12/15 */ public class JavaDoc { /** * 在 main() 方法中使用的显示用字符串 * #main(java.lang.string[]) */ static String SDisplay; static String 变量 ; /** 5

6 * 显示 JavaDoc * args * 从命令行中输入字符串 */ public static void main(string args[]) { SDisplay = "Hello World "; 变量 = "test"; System.out.println(SDisplay + 变量 ); (2) 用如下的 javadoc 命令来生成 API 文档 : javadoc -private -d doc -author -version JavaDoc.java 在控制台上将会列出正在生成的文件 从图 3-1 中可以看出生成了哪些文件 图 3-1 生成的 API 文档 (3) 打开 index.html 文件 ( 图 3-2 显示为打开的结果 ), 因为没有包, 所以, 没有包列表文件 图 3-2 javadoc 生成的 index.html 显示结果 6

7 3.2 在 Java 中, 有一类特殊的符号称为分隔符, 包括空白分隔符和普通分隔符 知识准备 : 空白分隔符 空白分隔符包括 : 空格 回车 换行和制表符 Tab 键 空白分隔符的主要作用是分隔标识符, 帮助 Java 编译器理解源程序 例如 : int a; 若标识符 int 和 a 之间没有空格, 即 inta, 则编译程序会认为这是用户定义的标识符, 但实际上该语句的作用是定义变量 a 为整型变量 另外, 在代码的编排时, 适当的空格和缩进可以增强代码的可读性 看看下面 HelloAndroid.java 这段代码 public class HelloAndroid{ public static void main(string args[]){ System.out.println("Hello Android!"); 在这个程序中, 用到了大量的用于缩排的空格 ( 主要是制表符和回车 ), 如果不使用缩排空格, 这个程序可能会是如下的模样 public class HelloAndroid{ public static void main(string args[]){ System.out.println("Hello Android!"); 相比较上一个程序, 这个程序没有使用制表符来做缩排, 显然在层次感上差了很多, 甚至, 还可能是如下情况 public class HelloAndroid{public static void main(string args[]){system.out.println("hello Android!"); 这个程序可读性更差了 : 所有的语句都写在同一行上 在语法上, 这个程序是正确的, 但是, 在可读性上, 没有比这更差的了 因此, 在写程序的时候, 一定要灵活地使用空格来分隔语句或者做格式上的缩排等 但是, 也要小心不要滥用它, 所以使用空白分隔符要遵守以下规则 : 任意两个相邻的标识符之间至少有一个分隔符, 以便编译程序能够识别 ; 变量名方法名等标识符不能包含空白分隔符 空白分隔符的多少没有什么含义, 一个空白符和多个空白符的作用相同, 都是用来实现分割功能的 空白分隔符不能用非普通分隔符替换 7

8 3.2.2 知识准备 : 普通分隔符 普通分隔符具有确定的语法含义, 有如下 7 种普通分隔符, 如表 3-1 所示 表 3-1 分隔符功能说明表 分隔符名称功能说明 { [ ] ( ) 大括号 ( 花括号 ) 中括号 ( 方括号 ) 小括号 ( 圆括号 ) 用来定义块 类 方法及局部范围, 也用来包括自己初始化的数组的值 大括号必须成对出现用来进行数组的声明, 也用来撤销对数组值的引用在定义和调用方法时, 用来容纳参数表 在控制语句或强制类型转换的表达式中用来表示执行或计算的优先权 ; 分号, 逗号 用来表示一条语句的结束 语句必须以分号结束, 否则即使一条语句跨行或者多行, 仍是未结束的在变量生命中用于分隔变量表中的各个变量, 在 for 控制语句中, 用来将圆括号里的语句链接起来 : 冒号说明语句标号. 圆 点 用于类 / 对象和它的属性或者方法之间的分隔 例如, 圆点. 就起到了分隔类 / 对象和它的方法或者属性的作用 知识准备 :Java 语言标识符的组成规则 在 Java 中, 标识符是赋予变量 类或方法的名称 程序通过这些名称来访问或修改某个数据的值 标识符可从一个字母 下画线 (_) 或美元符号 ($) 开始, 随后也可跟数字 在这里, 字母的范围并不局限于 26 个英文字母, 而是包括任何一门语言中的表示字母的任何 Unicode 字符 标识符未规定最大长度 在定义和使用标识符时需要注意,Java 语言是大小写敏感的 比如, abc 和 Abc 是两个不同的标识符 在定义标识符的时候, 需要注意以下问题 : (1) 标识符不能有空格 (2) 标识符不能以数字开头 (3) 标识符不能是 Java 关键字 () # 等符号 问 : 答 : Java 8

9 3.2. 任务二 : 综合使用 Java 分隔符和标识符 1. 任务描述 编写程序, 输出手机开机问候语, 体会 Java 分隔符的作用和标识符的使用规范 2. 技能要点 了解各类分隔符的功能 掌握标识符命名规范 3. 任务实现过程 (1) 编写一个类名为 OpenGreetings, 类中定义了一个方法 thedate(), 用于打印日期和开机问候语 在 main() 方法中调用 thedate 方法, 并传入当天的日期作为参数 (2) 声明并初始化日期变量时, 注意标识符的命名规则, 开头, 数字开头或者关键字时会报错 源文件 :OpenGreetings.java public class OpenGreetings { public static void main(string[] args) { int day = 20, month = 5, year = 2011; // 以下 3 种命名标识符不合法 int 12abc; int private; OpenGreetings og = new OpenGreetings(); og.thedate(day, month, year); public void thedate(int theday,int themonth,int theyear){ String greetings = "Welcome To Android World~!"; System.out.println("Today is "+theyear+"/"+themonth+"/"+theday+"\n"+greetings); (3) 运行程序, 运行结果如下 : Today is 2011/5/20 Welcome To Android World~! 3.3 Java / 知识准备 :Java 关键字使用规范 Java 中一些赋以特定的含义 并用做专门用途的单词称为关键字 (keyword) 在定义自己的标识符的时候, 不要和这些关键字重名, 否则, 在编译时将会出现错误 比如, 下面的变量定义就是错误的 : 9

10 int byte; 在这个例子中, 试图定义一个 int 类型的变量 byte, 但是因为 byte 是关键字, 所以不能用来作为变量名 所有 Java 关键字都是小写的,TURE FALSE NULL 等都不是 Java 关键字,goto 和 const 虽然从未被使用, 但也作为 Java 关键字保留 Java 中一共有 51 个关键字, 如表 3-2 所示 表 3-2 Java 关键字 abstract assert boolean break byte continue case catch char class const double default do extends else final float for goto long if implements import native new null instanceof int interface package private protected public return short static strictfp super switch synchronized this while void throw throws transient try volatile 知识准备 : 重点关键字解析 abstract:java 中的一个重要关键字, 可以用来修饰一个类或者一个方法为抽象类或者抽象方法 extends: 表示继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法 super:super 关键字表示超 ( 父 ) 类的意思 this: 代表对象本身 interface: 声明一个接口 implements: 实现接口关键字 private: 访问控制修饰符, 声明类的方法, 字段, 内部类只在类的内部可访问 protected: 访问控制修饰符, 声明类成员的访问范围是 package 包内可访问 public: 访问控制修饰符, 声明类成员对任何类可见 static: 表示应用它的实体在声明该实体的类的任何特定实例外部可用 final: 用来修饰类或方法, 表示不可扩展或重写 10

11 知识准备 : 简单类型 Java 有 8 种简单类型 : 四种整型 两种浮点型 一种字符型 一种用于表示 true/false 的布尔类型 表 3-3 列出了这 8 种简单数据类型 表 3-3 简单数据类型 数据类型数据类型名称大小 (bits) 默认值 boolean 布尔类型 1 false char 字符型 16 0 byte 字节型 8 0 short 短整型 16 0 int 整型 32 0 long 长整型 6 0 float 单精度浮点型 double 双精度浮点型 在这些数据类型中,int short byte long 都是整型数据, 而 double 和 float 是浮点型数据 char 也可以看成是整型数据, 但它是无符号的 ( 没有负数 ) 1. 布尔类型 与 C 语言不同,Java 定义了专门的布尔类型, 用于表示逻辑上的 真 或 假 布尔类型用关键字 boolean 来定义, 数据只能取值 true 或 false, 注意不能用整型的 0 或 1 来替代 布尔类型不是数值型变量, 它不能被转化成任意一种类型 布尔类型常常用在条件判断语句中 boolean sendmsg = true; boolean recievemsg = false; 注意 : true false String 2. 字符类型字符 (Char) 类型数据用来表示通常意义上的 字符 字符常量是用单引号括起来的单个字符 Java 与众不同的特征之一就是 Java 对各种字符的支持, 这是因为 Java 中的字符采用 16 位的 Unicode 编码格式,Unicode 被设计用来表示世界上所有书面语言的字符 Char 简 11

12 单类型保存一个 16 位的 Unicode 字符 Unicode 字符通常用十六进制编码形式表示, 范围是 \u0000 ~ \Uffff, 其中前缀 \u 标志着这是一个 Unicode 编码字符, 其中前 256 个 ( \u0000 ~ \u00ff ) 字符与 ASCII 码中的字符完全重合 下面来看一个字符型数据的应用实例 : 源文件 :CharTest.java public class CharTest { public static void main(string args[]) { char Msg1 = 'M'; char Msg2 = ' 中 '; char Msg3 = '5'; char Msg = '\u0001'; System.out.println(Msg1); System.out.println(Msg2); System.out.println(Msg3); System.out.println(Msg); char 型数据只能记录单个的字符值, 不能表述更多的文字信息,Java 语言还提供了 String 类型 记录由多个字符组成的字符串 String 常量的表达形式为双引号引起来的 0~ 多个字符, 例如 : String s = "Java 小能手 "; System.out.println("Hello,Android!"); 注意 : String char 类型的数据用单引号表示, 注意它和 String 类型数据的区别, 例如, A 表示的是一个 char 类型的数据, 而 A 表示的是一个 String 类型的数据, 它们的含义是不同的 Java 语言中还允许使用转义字符 \ 来将其后的字符转变为其他的含义, 例如, 如果需要在输出结果时换行, 应给编译器换行指令 n, 但是如果直接在程序中写 System.out.println("n"); 则不会起到换行的效果 此时, 需要在 n 之前输入 \, 这时编译器会知道 n 是被转义的字符 还有一种特殊情况, 在 Java 中使用一个绝对路径 :c:\learning\java, 如果直接在程序中写 String path = c:\learning\java, 则不会得到你期望的结果, 因为 Java 将 \ 当成转义符了 所以, 这时候应该这样写 : String path = "c:\\learning\\java"; 这时, 第一和第三个 \ 都是表示转义符, 表示后面的那个字符 ( 此处都为 \ ) 有特殊的含义 12

13 3. 整数类型 整数类型分为 类 :byte short int 及 long, 它们的差别在于所占用的内存空间和表数范围不同 表 3- 列出了这 种整数类型数据的存储空间及表数范围 表 3- 整数类型的存储空间和表数范围 类型占用存储空间表数范围 byte 1 字节 -128 ~ 127 short 2 字节 ~ (-32768~32767) int 字节 ~ ( ~ ) long 8 字节 ~ 通常情况下,int 是最常用的一种整型数据, 它也是 Java 中整数常量的默认类型 在表示非常巨大的数字时, 则需要用到更大范围的 long 对于前面 3 种整数数据类型的数据, 只需要直接写出数据就可以了, 而对于长整形 (long) 数据, 需要在长整型数据后面加上 L 或 l 来表示 整型常量虽然默认为 int 类型, 但在不超过其表数范围的情况下, 可以将 int 类型的数据直接赋给 char byte short 类型的变量 下面是这些整形数据类型的一些例子 : byte b = 12; short s = 1235; int i = ; long l = L; Java 中允许使用 3 种不同的进制形式表示整型变量 : 八进制 十进制 十六进制 (1) 十进制整数, 如 (2) 八进制整数, 以 0 开头, 如 0123 表示十进制数 83,-011 表示十进制数 -9 (3) 十六进制整数, 以 0x 或 0X 开头, 如 0x123 表示十进制数 291,-0X12 表示十进制数 -18. 浮点类型 Java 浮点类型有两种 :float 和 double Java 浮点类型有固定的表数范围和字段长度 和整数类型一样, 在 Java 中, 浮点类型的字段长度和表数范围与机器无关 表 3-5 列出了符点类型数据的存储空间和表数范围 表 3-5 符点类型数据的存储空间和表数范围 类型占用存储空间表数范围 float 字节 -3.03E38~3.03E38 double 8 字节 E308~1.798E308 13

14 double 类型的浮点类型数据正如它的名字所揭示的, 它表示精度是 float 的两倍 ( 因此也将 double 类型的数据称为双精度类型的数据 ) 表示 float 类型的数据需要在数字后面加上 F, 用于和 double 类型数据相区别 Java 语言浮点类型常量有两种表示形式 : 十进制数形式, 必须含有小数点, 例如 否则将被当做 int 型常量处理, 例如 31 科学计数法形式, 如 3.1e2 3.1E2 31E2 注意, 只有浮点类型才能采用科学计数法表示, 因此,31E2 也是浮点型常量, 而不是 int 型 Java 语言的浮点型常量默认为 double 型, 要声明一个常量为 float 型, 则要在它数字的后面加 f 或 F 例如: 3.0 表示一个 double 型常量, 占 6 位内存空间 3.0f 表示一个 float 型常量, 占 32 位内存空间 3..2 知识准备 : 非 boolean 简单数据类型之间的转换 在 Java 程序中, 一些不同的数据类型之间可以进行数据类型的相互转换 简单数据类型的转换一般分为两种 : (1) 低级到高级的自动转换 (2) 高级到低级的强制类型转换 二者的区别主要在于数据类型的表述范围是不同的 比如, 有一个 int 类型的数据, 赋给一个 long 类型的变量, 或者反之 这就类似于将水 ( 数据 ) 从一个容器 ( 某种数据类型 ) 倒入到另一个容器 ( 另一种数据类型 ) 一样, 因为容器的大小不同, 能够装盛的水也是不同的 如果将从小容器中的水倒入到大容器中, 不会有什么问题, 但是, 如果将大容器中的水倒入到小容器中, 就可能会造成部分水溢出 同样的, 在数据类型转换上面, 也有类似的问题, 如果将表数范围比较小的数据类型数据转换成表数范围大的数据类型, 则可以顺利转换 ; 反之, 则有可能发生数据的溢出 ( 损失一部分信息 ) 在图 3-3 所示的数据类型的转换中, 实线条表示这种转换不会引起信息的损失, 而虚线条表示此种转换可能会引起信息的损失 图 3-3 不同数据类型之间的合法数据转换如果数据的转换按照图 3-3 中箭头所示的方式来完成, 则程序会自动转换, 不需要在程序中干预, 这种转换是低级到高级的自动转换, 也成为 扩展转换 (Widening Conversion) 但是, 如果不按照图中的方向来转换, 则可以通过 强制类型转换 的方式来完成, 此时, 可能会引起信息的丢失 当按照图 3-3 中箭头所示的反方向来转换时, 非常有可能造成数据精度的损失, 这种转换也经常称为 缩小转换 (Narrowing Conversion) 1

15 例如,int 类型的数据在必要时可以自动转换成 double 的数据, 但是, 如果需要将 double 类型的数据转换成 int 类型的数据, 则需要通过强制类型转换来完成 下面这条语句可以实现这个功能 : double d = 1.235; int i = (int)d; 这样, 就可以将 double 类型的数据 d 转换成 int 类型的数据, 此时,i 的值为 1, 显然, 小数后面的值都丢失了 3..3 任务三 : 简单数据类型转换实例 1. 任务描述 编写程序验证低级到高级的自动转换和高级到低级的强制类型转换 2. 技能要点 理解类型转换的原理 掌握强制类型转换的方法和用途 3. 任务实现过程 (1) 编写源文件 :DataOper.java, 使 int 类型变量自动转化为 double 类型变量,double 类型变量强制转化为 int 类型变量 源文件 :DataOper.java public class DataOper { public static void main(string[] args) { // int 类型数据将会自动转换成 double 类型 double db1; int i = 123; db1 = i; System.out.println("db1=" + db1); // double 类型数据转换成 int 时, 将会损失精度 double db2 = 1.23; int j = (int) db2; System.out.println("j=" + j); (2) 编译并运行这个程序, 可以得到如下的输出 : Db1=123.0 j=1 int 类型的数据已经自动转换成了 double 类型的数据, 而 double 类型数据在强制转换成 int 类型数据的时候, 小数点后面的值已经损失了 15

16 3.. 知识准备 : 引用类型 Java 语言中除了 8 种基本数据类型以外的数据类型称为引用类型, 或复合数据类型 如第 2 章中所述, 引用类型的数据都是以某个类的对象的形式存在的, 在程序中声明的引用类型变量只是为该对象起的一个名字, 或者说是对该对象的引用, 变量的值是对象在内存空间中的存储地址而不是对象本身 Java 中的所有对象都要通过对象引用访问, 引用类型数据以对象的形式存在, 其构造和初始化及赋值的机制都与基本数据类型的变量有所不同 声明基本数据类型的变量时, 系统同时为该变量分配存储器空间, 此空间将直接保存基本数据类型的值 而声明引用类型变量时, 系统只为该变量分配引用空间, 并未创建一个具体的对象或者说并没有为对象分配存储器空间, 将来在创建一个该引用类型的对象后, 再使变量和对象建立对应关系 这就好比用遥控器 ( 引用 ) 操纵电视机 ( 对象 ), 只要控制遥控器就可以保持与电视机的连接 如果需要换台, 实际上操控的是遥控器 ( 引用 ), 再用遥控器操作电视机 ( 对象 ) 此外, 即使没有电视机, 遥控器也可以独立存在 也就是说, 你拥有一个引用, 并不是一定需要有一个对象与它关联 因此, 如果想操纵一个词, 可以创建一个 String 引用 : String s; 这里所创建的只是引用, 并不是对象 如果此时向 s 发送一个消息, 就会返回一个运行时的错误, 因此, 一种比较安全的做法是创建引用的同时就进行初始化 String s = "Hello android"; 在这里用到了 Java 语言的一个特性 : 字符串可以用带引号的文本初始化 通常, 对其他对象需要一种更通用的初始化方法 参看任务四的引用过程 3..5 任务四 : 引用类型程序示例 1. 任务描述 编写程序定义引用类型变量, 了解引用类型的使用方法和特点 2. 技能要点 声明引用类型 了解引用类型和普通类型在使用上的区别 3. 任务实现过程 (1) 构造有引用类型成员变量的类 , 在这个类中, 定义了 3 个属性 :address title group, 以及一个具有 3 个参数的构造器, 用于在创建对象时初始化 3 个属性 通过定义这个类, 也就定义了一个引用类型的数据类型 : 源文件 : .java public class { // 定义属性 16

17 String address; String title; int group; // 定义一个构造器 public Student(String _address, String _title, int _group) { address = _address; title = _title; group = _group; // 定义属性 address 的设置方法 public void setaddress (String _address) { address = _address; // 定义属性 title 的获取方法 public String gettitle() { return title; // 其他属性的设置和读取方法从略 (2) 再定义一个 Test .java 类, 用于说明引用类型的用法 源文件 :Test .java public class Test { public static void main(string[] args) { e1; e1 = new ("Android@gmail.com", "capter 3", 2); System.out.println(" 第一封邮件地址是 :" + e1.getaddress()); e2; e2 = e1; e1.setaddress("java@gmail.com"); System.out.println(" 第二封邮件地址是 :" + e2.getaddress()); 执行上面的 Test 应用程序, 可以在控制台上得到如下的输出结果 : 第一封邮件地址是 :Android@gmail.com 第二封邮件地址是 :Java@gmail.com 3..6 技能拓展任务 : 分析对象的构造和初始化 1. 任务描述 分析任务四的代码, 了解对象的构造和初始化的原理和过程 17

18 2. 技能要点 理解引用类型变量的初始化过程和内存分配过程 3. 任务实现过程 分析一下 Test .java 中的代码段 : e1; e1 = new ("Android@gmail.com", "capter 3", 2); System.out.println(" 第一封邮件地址是 :" + e1.getaddress()); e2; e2 = e1; e1.setaddress("java@gmail.com"); System.out.println(" 第二封邮件地址是 :" + e2.getaddress()); 这个代码段的作用是建立并初始化了两个 引用类型数据, 以对象 e1 为例讲解引用类型数据的初始化过程 ( 对象的初始化过程 ) (1) 执行语句 e1; 时, 系统为引用类型变量 e1 分配引用空间 ( 定长 32 位 ), 此时只是定义了变量 e1, 还未进行初始化等工作, 因此还不能调用 类中定义的方法, 如图 3- 所示为此时内存的分配情况 (2) 执行语句 e1 = new ("Android@gmail.com", "capter 3", 2);, 先调用构造方法创建一个 类的对象 新对象分配的内存空间用来存储该对象所有属性 (address, title,group) 的值, 并对各属性的值进行默认的初始化 ( 关于默认初始化请参考 3.5 节内容 ) 注意, 在这个程序中, 因为 address 和 title 的类型是 String 类型, 也是属于引用类型, 所以它们的默认初始值也为 null, 图 3-5 为此时内存中的情况 图 3- 步骤 (1) 执行后的内存情况 图 3-5 步骤 (2) 执行后的内存情况 (3) 接下来执行 类的构造方法, 继续此新对象的初始化工作, 构造方法中又要求对新构造的对象的成员变量进行赋值, 因此, 此时 address title group 的值变成了 "Android@gmail.com" "capter 3" 和 2, 图 3-6 所示为此时的内存情况 图 3-6 步骤 (3) 执行后的内存情况 () 至此, 一个 类的新的对象的构造和初始化构成已完成 最后再执行 e1 = new ("Android@gmail.com", "capter 3", 2) 中的 = 号赋值操作, 将新创建对象存储空间的首地址赋值给 类型变量 e1, 如图 3-7 所示为此时的内存情况 18

19 图 3-7 执行步骤 () 的内存情况于是引用类型变量 e1 和一个具体的对象建立了联系, 称 s1 是对该对象的一个引用 最后, 总结一下对象的构造及初始化程序的步骤 : (1) 分配内存空间 (2) 进行属性的默认初始化 (3) 进行属性的显式初始化 () 执行构造方法 (5) 为引用型变量赋值 3.5 在编写程序时, 通常需要使用一个 别名 来表示某种类型的可变值, 这就是 变量 在前面的程序中已经在很多地方用到了 变量 比如, 任务四中, 就定义了变量 address title 等 知识准备 : 局部变量 大多数过程语言都有作用域的概念, 作用域决定了在其内的变量名的可见性和生命周期 Java 允许变量在任何程序块内被声明 变量的作用域在指定的局部程序块 ( 可以是方法体 程序段等 ), 这种类型的变量通常被称为 局部变量 要注意的是, 变量在其作用域内被创建, 离开其作用域时被撤销 因此, 一个变量的生存期就被限定在它的作用域中, 超出了作用域局部变量无效 1. 在程序块中声明局部变量 所谓程序块, 就是用 { 和 包含起来的代码块 它是一个单独的模块, 和方法有点类似, 但不能像方法一样可以用方法名来调用 在这个程序块中的变量也是局部变量, 即使这个程序体处于类的定义中 如下程序段 : public class Clock{ int getup = 6; { int gobed = 11; public void printit() { 19

20 System.out.println(getUp); System.out.println(goBed);// 出错, 因为 gobed 是局部变量, 不能用于变量所在程序块范围之外 其中的变量 gobed 就是局部变量, 它只在自己所处的代码块中起作用 在 Java 中, 所有的变量必须先声明再使用 基本的变量声明方法如下 : <data_type> var_name [=var_value] 其中 data_type 是变量类型, 它可以是基本类型之一, 或类及接口类型的名字 变量类型后面, 跟着此变量的名称, 它的名称必须是一个符合 Java 命名规范的标识符 然后, 可以给这个变量赋一个值, 注意, 这个值的数据类型必须和变量的数据类型一致 ( 或者兼容 ) 下面是变量声明的几个例子 : int i; double d1 = 123.; double d2 = 123; 声明同一类型的多个变量时, 使用逗号将各变量分隔开 : int i,j,k; int a=1,b,c=100; 2. 在方法体中声明局部变量 此时, 此变量的作用范围只局限于此方法体内 示例如下 : public class ClockTest{ static int getup = 6; { int gobed = 11; public void alarm() { int al = 20; public void close() { System.out.println(al);// 出错,al 的作用范围只局限于方法 alarm 中 因为变量 al 是定义在方法 alarm 中的, 所以它的作用范围只局限在方法 alarm 中 在方法 close 中试图使用这个变量, 在编译的时候将会报错 局部变量在方法或代码块执行时创建, 方法或代码块执行结束时销毁 局部变量在使用前必须初始化 知识准备 : 成员变量 不在方法体也不在程序块中的变量, 称为成员变量 成员变量定义在类中, 是类成员的一部分, 整个类都可以访问它 只要类的对象被引用, 成员变量就将存在 Java 中成员变量说明的形式如下 : 20

21 [ 修饰符 ] 成员变量类型成员变量名列表 ; 成员变量的修饰符有以下几种 : 默认访问修饰符 public protected private final 和 static 等 默认访问修饰符的成员变量可以被同一包 (Package) 中的任何类访问 下面是成员变量的一个例子 : 源文件 :Contact.java public class Contact{ public static void main(string args[]) { // 实例化 SendMsg 后可以访问具有访问权限的成员变量 SendMsg send = new SendMsg(); System.out.println(send.word); class SendMsg { int word = 12;// 成员变量 public int getword() { return word; 在这个例子中, 定义了一个类 SendMsg, 在这个类里面定义了一个 int 类型的成员变量 : word, 在用于测试的类 Contact 中, 首先实例化这个类, 然后再通过 实例名. 变量名 的方式来访问它 知识准备 : 变量初始化 所有的局部变量在使用之前, 都必须初始化, 也就是说, 必须要有值 在初始化变量时, 应该把变量名写在左边, 随后是赋值操作符 =, 然后再在右边加上一个恰当的 Java 表达式或值 变量的初始化有两种方法 : 一种是在声明变量的时候同时给它赋一个值 : int i = ; 还有一种是, 先声明变量, 然后再在适当的时机给它赋值 : int k; k = 10; 3.5. 知识准备 : 局部变量的初始化 局部变量也可以像成员变量一样, 先声明, 再初始化 ; 或者在声明的同时, 就对其进行初始化 也可以一次声明几个同一数据类型的变量 但是, 系统不会对局部变量进行默认的初始化, 因此, 局部变量在使用之前, 必须对其进行显式初始化 下面的代码中, 因为 n 没有初始化, 所以, 这个时候如果对它进行操作, 将会报错 : public class Test{ 21

22 public void amethod(int j){ int m,n,k; m = j; k = 100; System.out.println(m); System.out.println(n);//Error System.out.println(k); 注意, 在这个程序中的变量 m, 它根据方法的传入参数 j 来初始化, 所以这个时候在方法体中是可以对其进行任何和其数据类型相匹配的操作了 知识准备 : 成员变量的初始化 变量在使用之前, 必须首先对它进行初始化 首先来看一下成员变量的几种初始化方式 : 成员变量的初始化可以在声明时初始化, 那么创建一个新对象时, 此成员变量的值固定不变 成员变量在类的构造方法或其他方法中动态的初始化 成员变量的默认初始化值 默认初始化是 Java 成员变量的特性, 可以不需要手动地显式初始化成员变量 因为系统在创建一个新的对象的时候, 会给这些成员变量赋一个初值 在这里需要注意的是, 对于引用变量, 它的默认初值是 null 而非相应的引用类型对象, 也就是说, 它并不指向任何对象的首地址 特别是不能通过该引用类型变量去调用任何方法或属性, 否则, 将会出现错误 虽然成员变量可以不用显式初始化即可使用, 但是, 系统给不同数据类型的成员变量初始化时, 它的初始化的值是不同的, 比如,int 类型的初始化值是 0,boolean 类型的初始化值是 false 这与 3. 节中给出的基本类型默认初始值相同 注意 : 任务五 : 成员变量的 3 种初始化方式 1. 任务描述编写一个类, 有 3 个成员变量, 分别用上述 3 种方式进行初始化, 打印它们的值, 查看初始化效果, 并验证 Java 实行了成员变量的默认初始化 2. 技能要点 掌握 3 种初始化方式 22

23 了解 3 种初始化方式的区别和应用场合 3. 任务实现过程 (1) 编写一个名为 Initialize 的类, 该类中声明 3 个 int 类型变量 :a b c 对 a 进行声明时的初始化, 确定 a 的值 ; 对 b 在构造方法中进行动态初始化 ; 对 c 不进行初始化 (2) 在 main() 方法声明并初始化一个 Initialize 对象, 打印其成员变量 a b c 的值 源文件 :Initialize.java public class Initialize { int a = 10;// 成员变量 a 在声明时初始化 int b; int c; public Initialize(int i){ this.b = i;// 构造方法中初始化成员变量 b public static void main(string[] args) { Initialize init = new Initialize(20); System.out.println(" 声明时初始化变量 a="+init.a+ "\n 构造方法初始化变量 b="+init.b+"\n 变量默认初始化 c="+init.c); (3) 运行程序, 输出结果如下 : 声明时初始化变量 a=10 构造方法初始化变量 b=20 变量默认初始化 c= 知识准备 :Java 中的值传递 在程序中, 经常需要将一个变量的值赋给另一个变量, 赋值后, 两个变量的值相同, 那么, 在 Java 中, 它的实现机制是怎样的呢? 首先来看一个例子 : 源文件 :CallByValuePri.java /** * <DL> * <DT><b> 功能 :</b> * <DD> 简单类型数据传值调用演示 </DD> * </DL> */ public class CallByValuePri { void half(int n) { n = n / 2; 23

24 System.out.println("half 方法 n=" + n); public static void main(string args[]) { CallByValuePri cb = new CallByValuePri(); int m = 10; System.out.println("Before the Invocation,m=" + m); cb.half(m); System.out.println("After the Invocation,m=" + m); 编译并用如下程序执行这个程序 : java CallByValue 可以得到如下的输出 : Before the Invocation,m=10 half 方法 n=5 After the Invocation,m=10 可以看到, 在调用方法的前后,m 的值不变 因为在 Java 中, 传递的是值, 这样, 只是将 m 的值传递给了方法 half(), 而 m 本身的值并没有发生改变 按值传递的重要特点 : 传递的是复制的值, 也就是说, 传递后就互不相关了 知识准备 :Java 中的引用传递 引用传递指的是在方法调用时, 传递的参数是按引用进行传递, 其实传递引用的地址也就是变量所对应的内存空间的地址 示例如下 : 源文件 :PassByReference.java public class PassByReference { private void printnumber(addressbook a){ a.number = 20; System.out.println("printNumber 方法中的 numner="+a.number); public static void main(string[] args) { PassByReference p = new PassByReference(); AddressBook a = new AddressBook(); a.number = 10; System.out.println(" 执行 printnumber 方法前 main 方法中的 numner="+a.number); p.printnumber(a); System.out.println(" 执行 printnumber 方法后 main 方法中的 numner="+a.number); class AddressBook{ // 电话簿中联系人数量 public int number; 2

25 运行结果如下 : 执行 printnumber 方法前 main 方法中的 numner=10 printnumber 方法中的 age=20 执行 printnumber 方法后 main 方法中的 age=20 可以看到, 当 printnumber 方法将引用对象 a 的成员变量 number 值改变后, 方法外的对象 a 的成员变量 number 值同样改变 传递的是值的引用, 也就是说, 传递前和传递后都指向同一个引用 ( 也就是同一个内存空间 ) 注意 : Java String String str = "This is Java"; 3.7 Java 想象一下, 在一个大型的项目中, 如果每个程序员在给包 类 变量 方法取名的时候没有一点约定, 只是随心所欲, 可能会带来哪些问题? (1) 程序可读性极差 (2) 在相互有交互的程序中, 给其他程序员理解程序带来很大的麻烦 (3) 对于测试员来说, 在测试中如果需要检查源程序, 将会感到无从下手 () 在后续的维护中, 可能因为程序根本没法看懂, 而不得不重新编写一个新的程序 因此, 程序设计的标准化非常重要, 原因在于这能提高开发团队各成员的代码的一致性, 使代码更易理解, 这意味着更易于开发和维护, 从而降低了软件开发的总成本 为实现此目的, 和其他语言类似,Java 语言也存在非强制性的编码规范 知识命名规范 命名惯例也称命名约定, 在声明包名 类名 接口名 方法名 变量名 常量名时, 除必须符合标识符命名规则外, 还应尽量体现各自描述的事物或属性 功能等 例如, 可定义类 Student 描述学生信息 一般性命名约定如下 : 尽量使用完整的英文单词或确有通用性的英文缩写 尽量采用所涉及领域的通用或专业术语 词组中采用大小写混合使之更易于识别 避免使用过长的标识符 ( 一般小于 15 个字母 ) 避免使用类似的标识符, 或者仅仅是大小写不同 具体命名规范如表 3-6 所示 25

26 表 3.6 Java 编程命名规范 元素名称命名规则示例 包 (Package) 类 (Class) 接口 (Interface) 方法 (Interface) 采用完整的英文描述符, 应该都是由小写字母组成 对于全局包, 将 Internet 域名反转并接上包名类名一般使用 ( 动 ) 名词或 ( 动 ) 名词组合来表示, 并且各个名词的首字母大写, 其他字母小写接口名与类名类似, 一般使用 ( 动 ) 名词或 ( 动 ) 名词组合来表示, 并且各个名词的首字母大写, 其他字母小写方法一般用一个动宾短语组成, 表示一个动作 方法的首字母小写 ( 通常是动词的首字母 ), 而其他单词的首字母大写 ( 通常是一个名词的首字母 ) com.srt.moa.action Customer, SavingsAccount Contactable, Prompter public void balanceaccount(int deposit){... 异常 (Exception) 通常采用字母 e 表示 Exception e 变量名静态常量字段 (static final) 数组 变量的名称一般使用一个 ( 动 ) 名词或其组合来表示, 并且首字母小写, 其他单词的首字母大写全部采用大写字母, 单词之间用下画线分隔数组应该总是用下面的方式来命名 : byte[] buffer; 而不是 : byte buffer[]; private int age; private String studentname; static final int MAX_SIZE=10; byte[] buffer 代码编写格式规范 代码编写格式规范如下 : 缩进一般是每行 2 个或 个空格, 使排版整齐, 语句可读 关键词和操作符之间加适当的空格 相对独立的程序块与块之间加空行 较长的语句 表达式等要分成多行书写 若函数或过程中的参数较长, 需要进行适当的划分 一行只写一条语句, 即使是短语句也要分行 程序块由大括号 { 界定, 大括号必须成对出现, 且编程时 { 和 应各占独立一行, 同时与引用它们的语句左对齐 例如 : if (i>0) { i ++ ; // 错误, { 和 在同一行 if (i>0) { i ++ ; // 正确, { 单独作为一行 26

27 3.8 本章介绍了 Java 注释 分隔符和标识符 关键字 数据类型等 Java 编程基础知识 ; 分 析了变量的种类和几种初始化方法 ; 描述了 Java 中值传递和引用传递两种传递方式的方法和 区别 最后给出了 Java 编码规范 本章所述均为 Java 编程中最基础但是关键的技术要点, 读者通过学习, 完成章节任务, 可以对 Java 编程的理解深入一步, 并为之后的学习打下基础 课后练习题 一 选择题 1. 一个 byte 表示的数据范围是 ( ) A.-128 ~127 B ~32767 C.-255 ~ 256 D. 跟 Java 虚拟机相关 2. 下面 ( ) 是不合法的 Java 标识符 A.example123 B._for C.$apple D.#student 3. 下面 ( ) 不是 Java 的保留字 A.goto B.null C.While D.native. 关于 javadoc 命令正确的说法是 ( ) A.javadoc 可以提取所有的注释生成注释文档 B.javadoc 生成的注释文档是一个 word 文件 C.javadoc 生成的注释文档是一个 HTML 文件 D.javadoc 只能提取 /**...*/ 之间的注释 5. 下面 ( ) 不是 Java 基本数据类型 A.String B.boolean C.float D.byte 二 简答题 1. 简述代码块的概念 2. 简述标识符和保留字的区别 3. 简述 Java 中的数据类型. 简述局部变量 成员变量的区别 5. 简述参数的值传递和引用传递 三 编程题 编写一个类, 它有一个 char 类型的属性和一个 int 类型的属性, 不对它们进行初始化, 打印它们的值, 以验证 Java 执行了默认的初始化 27

28 资源分享 : 华清远见 Android 开发教程下载 : 华清远见 2012 更多 Android 相关新版教材 : 相关课程推荐 : Android 系统开发入门实战体验日 (1 天 ): 3G Android 系统开发就业培训班 ( 个月 ): Android 应用开发培训班 ( 短期班 ): Android 系统开发培训班 ( 短期班 ): 联系我们 : 免费电话 : , 华清远见集团官网 : 华清远见企业学院 : 华清远见嵌入式学院 : 华清远见物联网学院 : 华清远见研发中心 :dev.hqyj.com 28

<4D F736F F D20B5DA33D5C220B1EACAB6B7FBA1A2B9D8BCFCD7D6D3EBCAFDBEDDC0E0D0CD2E646F6378>

<4D F736F F D20B5DA33D5C220B1EACAB6B7FBA1A2B9D8BCFCD7D6D3EBCAFDBEDDC0E0D0CD2E646F6378> Android 系统下 Java 编程详解 作者 : 华清远见 第 3 章标识符 关键字与数据类型 本章简介 本章主要介绍 Java 中使用注释的方法和使用规则, 包括特殊注释 :javadoc 注释的使用方法 ; 分号, 空格等分隔符 ; Java 中标识符的定义规则 ; Java 中的 数据类型 ; 简单类型间的数据类型转换 ; 分析了对象的构造和初始化 ; 局部变量 全局变量的定义 声明及其作用范围

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ1 - 参考答案 MASTER 2019 年 月 3 日 1 1 INPUTOUTPUT 1 InputOutput 题目描述 用 cin 输入你的姓名 ( 没有空格 ) 和年龄 ( 整数 ), 并用 cout 输出 输入输出符合以下范例 输入 master 999 输出 I am master, 999 years old. 注意 "," 后面有一个空格,"." 结束,

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料

OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢   学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 学习使用文本编辑器 学习使用 cmd: Power shell 阅读参考资料 OOP with Java Java 类型 引用 不可变类型 对象存储位置 作用域 OOP

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double x) { d =

More information

untitled

untitled 1 Outline 數 料 數 數 列 亂數 練 數 數 數 來 數 數 來 數 料 利 料 來 數 A-Z a-z _ () 不 數 0-9 數 不 數 SCHOOL School school 數 讀 school_name schoolname 易 不 C# my name 7_eleven B&Q new C# (1) public protected private params override

More information

Microsoft Word - 正文.doc

Microsoft Word - 正文.doc 第 2 章 Java 语言基础 通过本章的实践, 要掌握 Java 中的标识符 关键字 常量, 熟练掌握算术 关 系 逻辑 条件 赋值 位运算符的使用, 掌握简单顺序结构的程序设计 2.1 典型习题解答 2.1 Java 中怎样进行注释? 解答 Java 语言中的注释有 3 种形式 : (1) 单行 : // (2) 多行 : /* */ (3) 文档注释 : /** */ 第三种形式是第二种形式的变形,

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10

1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 Java V1.0.1 2007 4 10 1 4 1.1 4 1.2..4 2..4 2.1..4 3.4 3.1 Java.5 3.1.1..5 3.1.2 5 3.1.3 6 4.6 4.1 6 4.2.6 5 7 5.1..8 5.1.1 8 5.1.2..8 5.1.3..8 5.1.4..9 5.2..9 6.10 6.1.10 6.2.10 6.3..10 6.4 11 7.12 7.1

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc Java C++ Pascal C# C# if if if for while do while foreach while do while C# 3.1.1 ; 3-1 ischeck Test() While ischeck while static bool ischeck = true; public static void Test() while (ischeck) ; ischeck

More information

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课

OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 3 月 29 日晚 9 点 4 月 1 日上课 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class

More information

软件工程文档编制

软件工程文档编制 实训抽象类 一 实训目标 掌握抽象类的定义 使用 掌握运行时多态 二 知识点 抽象类的语法格式如下 : public abstract class ClassName abstract void 方法名称 ( 参数 ); // 非抽象方法的实现代码 在使用抽象类时需要注意如下几点 : 1 抽象类不能被实例化, 实例化的工作应该交由它的子类来完成 2 抽象方法必须由子类来进行重写 3 只要包含一个抽象方法的抽象类,

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-065Big5 Title : Sun Certified Programmer for the Java 2 Platform, SE 6.0 Version : Demo 1 / 14 1. 35. String #name = "Jane Doe"; 36. int

More information

1 下列类头定义中, 正确的是 面向对象程序设计网络课程 A class x { } B public x extends y { } C public class x extends y {.} D class x extends y implements y1 { } 2 现有两个类 A B,

1 下列类头定义中, 正确的是 面向对象程序设计网络课程 A class x { } B public x extends y { } C public class x extends y {.} D class x extends y implements y1 { } 2 现有两个类 A B, 1 下列类头定义中, 正确的是 A class x B public x extends y C public class x extends y. D class x extends y implements y1 2 现有两个类 A B, 以下描述中表示 B 继承自 A 的是 (D ) A) class A extends B B) class B implements A C) class A

More information

CHAPTER VC#

CHAPTER VC# 1. 2. 3. 4. CHAPTER 2-1 2-2 2-3 2-4 VC# 2-5 2-6 2-7 2-8 Visual C# 2008 2-1 Visual C# 0~100 (-32768~+32767) 2 4 VC# (Overflow) 2-1 2-2 2-1 2-1.1 2-1 1 10 10!(1 10) 2-3 Visual C# 2008 10! 32767 short( )

More information

Microsoft Word - 新1-12.doc

Microsoft Word - 新1-12.doc 实训 5 面向对象编程练习 实训 5 面向对象编程练习 5.1 实训目的 通过编程和上机实验理解 Java 语言是如何体现面向对象编程基本思想 以及如何创建类 和对象 了解成员变量和成员方法的特性 5.2 实训要求 编写一个体现面向对象思想的程序 编写一个创建对象和使用对象的方法的程序 5.3 实训内容 5.3.1 创建对象并使用对象 1 定义一个 Person 类 可以在应用程序中使用该类 成员属性

More information

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/

JAVA 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:/ 单元 2.1 四则运算机 ( 一 ) 单元教学进度设计 教学环节 教学内容 教师学生活动活动 反馈 反馈课前作业完成情况 反馈加分 1. 下面哪些是合法的变量名? ( ) A.2variable 答案 :DEG B..variable2 解答 : C.._whatavariable A:// 不能以数字开头 D._3_ B:// 不能用点和空格 提问 抢答 E.$anothervar C: // 不能用点和空格

More information

3.1 num = 3 ch = 'C' 2

3.1 num = 3 ch = 'C' 2 Java 1 3.1 num = 3 ch = 'C' 2 final 3.1 final : final final double PI=3.1415926; 3 3.2 4 int 3.2 (long int) (int) (short int) (byte) short sum; // sum 5 3.2 Java int long num=32967359818l; C:\java\app3_2.java:6:

More information

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款

使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 JAVA 程 序 设 计 ( 肆 ) 徐 东 / 数 学 系 使 用 Java 语 言 模 拟 保 险 箱 容 量 门 板 厚 度 箱 体 厚 度 属 性 锁 具 类 型 开 保 险 箱 关 保 险 箱 动 作 存 取 款 使 用 Java class 代 表 保 险 箱 public class SaveBox 类 名 类 类 体 实 现 封 装 性 使 用 class SaveBox 代 表 保

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点

OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 15 日晚 9 点 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i; double d; 数据 (Fields) char c; void set(double

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢

OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 : Project 2 提交时间 : 3 月 14 日晚 9 点 另一名助教 : 王桢 Email: 51141201063@ecnu.cn 复习 : Java 类型 基本类型 boolean, char, 封装 (wrappers) 类 (class) 定义 class MyType { int i;

More information

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 310-055Big5 Title : Sun Certified Programmer for the Java 2 Platform.SE 5.0 Version : Demo 1 / 22 1. 11. public static void parse(string str)

More information

Microsoft PowerPoint - 07 派生数据类型

Microsoft PowerPoint - 07 派生数据类型 能源与动力工程学院 目录 派生类型 陈 斌 固有数据类型 数值型 (numerical) 整型 INTEGER 实型 REAL 复数型 COMPLEX 非数值型 字符型 CHARACTER 逻辑型 ( 布尔型 )LOGICAL 自定义数据类型 ( 派生类型, derived type) 派生类型是指用户利用 Fortran 系统内部类型, 如整型 实型 复数型 逻辑型 字符型等的组合自行创建出一个新的数据类型,

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

第3章 Java语言基础

第3章 Java语言基础 第 3 章 Java 语言基础 第 1/55 页 习题 3 3. 8. 9. 13. 18. 实验 : 1. 实验 4( 实 P11~12) 2. 实验任务 : 1 例 3.1( 教 P30) 2 变量赋值 ( 教 P29) 3 编写两个缓冲区对应同一个输入流对象, 并键盘输入整型 a 和双精度 b, 求和 第 2/55 页 习题 3 3. 实验任务 : 1 实验 5( 实 P12~13) 2 实验

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式]

Microsoft PowerPoint - 5. 指针Pointers.ppt [兼容模式] 指针 Pointers 变量指针与指针变量 Pointer of a variable 变量与内存 (Variables and Memory) 当你声明一个变量时, 计算机将给该变量一个内存, 可以存储变量的值 当你使用变量时, 计算机将做两步操作 : - 根据变量名查找其对应的地址 ; - 通过地址对该地址的变量内容进行读 (retrieve) 或写 (set) 变量的地址称为变量的指针! C++

More information

Microsoft Word - 第2章.doc

Microsoft Word - 第2章.doc 2 第第 2 章 学习第 1 章后, 读者已经对 Java 语言有了初步的了解, 本章将具体解析 Java 类的组成元素 任何一个 Java 类, 都有 5 种基本组成元素 : 属性 方法 构造方法 块和内部类 其中属性 方法 构造方法是使用最多的元素, 而块 内部类使用较少 本章将对各种元素进行学习 Java 类基本结构 2.1 类 类 Java 类的声明形式 访问权限修饰符 修饰符 class

More information

新版 明解C++入門編

新版 明解C++入門編 511!... 43, 85!=... 42 "... 118 " "... 337 " "... 8, 290 #... 71 #... 413 #define... 128, 236, 413 #endif... 412 #ifndef... 412 #if... 412 #include... 6, 337 #undef... 413 %... 23, 27 %=... 97 &... 243,

More information

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac)

OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 2 提交时间 : 3 月 21 日晚 9 点 作业提交格式 学习使用 文本编辑器 cmd, PowerShell (Windows), terminal(linux, Mac) 复习 面向对象编程 将实际问题分解成不同的对象 不的对象提供不同的服务 对象之间可以传递消息 例子小李深夜

More information

chp6.ppt

chp6.ppt Java 软 件 设 计 基 础 6. 异 常 处 理 编 程 时 会 遇 到 如 下 三 种 错 误 : 语 法 错 误 (syntax error) 没 有 遵 循 语 言 的 规 则, 出 现 语 法 格 式 上 的 错 误, 可 被 编 译 器 发 现 并 易 于 纠 正 ; 逻 辑 错 误 (logic error) 即 我 们 常 说 的 bug, 意 指 编 写 的 代 码 在 执 行

More information

JavaIO.PDF

JavaIO.PDF O u t p u t S t ream j a v a. i o. O u t p u t S t r e a m w r i t e () f l u s h () c l o s e () public abstract void write(int b) throws IOException public void write(byte[] data) throws IOException

More information

Microsoft PowerPoint - course2.ppt

Microsoft PowerPoint - course2.ppt Java 程 式 設 計 基 礎 班 (2) 莊 坤 達 台 大 電 信 所 網 路 資 料 庫 研 究 室 Email: doug@arbor.ee.ntu.edu.tw Class 2 1 回 顧 Eclipse 使 用 入 門 Class 2 2 Lesson 2 Java 程 式 語 言 介 紹 Class 2 3 Java 基 本 知 識 介 紹 大 小 寫 有 差 (Case Sensitive)

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

Microsoft Word - 第3章.doc

Microsoft Word - 第3章.doc 第 3 章 lambda 表达式及其应用 lambda 表达式是 Java 8 提供的一种新特性, 它使得 Java 也能像 C# 和 C++ 语言一样进行简单的 函数式编程, 这不仅简化了某些通用结构的实现方式, 也大大增强了 Java 语言的表达功能 3.1 lambda 表达式简介 lambda 表达式是基于数学中的 λ 演算得名, 本质上就是一个没有方法名的匿名方法 例如, 有一个方法定义如下

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

untitled

untitled 4.1AOP AOP Aspect-oriented programming AOP 來說 AOP 令 理 Cross-cutting concerns Aspect Weave 理 Spring AOP 來 AOP 念 4.1.1 理 AOP AOP 見 例 來 例 錄 Logging 錄 便 來 例 行 留 錄 import java.util.logging.*; public class HelloSpeaker

More information

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点

OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 推迟至 4 月 25 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public

More information

模板

模板 制作人 : 张刚 目录 类和对象 面向对象程序设计基本特征 类的声明 构造方法 成员变量和方法 封装 继承 多态 包 访问控制 final static 抽象类和接口 内部类 沈阳工业大学软件学院 Java 课程教研组 Page 2 核心知识点 类 对象 三个基本特征 类的基本结构 成员变量 构造方法 成员方法 类实例 对象创建和操作 沈阳工业大学软件学院 Java 课程教研组 Page 3 1.

More information

javaexample-02.pdf

javaexample-02.pdf n e w. s t a t i c s t a t i c 3 1 3 2 p u b l i c p r i v a t e p r o t e c t e d j a v a. l a n g. O b j e c t O b j e c t Rect R e c t x 1 y 1 x 2 y 2 R e c t t o S t r i n g ( ) j a v a. l a n g. O

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 描述 JSP 表达式语言的语法 认识使用 JSP 表达式的优点 在 JSP 中使用表达式语言 表达式语言简介 5 1 EL 为表达式语言 由两个组开发 JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签 表达式语言简介

More information

Java 1 Java String Date

Java 1 Java String Date JAVA SCJP Java 1 Java String Date 1Java 01 Java Java 1995 Java Java 21 Java Java 5 1-1 Java Java 1990 12 Patrick Naughton C++ C (Application Programming Interface API Library) Patrick Naughton NeXT Stealth

More information

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌

内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 语 言 程 序 设 计 郑 莉 胡 家 威 编 著 清 华 大 学 逸 夫 图 书 馆 北 京 内 容 简 介 本 书 是 一 本 关 于 语 言 程 序 设 计 的 教 材, 涵 盖 了 语 言 的 基 本 语 法 和 编 程 技 术, 其 中 包 含 了 作 者 对 语 言 多 年 开 发 经 验 的 总 结, 目 的 是 让 初 学 的 读 者 感 受 到 语 言 的 魅 力, 并 掌 握 语

More information

姓名 : 年级专业 : 学号 : 凡年级专业 姓名 学号错写 漏写或字迹不清者, 成绩按零分记 密 封 线 java 较难 试卷 总分 题号 一 二 三 四 五 题分 得分 D 国际通信协议 4 下面选项中, 不是面向对象的特征的是 ( ) A 封装 B 继承 得分 一 单选题 ( 每题 3 分,

姓名 : 年级专业 : 学号 : 凡年级专业 姓名 学号错写 漏写或字迹不清者, 成绩按零分记 密 封 线 java 较难 试卷 总分 题号 一 二 三 四 五 题分 得分 D 国际通信协议 4 下面选项中, 不是面向对象的特征的是 ( ) A 封装 B 继承 得分 一 单选题 ( 每题 3 分, java 较难 试卷 总分 题号 一 二 三 四 五 题分 D 国际通信协议 4 下面选项中, 不是面向对象的特征的是 ( ) A 封装 B 继承 一 单选题 ( 每题 3 分, 共计 15 分 ) 1 下列修饰符中, 成员内部类被 ( ) 修饰后, 可以被外界访问 C 多态 D 重构 5 下列关于构造方法重载的说法中, 错误的是 () A 不同构造方法中调用本类其它的构造方法时, 需要使用 this([

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 告别 OJ2 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 TEMPLATE 1 Template 描述 使用模板函数求最大值 使用如下 main 函数对程序进行测试 int main() { double a, b; cin >> a >> b; cout c >> d; cout

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Fortran Algol Pascal Modula-2 BCPL C Simula SmallTalk C++ Ada Java C# C Fortran 5.1 message A B 5.2 1 class Vehicle subclass Car object mycar public class Vehicle extends Object{ public int WheelNum

More information

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入 100 年 特 種 考 試 地 方 政 府 公 務 人 員 考 試 試 題 等 別 : 三 等 考 試 類 科 : 資 訊 處 理 科 目 : 系 統 分 析 與 設 計 一 請 參 考 下 列 旅 館 管 理 系 統 的 使 用 案 例 圖 (Use Case Diagram) 撰 寫 預 約 房 間 的 使 用 案 例 規 格 書 (Use Case Specification), 繪 出 入

More information

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

CHAPTER 1

CHAPTER 1 CHAPTER 1 1-1 System Development Life Cycle; SDLC SDLC Waterfall Model Shelly 1995 1. Preliminary Investigation 2. System Analysis 3. System Design 4. System Development 5. System Implementation and Evaluation

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Java 包 创建包 : package 语句, 包结构与目录结构一致 使用包 : import restaurant/ - people/ - Cook.class - Waiter.class - tools/ - Fork.class - Table.class

More information

《大话设计模式》第一章

《大话设计模式》第一章 第 1 章 代 码 无 错 就 是 优? 简 单 工 厂 模 式 1.1 面 试 受 挫 小 菜 今 年 计 算 机 专 业 大 四 了, 学 了 不 少 软 件 开 发 方 面 的 东 西, 也 学 着 编 了 些 小 程 序, 踌 躇 满 志, 一 心 要 找 一 个 好 单 位 当 投 递 了 无 数 份 简 历 后, 终 于 收 到 了 一 个 单 位 的 面 试 通 知, 小 菜 欣 喜

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

拦截器(Interceptor)的学习

拦截器(Interceptor)的学习 二 拦截器 (Interceptor) 的学习 拦截器可以监听程序的一个或所有方法 拦截器对方法调用流提供了细粒度控制 可以在无状态会话 bean 有状态会话 bean 和消息驱动 bean 上使用它们 拦截器可以是同一 bean 类中的方法或是一个外部类 下面介绍如何在 Session Bean 类中使用外部拦截器类 @Interceptors 注释指定一个或多个在外部类中定义的拦截器 下面拦截器

More information

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题

2009年3月全国计算机等级考试二级Java语言程序设计笔试试题 2009 年 3 月 全 国 计 算 机 等 级 考 试 笔 试 试 卷 二 级 Java 语 言 程 序 设 计 ( 考 试 时 间 90 分 钟, 满 分 100 分 ) 一 选 择 题 ( 每 题 2 分, 共 70 分 ) 下 列 各 题 A) B) C) D) 四 个 选 项 中, 只 有 一 个 选 项 是 正 确 的 请 将 正 确 选 项 填 涂 在 答 题 卡 相 应 位 置 上,

More information

Mac Java import com.apple.mrj.*;... public class MyFirstApp extends JFrame implements ActionListener, MRJAboutHandler, MRJQuitHandler {... public MyFirstApp() {... MRJApplicationUtils.registerAboutHandler(this);

More information

Microsoft PowerPoint - 6. 用户定义类型User-defined Datatypes.ppt [兼容模式]

Microsoft PowerPoint - 6. 用户定义类型User-defined Datatypes.ppt [兼容模式] 用户定义类型 User-defined Datatypes classes and structs 几何向量 (Geometry Vector) 二维平面上的向量由起点和终点构成 每个点包含两个坐标 (x, y), 因此一个向量需要四个实数表示 Start= (0.9,1.5) Start= (0.4,0.8) int main() { double xstart = 0.4; double xend

More information

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3

Generated by Unregistered Batch DOC TO PDF Converter , please register! 浙江大学 C 程序设计及实验 试题卷 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:3 浙江大学 C 程序设计及实验 试题卷 2002-2003 学年春季学期考试时间 : 2003 年 6 月 20 日上午 8:30-10:30 注意 : 答题内容必须写在答题卷上, 写在本试题卷上无效 一. 单项选择题 ( 每题 1 分, 共 10 分 ) 1. 下列运算符中, 优先级最低的是 A.

More information

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 19 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public char

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 计算概论 A 课程程序设计部分 C++ 语言基本成分 数据成分 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 再谈, 我们的进度安排 我们的学习过程 感性理性函数指针等 数据成分运算成分控制成分数组字符串 结构化的程序递归 传统学习过程 数据类型与表达式 输入输出 关系运算 控制语句 函数数组指针结构体 作业练习 感性认识作业练习 ( 以抄程序为主 ) 正常作业练习

More information

untitled

untitled 1 Outline 料 類 說 Tang, Shih-Hsuan 2006/07/26 ~ 2006/09/02 六 PM 7:00 ~ 9:30 聯 ives.net@gmail.com www.csie.ntu.edu.tw/~r93057/aspnet134 度 C# 力 度 C# Web SQL 料 DataGrid DataList 參 ASP.NET 1.0 C# 例 ASP.NET 立

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat 本章学习目标 小风 Java 实战系列教程 AOP 思想概述 AOP 底层技术实现 AOP 术语介绍 SpringAOP 的 XML 方式 HelloWorld SpringAOP 的 XML 方式配置细节 SpringAOP 的注解方式 SpringAOP 的零配置方式 1. AOP 思想概述 1.1. AOP 思想简介 1.2. AOP 的作用 2. AOP 底层技术实现 小风 Java 实战系列教程

More information

ExcelUtility 类库使用说明 ( 续 ) 开发 / 设计 : 左文俊 第一个新增功能, 列宽自适应, 当超过 30 个字符则将单元格内容设为换行 任意一个无模板的导出方法均支持该功能, 示例代码如下 : /// <summary> /// 测试方法

ExcelUtility 类库使用说明 ( 续 ) 开发 / 设计 : 左文俊 第一个新增功能, 列宽自适应, 当超过 30 个字符则将单元格内容设为换行 任意一个无模板的导出方法均支持该功能, 示例代码如下 : /// <summary> /// 测试方法 ExcelUtility 类库使用说明 ( 续 ) 开发 / 设计 : 左文俊 第一个新增功能, 列宽自适应, 当超过 0 个字符则将单元格内容设为换行 任意一个无模板的导出方法均支持该功能, 示例代码如下 : 0 /// 测试方法 : 测试将 DataTable 导出到 EXCEL, 无模板 public void TestExportToExcelByDataTable() string excelpath

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

Guava学习之CharSequenceReader

Guava学习之CharSequenceReader CharSequenceReader 类是以 CharSequence 的形式读取字符 CharSequenceReader 类继承自 Reader 类, 除了 remaining() hasremaining() 以及 checkopen() 函数之后, 其他的函数都是重写 Reader 类中的函数 CharSequenceReader 类声明没有用 public 关键字, 所以我们暂时还不能调用这个类

More information

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1

C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 C++ 程序设计 OJ1 - 参考答案 MASTER 2019 年 5 月 3 日 1 1 CIRCLE 1 Circle 描述 编写一个圆类 Circle, 实现半径的输入 面积的计算和输出 输入 圆的半径 (double 类型 ) 输出 圆的面积 ( 保留小数点后两位 ) 样例输入 3 样例输出 28.27 提示 圆周率的取值需要比较精确, 以保证计算结果的精度 #include

More information

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple

// HDevelopTemplateWPF projects located under %HALCONEXAMPLES%\c# using System; using HalconDotNet; public partial class HDevelopExport public HTuple halcon 与 C# 混合编程之 Halcon 代码调用 写在前面 完成 halcon 与 C# 混合编程的环境配置后, 进行界面布局设计构思每一个按钮所需要实现 的功能, 将 Halcon 导出的代码复制至相应的 C# 模块下即可 halcon 源程序 : dev_open_window(0, 0, 512, 512, 'black', WindowHandle) read_image (Image,

More information

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378>

<4D F736F F D205A572D2D A1AAA1AAD4ACE7F42D43D3EFD1D4CAB5D1B5BDCCB3CC2E646F6378> 第 1 部分 Visual Studio 6.0 开发环境介绍 本书以 Visual C++ 6.0 作为 C 源程序的实践开发环境, 本章将首先介绍 Visual C++ 6.0 环境的基本操作, 包括 Visual C++ 6.0 的安装和启动,C 源程序的编辑 运行与调试 1.1 安装与启动 Visual C++ 6.0 MSDN Visual C++ 6.0 1.1 Microsoft Visual

More information

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj

Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream Class java.io.datainptstream (extends) FilterInputStream InputStream Obj Message Transition 5-1 5-2 DataInputStream Class 5-3 DataOutputStream Class 5-4 PrintStream Class 5-5 (Message Transition) (Exercises) Java Access 5-1 Server Client Client Server Server Client 5-2 DataInputStream

More information

新版 明解C言語入門編

新版 明解C言語入門編 328, 4, 110, 189, 103, 11... 318. 274 6 ; 10 ; 5? 48 & & 228! 61!= 42 ^= 66 _ 82 /= 66 /* 3 / 19 ~ 164 OR 53 OR 164 = 66 ( ) 115 ( ) 31 ^ OR 164 [] 89, 241 [] 324 + + 4, 19, 241 + + 22 ++ 67 ++ 73 += 66

More information

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

《C语言程序设计》教材习题参考答案

《C语言程序设计》教材习题参考答案 教材名称 : C 语言程序设计 ( 第 1 版 ) 黄保和 江弋编著清华大学出版社 ISBN:978-7-302-13599-9, 红色封面 答案制作时间 :2011 年 2 月 -5 月 一 选择题 1. 设已定义 int a, * p, 下列赋值表达式中正确的是 :C)p=&a 2. 设已定义 int x,*p=&x;, 则下列表达式中错误的是 :B)&*x 3. 若已定义 int a=1,*b=&a;,

More information

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式]

Microsoft PowerPoint - 4. 数组和字符串Arrays and Strings.ppt [兼容模式] Arrays and Strings 存储同类型的多个元素 Store multi elements of the same type 数组 (array) 存储固定数目的同类型元素 如整型数组存储的是一组整数, 字符数组存储的是一组字符 数组的大小称为数组的尺度 (dimension). 定义格式 : type arrayname[dimension]; 如声明 4 个元素的整型数组 :intarr[4];

More information

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义

任务 3 加法运算练习游戏 019 这就需要用到 C# 语言的基础语法, 如数据类型 运算符和控制语句, 还需要其他的常用控件 在此任务的完成过程中, 读者可以接触到 C# 的数据类型 变量常量 运算符 控制语句等基础语法, 掌握以上知识点及其在软件开发中的应用 3.2 相关知识 预定义 任务 3 加法运算练习游戏 3.1 情境描述 选择了开发环境并理解了事件驱动机制以后, 要开发项目, 还需掌握 C# 语言的语法 本任务的目标是完成如图 3.1 和图 3.2 所示的小学生加法运算练习游戏 这个小软件的功能是在窗体中的 + 两边出现 2 个 10 以内的随机数, 让用户 ( 适合于小学生 ) 在文本框内输入其和, 然后单击 OK 按钮 若输入的和是正确的, 则跳出一个红色的图片, 同时提示答对了,

More information

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6: Chapter 15. Suppressed Exception CH14 Finally Block Java SE 7 try-with-resources JVM cleanup try-with-resources JVM cleanup cleanup Java SE 7 Throwable getsuppressed Throwable[] getsuppressed() Suppressed

More information

没有幻灯片标题

没有幻灯片标题 第 2 章 C 语言的基本数据类型与表达 式 2. 1 C 语言的语法基础 2. 2 C 语言的基本数据类型 2. 3 常量和变量 2. 4 运算符与表达式 2. 5 数据类型转换 用 第 2 章 C 语言的基本数据类型与表达 2.1 C 语言的语法基础 2. 1. 1 C 语言字符集 式 C 语言的基本符号可分 4 个类, 归纳如下 : (1) 英文字母 : 大小写各 26 个, 共计 52 个

More information

Microsoft PowerPoint - 01_Introduction.ppt

Microsoft PowerPoint - 01_Introduction.ppt Hello, World C 程序设计语言 第 1 章章观其大略 孙志岗 sun@hit.edu.cn http://sunner.cn prf("hello,, world\n"); 超级无敌考考你 : 如何把 hello 和 world 分别打印在两行? 2004-12-19 A Tutorial Introduction 2 hello.c 打印华氏温度与摄氏温度对照表 计算公式 : C=(5/9)(

More information

《计算概论》课程 第十九讲 C 程序设计语言应用

《计算概论》课程 第十九讲  C 程序设计语言应用 计算概论 A 程序设计部分 字符数组与字符串 李戈 北京大学信息科学技术学院软件研究所 lige@sei.pku.edu.cn 字符数组的定义 #include int main() char a[10] = 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ; for (int i = 0; i < 10; i++) cout

More information

Microsoft PowerPoint - 03.Fortran程序设计基础1

Microsoft PowerPoint - 03.Fortran程序设计基础1 简单 Fortran 90 程序的构造形式 : 第二讲 Fortran 程序设计基础 (2) [PROGRAM 程序名 ] [ 声明语句 ] [ 执行语句 ] END [PROGRAM [ 程序名 ]] 程序的书写 (P5) PROGRAM MONEY!calculate balance after interest compounded! 根据利息计算余额 REAL BALANCE, INTEREST,

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 组件技术概述 现在软件开发都已经转向了基于组件的开发, 目前具备代表性的组件技术有微软的 COM COM+, 有 Sun 的 Bean 和 EJB(Enterprise Bean), 另外还有 CORBA(Common Object Request Broker Architecture, 公 共对象请求代理结构 ) Bean Bean 规范将 软件组件

More information

第1章 Delphi简介

第1章  Delphi简介 第 2 章 零基础开始学习 Java 基本语法 Java 语言也有自己的一套语法规则, 通过使用这些规则, 能够让程序正确运行, 并且减少错误的发生 本章的实例虽然简单, 却基本涵盖了本篇所讲的内容, 通过这些知识的学习, 将为后面的程序开发奠定坚实的基础 通过本章内容, 可以了解 Java 程序的基本结构 基础语法 ( 包括变量 常量 数据类型 运算符等 ) 以及程序的流程控制 本章要点 ( 已掌握的在方框中打钩

More information

Struts2自定义类型转换.doc

Struts2自定义类型转换.doc Struts2 自定义类型转换 原理 struts2 的自定义类型转换机制为复杂类型的输入输出处理提供了便捷.struts2 已经为我们提供了几乎所有的 primitive 类型以及常用类型 ( 如 Date) 的类型转换器, 我们也可以为我们自定义类添加自定义类型转化器. struts2 为我们提供了一个类型转化器的入口 : ognl.defaulttypeconverter, 或继承 org.apache.struts2.util.strutstypeconverter,

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc

Microsoft Word - 把时间当作朋友(2011第3版)3.0.b.06.doc 2 5 8 11 0 13 1. 13 2. 15 3. 18 1 23 1. 23 2. 26 3. 28 2 36 1. 36 2. 39 3. 42 4. 44 5. 49 6. 51 3 57 1. 57 2. 60 3. 64 4. 66 5. 70 6. 75 7. 83 8. 85 9. 88 10. 98 11. 103 12. 108 13. 112 4 115 1. 115 2.

More information

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0,

Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, http://debut.cis.nctu.edu.tw/~chi Java java.lang.math Java Java.util.Random : ArithmeticException int zero = 0; try { int i= 72 / zero ; }catch (ArithmeticException e ) { // } 0, : POSITIVE_INFINITY NEGATIVE_INFINITY

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点

OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 5 月 2 日晚 9 点 复习 Protected 可以被子类 / 同一包中的类访问, 不能被其他类访问 弱化的 private 同时赋予 package access class MyType { public int i; public double d; public char

More information