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

Size: px
Start display at page:

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

Transcription

1 Java 高级技术 课程 Java 语言的高级特性 李戈 北京大学信息科学技术学院软件研究所 2009 年 4 月 18 日

2 对象容器 能够容纳其它对象的对象 ; 对象容器 容纳的对象称为对象容器的元素 ; 对象容器的作用 对象容器提供了一些有用的数据结构和算法, 是程序组织和操纵批量数据的强有力工具 ; 重用对象容器可提高程序员的软件开发效率 ; 如何使用对象容器 了解对象容器类所能存放对象的类型, 它的结构特点以及它可以提供的操作

3 Java 中的数组 Java 中的数组与对象容器的关系 数组也是对象容器, 而且是一种最基本的容器 在 Java 语言中 只有数组能容纳基本类型的数据 ; 其它的对象容器都不能容纳基本类型的数据, 只能容纳对象 ( 严格地说是对象引用 ), 它们要存放基本数据类型的数据只能使用基本数据类型的包装类 ;

4 对象容器的形态 对象容器需要提供的基本操作应该是多态的, 即 : 能适用于任意类型的对象, 这种多态性有两种实现方式 : 使用类属机制 对象容器能存放的对象类型是创建对象容器时的参数, 一旦容器类的对象实例创建之后, 它只能存放该类型或它的子类型的对象,C++ 语言的对象容器采用这种实现方式 ; 使用统一根类 设计一个根类, 对象容器存放的对象都声明为该类型, 使容器能存放任意类型的对象 Java 语言使用第二种实现方式 ;

5 对象容器的形态 两种实现方式的比较 ( 编译时的类型检查 ) 类属机制实现的多态性, 编译时就能够确定容器所存放对象的类型信息, 操作容器内的对象时编译器能够进行更多的类型检查, 生成的代码可以更为安全且具有更高的运行效率 采用单根类实现的多态性 必须将对象的类型转换为根类类型, 丢失了对象的特有信息, 从而操作容器内的对象时编译器无法进行更多的类型检查 当要使用存放在容器内的对象时, 必须将其类型转换为该对象原来的类型, 对这种类型转换的检查只能在运行时进行, 因此编译器生成的代码相对低效, 且可能引发运行时异常

6 对象容器的类型 主要有四个因素影响对象容器 : 是否允许存放重复的对象 指容器中包含有多个使用深比较相等的对象 ; 存放的对象之间是否有序 如果所存放的对象有序, 则对象之间必须是可比较的 ; 如何访问所存放的对象 随机访问 : 能用常数时间访问容器内任意位置的对象 ; 顺序访问 : 只能从存放对象的起始或者末尾位置开始访问 ; 分为 : 单向顺序访问和双向顺序访问 ; 存放对象的数目是否有限制 容器是否可以自动扩展以存放更多的对象 ;

7 Java 对象容器的种类 按对象容器能存放的对象将容器分为两种 : 类集 (collection) 容器 其中存放的基本单位是单个对象 ; 用接口 Collection 描述这种容器的基本操作 ; 包括添加 (add) 删除 (remove) 查找是否包含某对象 (contains) 及返回迭代器 (iterator) 用于遍历容器内对象等 JavaAPI 提供一个抽象类 AbstractCollection 给出了该接口的最基本的实现 映射 (map) 容器 存放的基本单位是对象对 (object pairs) 一个为键 (key) 对象, 一个为值 (value) 对象 ; 用接口 Map 描述这种容器的基本操作

8 Java 对象容器的种类 根据是否能存放重复的对象, 类集容器可分为两类 : 列表容器 允许存放重复的对象 可通过下标 ( 即存放的位置 ) 随机访问其中的对象 ; Java API 用接口 List 描述它们的基本操作, 并提供抽象类 AbstractList 作为基本实现 ; 集合容器 不允许存放重复的对象, 是数学中集合的一种实现 只能单向遍历存放的对象, 不能双向遍历, 不能随机访问 Java API 用接口 Set 描述它们的基本操作, 并提供抽象类 AbstractSet 作为基本实现 ;

9 各类 Java 对象容器的特点 Java 对象容器的种类

10 Java 对象容器的具体类 列表容器具体类包括 :LinkedList ArrayList Vector 和 Stack 类 LinkedList 内部使用双向链表实现 ; 类 ArrayList 相当于是一个变长数组 ; 集合容器具体类包括 :HashSet 和 TreeSet 类 HashSet 使用散列表, 实现普通集合容器接口 Set; 类 TreeSet 使用平衡二叉树实现有序集合容器接口 SortedSet; 映射容器具体类包括 :HashMap WeakHashMap TreeMap 和 HashTable 类 HashMap 和 HashTable 内部都采用散列表存放对象对, 但类 HashTable 的方法实现了线程同步, 而类 HashMap 放弃了同步实现 类 WeakHashMap 也与类 HashMap 类似 ; 只是类 WeakHashMap 在它所存放的键对象引用不再使用时会自动删除该键对象及对应的值对象 类 TreeMap 则实现接口 SortedMap, 内部使用平衡二叉树存放元素

11 Java 的对象容器

12 Java 对象容器的具体类

13 Java 对象容器的配套设施 用于辅助对象容器的接口包括 :Iterator Comparable 和 Comparator 接口 Iterator 抽象了遍历类集对象容器内所有对象的行为, 主要包括 hastnext() 方法和 next() 方法 ; 接口 Comparable 和 Comparator 用于对象之间的比较, 使得对象可以放入有序的对象容器 ; 用于辅助对象容器的类包括 : 类 Arrays 和 Collections 类 Arrays 用于辅助操纵最基本的对象容器 数组 提供对数组进行二分查找 (binary search) 排序 (sort) 填充 (fill) 以及判断两个数组相等 (equals) 等一系列的公有静态方法 ; 类 Collections 用于辅助操纵除数组以外的对象容器 对列表容器内的对象进行二分查找和排序 ; 对类集容器内的对象进行统计 ( 如求最大值和最小值 );

14 程序包 java.util Java 对象容器的配套设施 Java 的对象容器都定义在程序包 java.util 中 ; 该程序包提供了对象容器 操作日期时间 压缩解压缩数据等一系列有用的工具 程序包 java.util 中有关对象容器的部分包括 : 一些接口 : 给出了对对象容器所要提供的基本操作的抽象 ; 一些类 : 给出了对象容器的一些具体实现 ; 一些辅助工具 : 用于操纵 包装对象容器 ; 类集框架 (Java Collections Framework) Java 2 SDK 1.2 版以后的 Java API 文档规范提供了一个类集框架 ; 概述了 Java 对象容器的组成, 设计目标等, 描述如何使用 Java 的对象容器 ; 通过它可以方便地查找各种对象容器的文档规范

15 类集容器

16 类集容器 创建类集容器的类都必须实现接口 Collection 或其后代接口, 对于 Java 语言的对象模型而言, 因为只能通过对象引用访问对象实例, 因此对象容器存放的总是对象引用而非对象实例 对象容器添加 删除的都是对象引用, 这些操作不会影响该引用指向的对象实例 只有通过迭代器获取容器内的对象引用后, 将其向下转换为合适的类型, 并调用这个类的方法才可能改变对象实例的状态

17 boolean add (Object o) booleanaddall(collection c) void clear() boolean contains(object o) boolean containsall(collection c) 接口 Collection boolean equals(object o) 比较此 collection 与指定对象是否相等 int hashcode() 返回此 collection 的哈希码值 boolean isempty() Iterator iterator() 返回在此 collection 的元素上进行迭代的迭代器 boolean remove(object o) boolean removeall(collection c) boolean retainall(collection c) int size() Object[] toarray() 返回包含此 collection 中所有元素的数组

18 说明 : 接口 Collection 判断两个对象是否相等都是通过调用该对象的 equals() 方法完成, 因此放入容器的对象必须重定义合适的 equals() 方法以确定两个对象是否具有逻辑 ( 通常是深比较 ) 意义上的相等 程序员重定义 equals() 方法的同时也应重定义 hashcode() 方法, 以保证调用 equals() 方法比较相等的两个对象返回相同的散列码 hashcode() 方法用于将对象放入使用散列表实现的对象容器时计算对象的散列码 实现接口 Collection 的容器类必须为 equals() 和 hashcode() 这两个方法给出合适的实现

19 列表容器是一种类集容器 列表容器 能随机访问列表容器内的对象 ; 允许存放重复的对象 ; 支持单向遍历和双向遍历 ; 列表容器必须实现接口 List 接口 List 是类集容器接口 Collection 的子接口 定义了一些体现列表容器特点的方法 : 使用下标插入 删除 修改访问对象的方法 返回对象下标的方法 返回列表专用迭代器的方法等 类 ArrayList 类 LinkedList

20 import java.util.*; public class DemoArrayList { public static void main(string[] args) { int index; 列表容器类 ArrayList, 可看作可变长的数组类型, 它的典型用法与使用数组类型相似 // 构造方法使用一个整数作为参数, 指定该容器能存放元素的个数 // 所有容器在存满元素时都会自动扩充容量以容纳更多的元素 List arraylist = new ArrayList(5); // 可以添加 10 个元素, 因为 arraylist 会自动扩充容量 for (index = 0; index < 10; index++) arraylist.add(new SmallClass(index * 10)); for (index = 0; index < arraylist.size(); index++) { SmallClass obj = (SmallClass) arraylist.get(index); System.out.println("Element[" + index + "] = " + obj.get()); arraylist.set(index, new SmallClass(obj.get() + 1)); /* trimtosize() 是类 ArrayList 中的常用方法, 用于将数组的容量缩减到数组中存放的元素的个数, 该方法是类 ArrayList 特有的方法, 这里必须将其强制转换为 ArrayList 类型 */ ((ArrayList) arraylist).trimtosize();

21 import java.util.linkedlist; 类 LinkedList 的特点是容易区分头位置和尾位置, 经常用于实现栈操作 ; class LinkedListStack { private LinkedList data = new LinkedList(); public boolean isempty() { return data.isempty(); public Object top() { return data.getfirst();// 取栈顶元素 public void push(object element) { data.addfirst(element); // 压入元素 public void pop() { data.removefirst(); // 弹出元素 public class DemoLinkedList { public static void main(string[] args) { LinkedListStack stack = new LinkedListStack(); stack.push(" 第一个字符串 "); stack.push(" 第二个字符串 "); stack.push(" 第三个字符串 "); while (!stack.isempty()) { System.out.println(stack.top()); stack.pop();

22 集合容器是一种类集容器 集合容器 数学上集合的实现, 不允许存放重复的对象 只能单向遍历, 不能访问对象存放的位置信息, 不能随机访问集合容器内存放的对象 集合容器类必须实现接口 Set 接口 Set 是接口 Collection 的子接口, 明确了一些方法的语义 : addall(collection c) : 将当前集合与类集容器 c 作集合并运算 ; removeall(collection c): 将当前集合与类集容器 c 作集合差运算 ; retainall(collection c): 将当前集合与类集容器 c 作集合交运算 ; containsall(collection c): 判断类集容器 c 是否是当前集合子集 ; 类 HashSet 类 TreeSet

23 import java.util.*; public class DemoSet { public static void main(string[] args) { Set hashset = new HashSet(); for (int i = 0; i < 10; i++) { int temp = (int) (Math.random() * 100); hashset.add(new SmallClass(temp)); System.out.println("Hash Set: " + hashset); Set treeset = new TreeSet(); for (int i = 0; i < 10; i++) { int temp = (int) (Math.random() * 100); treeset.add(new SmallClass(temp)); System.out.println("Tree Set: " + treeset); 类 HashSet 的容器存放的对象无序, 而类 TreeSet 的容器存放的对象有序 Hash Set: [19, 83, 35, 34, 57, 79, 51, 96, 48, 70] Tree Set: [15, 27, 55, 61, 64, 84, 86, 94, 99]

24 映射容器

25 映射容器 映射容器 用于存放 键 值 对象对 ; 每一个键对象都惟一地对应一个值对象, 但不同的键对象可以对应相同的值对象 ; 映射容器内存放的键对象不允许重复 ; 映射容器内存放值对象则可以重复 ; 接口 Map 描述了映射容器应该实现的方法 ; 映射容器类必须实现接口 Map 或其后代接口 ;

26 接口 Map Object put(object key, Object value): 将映射容器内的键对象 key 关联到值对象 value void putall(map map): 对参数指定的映射容器 map 的每一个键 值对象对, 调用当前映射容器的方法 put(object key, Object value) Object remove(object key) void clear() Object get(object key) boolean containskey(object key) boolean containsvalue(object value) Set entryset(): 将映射容器转换为集合容器, 该集合容器中存放类型为 Map.Entry 的键 值对象对 Set keyset(): 将映射容器存放的所有键对象转换为集合容器 Collection values(): 将映射容器存放的所有值对象转换为类集容器 boolean isempty() int size() boolean equals(object o) int hashcode()

27 关于 Map.Entry 方法 entryset() 返回映射容器的一个集合容器视图, 该集合容器所存 放对象的动态类型是 Map.Entry, 这是为描述映射容器所存放的 键 值对象对 应该实现的方法而定义在接口 Map 中的嵌套接口 : public interface Map {... // 其它成员 public static interface Entry { Object getkey(); // 返回键对象 Object getvalue(); // 返回值对象 // 将值对象替换为新的对象 value, 返回被替换的值对象 ( 引用 ) Object setvalue(object value); // 实现该接口的类应该提供深比较相等的实现 boolean equals(object o); int hashcode(); // 相应地也应该定义 hashcode() 方法... // 其它成员

28 class Person implements Comparable { private String name; // 姓名 private Sex sex; // 性别 private int age; // 年龄 public Person(String name, Sex sex, int age) { this.name = name; this.sex = sex; this.age = age; public String getname() {return name; public Sex getsex() {return sex; public int getage() {return age; public void setage(int age) {this.age = age; public String tostring() {return "[ 姓名 :" + name + ", 性别 :" + sex + ", 年龄 :" + age + "]"; // 重定义 equals() 和 hashcode() 以作为映射容器的值对象 public boolean equals(object other) { if (other == null) return false; if (other == this) return true; if (!(other instanceof Person)) return false; Person temp = (Person) other; return name.equals(temp.name) && sex.equals(temp.sex); // 待续 通信录中的 Person 类

29 // 继续 public int hashcode() { int result = 17; result = 37 * result + name.hashcode(); result = 37 * result + sex.hashcode(); return result; public int compareto(object other) { if (other == null) return 1; if (other == this) return 0; if (!(other instanceof Person)) throw new ClassCastException(" 比较的不是两个 Person 对象 "); Person temp = (Person) other; int value; // 同样在比较两个 Person 对象时也不涉及 age, 以保证 compareto() 与 equals() 的一致性 if ((value = name.compareto(temp.name))!= 0) return value; else return sex.compareto(temp.sex); 通信录中的 Person 类

30 import java.util.*; public class DemoEntrySet { public static void main(string[] args) { Map phonebook = new HashMap(); // 创建类 HashMap 的映射容器 // 添加元素到映射容器 phonebook.put(new PhoneNumber(" "), new Person(" 赵女士 ", Sex.WOMAN,30)); phonebook.put(new PhoneNumber(" "), new Person(" 赵女士 ", Sex.WOMAN,30)); phonebook.put(new PhoneNumber(" "), new Person(" 罗先生 ", Sex.MAN, 28)); phonebook.put(new PhoneNumber(" "), new Person(" 罗先生 ", Sex.MAN, 28)); phonebook.put(new PhoneNumber(" "), new Person(" 李先生 ", Sex.MAN, 34)); // 转换为存放元素类型为 Map.Entry 的集合容器, 通过该容器遍历映射容器 phonebook Set book = phonebook.entryset(); Iterator iterator = book.iterator(); while (iterator.hasnext()) { Map.Entry phone = (Map.Entry) iterator.next(); System.out.println(" 电话 :" + phone.getkey() + ", 属于 :"+ ((Person) phone.getvalue()).getname()); if (phone.getkey().equals(new PhoneNumber(" "))) phone.setvalue(new Person(" 衣女士 ", Sex.WOMAN, 28)); 待续 通信录主程序

31 // 通过键对象集遍历映射容器 phonebook, 可知电话 的主人已经被修改为衣女士 Set phonenumber = phonebook.keyset(); iterator = phonenumber.iterator(); while (iterator.hasnext()) { PhoneNumber number = (PhoneNumber) iterator.next(); Person person = (Person) phonebook.get(number); System.out.println(" 电话 :" + number + ", 属于 :" + person.getname()); // 可通过 phonenumber 删除 phonebook 中的元素 phonenumber.remove(new PhoneNumber(" ")); phonenumber.remove(new PhoneNumber(" ")); // 仍可使用先前得到的集合容器 book 进行遍历, 不过要重新获取迭代器, 否则会抛出异常 // 以下的遍历结果显示 phonebook 中的电话号码 和 都已经被删除 iterator = book.iterator(); while (iterator.hasnext()) { Map.Entry phone = (Map.Entry) iterator.next(); System.out.println(" 电话 :" + phone.getkey() + ", 属于 :" + ((Person) phone.getvalue()).getname()); // 不支持通过 phonenumber 添加元素, 以下语句会抛出异常 UnsupportedOperationException phonenumber.add(new PhoneNumber(" ")); 通信录主程序

32 映射容器类 类 HashMap HashTable 和 TreeMap 类 HashMap 内部使用散列表存放元素, 元素之间没有顺序 ; 类 TreeMap 是有序映射容器, 存放的元素之间有顺序, 这个顺序通过存放的对象实现接口 Comparable 或在创建容器时指定实现接口 Comparator 的对象而确定 类 HashTable 与 HashMap 基本类似, 相当于类 HashMap 的同步实现版本

33 import java.util.*; public class DemoMap { public static void main(string[] args) { Map bookone = new HashMap(); // 使用类 HashMap 创建普通映射容器 bookone.put(new PhoneNumber(" "), new Person(" 赵女士 ", Sex.WOMAN, 30)); bookone.put(new PhoneNumber(" "), new Person(" 赵女士 ", Sex.WOMAN, 30)); bookone.put(new PhoneNumber(" "), new Person(" 罗先生 ", Sex.MAN, 28)); bookone.put(new PhoneNumber(" "), new Person(" 李先生 ", Sex.MAN, 34)); System.out.println(" 在普通映射容器中的电话号码 :"); Set bookset = bookone.entryset(); Iterator iterator = bookset.iterator(); while (iterator.hasnext()) { Map.Entry obj = (Map.Entry) iterator.next(); System.out.println(" 电话 :" + obj.getkey() + ", 属于 :" + ((Person) obj.getvalue()).getname()); 在普通映射容器中的电话号码 : 电话 : , 属于 : 李先生 电话 : , 属于 : 赵女士电话 : , 属于 : 赵女士电话 : , 属于 : 罗先生

34 import java.util.*; public class DemoMap { public static void main(string[] args) { Map bookone = new HashMap(); // 使用类 TreeMap 创建有序映射容器 Map booktwo = new TreeMap(); // 添加元素到映射容器 在有序映射容器中的电话号码 : 电话 : , 属于 : 赵女士电话 : , 属于 : 赵女士电话 : , 属于 : 李先生电话 : , 属于 : 罗先生 booktwo.put(new PhoneNumber(" "), new Person(" 赵女士 ", Sex.WOMAN, 30)); booktwo.put(new PhoneNumber(" "), new Person(" 赵女士 ", Sex.WOMAN, 30)); booktwo.put(new PhoneNumber(" "), new Person(" 罗先生 ", Sex.MAN, 28)); booktwo.put(new PhoneNumber(" "), new Person(" 李先生 ", Sex.MAN, 34)); System.out.println(" 在有序映射容器中的电话号码 :"); bookset = booktwo.entryset(); iterator = bookset.iterator(); while (iterator.hasnext()) { Map.Entry obj = (Map.Entry) iterator.next(); System.out.println(" 电话 :" + obj.getkey() + ", 属于 :" + ((Person) obj.getvalue()).getname());

35 数组操纵工具 对象容器操纵工具 类 Arrays 是 Java API 提供的操纵数组的辅助工具类, 它提供了一系列的静态公有方法来辅助操纵各种数组, 完成填充 (fill) 排序 (sort) 查找 (search) 和比较等功能, 这些功能扩充了 Java 语言数组类型处理数据的能力 容器操纵工具 类 Collectoins 是 Java API 提供的操纵除数组外其它对象容器的辅助工具类, 它提供的一系列静态公有方法除可辅助操纵各种对象容器 ( 主要是列表容器 ) 外, 还可对各种对象容器进行包装, 以得到同步实现和不可修改的对象容器

36 import java.util.*; public class DemoUnmodifiable { public static void main(string[] args) { List list = new LinkedList(); for (int i = 0; i < 10; i++) 在有序映射容器中的电话号码 : 电话 : , 属于 : 赵女士电话 : , 属于 : 赵女士电话 : , 属于 : 李先生电话 : , 属于 : 罗先生 list.add(new SmallClass(i * 10)); // 返回 list 的一个不可修改的视图! List umlist = Collections.unmodifiableList(list); // 下述语句将抛出 UnsupportedOperationException 异常 // umlist.add(new SmallClass(999)); // 通过原来的容器对象仍可修改容器中的元素 list.remove(new SmallClass(70)); // 这种修改也会影响该容器的不可修改容器视图, 在以下的遍历中可发现 // 内部整数值为 70 的对象已经被删除 Iterator iterator = umlist.iterator(); while (iterator.hasnext()) { SmallClass obj = (SmallClass) iterator.next(); System.out.println(obj); // 修改该容器内存放的对象与不可修改容器的不可修改性无关! obj.set(777);

37 迭代器 (Iterator) 对象容器操纵工具 在组织和操纵批量数据时, 遍历所有的数据是其中一项重要的操作 ; 迭代器是对象容器的遍历行为的一种抽象 ; 迭代器的设计目标是将遍历行为与组织数据的对象容器的其它行为 ( 如插入 删除元素等 ) 分离开 ; 迭代器模式的基本思想是定义一个迭代器接口 Iterator, 支持遍历行为的对象容器 ( 称为迭代器的基础容器 ) 通常使用内部类实现该接口, 对象容器的使用者可通过公有方法获得该容器的一个迭代器对象 ;

38 迭代器 (Iterator) 迭代器接口 Iterator 定义为 : public interface Iterator { public boolean hasnext(); // 判断容器是否有下一元素 public Object next(); // 返回基础容器的下一元素 public void remove(); // 删除基础容器的当前元素

39 迭代器 (Iterator) 迭代器 (Iterator) 的实现 public abstract class AbstractList extends AbstractCollection implements List {... // 其它语句 // 定义私有类实现接口 Iterator private class Itr implements Iterator {... // 实现接口 Iterator 的方法 // 使用公有方法返回类 Itr 的一个实例作为使用者使用的迭代器 public Iterator iterator() { return new Itr();...

40 迭代器 (Iterator) 的使用 迭代器 (Iterator) // container 是任意的类集容器 Iterator iterator = container.iterator(); while (iterator.hasnext()) { // 假定 container 存放对象的类型是 MyClass // 返回容器 container 存放的当前元素的引用, 并移向下一元素 MyClass obj = (MyClass)iterator.next();... // 利用对象引用 obj 对该元素进行修改等其它操作 // 进一步可根据某种条件过滤 ( 即删除 )container 中的当前元素 if (...) iterator.remove();

41 注意事项 : 迭代器 (Iterator) 方法 next() 返回的对象引用与基础容器的当前对象引用指向同一个对象实例, 使用者使用返回的对象引用进行操作也会影响容器中的对象引用所指向的对象实例 ; 方法 remove() 是将容器内的当前对象引用删除, 不会影响后续的遍历过程 ; 通用迭代器是一次性消耗品, 当遍历完容器所有元素之后, 通用迭代器对象就再也没有用了, 因为通用迭代器对象没有提供返回到起始位置的方法 ; 在获得迭代器后, 只能通过迭代器的 remove() 方法删除 ( 或增加 ) 基础容器内的元素, 否则会抛出异常 ConcurrentModificationException, 迭代器的这种性质被称为 failfast( 遇并发修改则即时作废 )

42 迭代器 (Iterator) 例如下述程序片段将抛出异常 ConcurrentModificationException: Iterator iterator = container.iterator(); container.add(new MyClass()); // 改变容器内的元素 while (iterator.hasnext()) { // 下述语句抛出异常 MyClass obj = (MyClass)iterator.next();

43 好好想想, 有没有问题? 谢谢!

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

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

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

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

无类继承.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

新・解きながら学ぶ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

// 获取并集 // set1.addall(set2); // 获取交集 set1.retainall(set2); // 打印操作结果 set1.foreach(o -> System.out.println(o)); 运行结果如图 6-1 所示 图 6-1 运行结果 三 案例总结 1 Coll

// 获取并集 // set1.addall(set2); // 获取交集 set1.retainall(set2); // 打印操作结果 set1.foreach(o -> System.out.println(o)); 运行结果如图 6-1 所示 图 6-1 运行结果 三 案例总结 1 Coll 第 6 章集合 案例 6-1 Collection 单列集合的操作 一 案例描述 1 考核知识点编号 :063006002~063006008 063006018 名称 :Collection 单列集合 Arrays 工具类 2 练习目标 掌握 Collection 单列集合方法的使用 3 需求分析 Collection 是所有单列集合的根接口, 在 Collection 中定义了单列集合 (List

More information

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

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 70-536Chinese(C++) Title : TS:MS.NET Framework 2.0-Application Develop Foundation Version : DEMO 1 / 10 1. Exception A. Data B. Message C.

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

(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

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

软件工程文档编制

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

More information

javac: 负 责 的 是 编 译 的 部 分, 当 执 行 javac 时, 会 启 动 java 的 编 译 器 程 序 对 指 定 扩 展 名 的.java 文 件 进 行 编 译 生 成 了 jvm 可 以 识 别 的 字 节 码 文 件 也 就 是 class 文 件, 也 就 是 ja

javac: 负 责 的 是 编 译 的 部 分, 当 执 行 javac 时, 会 启 动 java 的 编 译 器 程 序 对 指 定 扩 展 名 的.java 文 件 进 行 编 译 生 成 了 jvm 可 以 识 别 的 字 节 码 文 件 也 就 是 class 文 件, 也 就 是 ja Java 基 础 知 识 总 结 一 :java 概 述 : 1,JDK:Java Development Kit,java 的 开 发 和 运 行 环 境,java 的 开 发 工 具 和 jre 2,JRE:Java Runtime Environment,java 程 序 的 运 行 环 境,java 运 行 的 所 需 的 类 库 +JVM(java 虚 拟 机 ) 3, 配 置 环 境 变

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

第五章数组 实验目的 (1) 掌握一维 二维数组的定义及初始化方法 (2) 掌握循环结构域数组相结合解决问题的方法 (3) 理解数组下标和数组元素间的关系 (4) 掌握 List 类的使用方法 实验范例 1 静态数组 (1) 数组例 1:( 一维数组 ) 输入一行字符, 分别统计出其中英文字母 空格

第五章数组 实验目的 (1) 掌握一维 二维数组的定义及初始化方法 (2) 掌握循环结构域数组相结合解决问题的方法 (3) 理解数组下标和数组元素间的关系 (4) 掌握 List 类的使用方法 实验范例 1 静态数组 (1) 数组例 1:( 一维数组 ) 输入一行字符, 分别统计出其中英文字母 空格 第五章数组 实验目的 (1) 掌握一维 二维数组的定义及初始化方法 (2) 掌握循环结构域数组相结合解决问题的方法 (3) 理解数组下标和数组元素间的关系 (4) 掌握 List 类的使用方法 实验范例 1 静态数组 (1) 数组例 1:( 一维数组 ) 输入一行字符, 分别统计出其中英文字母 空格 数字和其它字符的个数 int digital = 0; int character = 0; int

More information

北 风 网 讲 师 原 创 作 品 ---- 仅 供 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见

北 风 网 讲 师 原 创 作 品 ---- 仅 供  学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 北 风 网 讲 师 原 创 作 品 ---- 仅 供 www.ibeifeng.com 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 者 远 ; 顺 风 而 呼, 声 非 加 疾 也, 而 闻 者 彰 假 舆 马 者, 非 利 足 也,

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 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

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

More information

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii

前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii 前言 C# C# C# C C# C# C# C# C# microservices C# More Effective C# More Effective C# C# C# C# Effective C# 50 C# C# 7 Effective vii C# 7 More Effective C# C# C# C# C# C# Common Language Runtime CLR just-in-time

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

Microsoft PowerPoint - chap13.ppt

Microsoft PowerPoint - chap13.ppt 第 13 章集合 資訊科技系 林偉川 集合 了解 Collection 具體類別所使用的基本資料結構熟悉 Collection Framework 介面的繼承架構熟悉各個 Collection 具體類別的特性及應用熟悉 Generic 了解 Arrays 與 Collections 類別的常用方法了解覆蓋 equals() 方法的規則了解 equals() 和 hashcode() 之間的關係了解

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

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

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

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

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

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

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

extend

extend (object oriented) Encapsulation Inheritance Polymorphism Dynamic Binding (base class) (derived class) 1 class Base { int I; void X(); void Y(); class Derived: public Base { private: int j; void z(); Derived

More information

《大话设计模式》第一章

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

More information

Microsoft Word - 01.DOC

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

More information

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F

1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET NET Framework.NET Framework 2.0 ( 3 ).NET Framework 2.0.NET F 1 Framework.NET Framework Microsoft Windows.NET Framework.NET Framework NOTE.NET 2.0 2.0.NET Framework.NET Framework 2.0 ( 3).NET Framework 2.0.NET Framework ( System ) o o o o o o Boxing UnBoxing() o

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

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

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

Java第一天 2007年4月23日

Java第一天      2007年4月23日 Java 第 一 天 2007 年 4 月 23 日 1 Java 之 父 Golsling 1995 年 5 月 23 日 Java 诞 生 1998 年 12 月 1.2 版 本 Java2 J2SE J2EE J2ME 2004 年 12 月 1.5 版 本 (5.0) Java JavaSE JavaEE JavaME 2 Java SE --- Java 标 准 平 台 Java EE ---

More information

Guava学习之Resources

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

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 Word - 第6章.doc

Microsoft Word - 第6章.doc 100 第 6 章 继 承 第 6 章 继 承 继 承 是 面 向 对 象 编 程 的 重 要 特 征 之 一 顾 名 思 义, 继 承 就 是 在 现 有 类 的 基 础 上 构 建 新 类 以 满 足 新 的 要 求 在 继 承 过 程 中, 新 的 类 继 承 原 来 的 方 法 和 实 例 变 量, 并 且 能 添 加 自 己 的 方 法 和 实 例 变 量 在 本 章 中 主 要 讲 解

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

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

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

More information

OOP with Java 通知 Project 6: 5 月 24 日晚 9 点

OOP with Java 通知 Project 6: 5 月 24 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 6: 5 月 24 日晚 9 点 复习 内部类 定义在一个类的内部 class Outer{ class Inner{...... public class Parcel{ class Contents{ private int i = 11; public int value() {return

More information

chp6.ppt

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

More information

untitled

untitled How to using M-Power Report API M-Power Report API 力 了 M-Power Report -- Java (Library) M-Power Report API 行 Java M-Power Report M-Power Report API ( 30 ) PDF/HTML/CSV/XLS JPEG/PNG/SVG 料 料 OutputStream

More information

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

<4D6963726F736F667420506F776572506F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074> 程 序 设 计 实 习 INFO130048 3-2.C++ 面 向 对 象 程 序 设 计 重 载 继 承 多 态 和 聚 合 复 旦 大 学 计 算 机 科 学 与 工 程 系 彭 鑫 pengxin@fudan.edu.cn 内 容 摘 要 方 法 重 载 类 的 继 承 对 象 引 用 和 拷 贝 构 造 函 数 虚 函 数 和 多 态 性 类 的 聚 集 复 旦 大 学 计 算 机 科 学

More information

实验报告 实验题目 Java 实验 (1) 实验目的 学习 Java 语言的编程 实验准备 直接从网上或从上传作业的网站上下载并安装 JDK

实验报告 实验题目 Java 实验 (1) 实验目的 学习 Java 语言的编程 实验准备 直接从网上或从上传作业的网站上下载并安装 JDK 实验题目 Java 实验 (1) 实验目的 学习 Java 语言的编程 实验准备 直接从网上或从上传作业的网站上下载并安装 JDK http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html 预备知识 (1) 常量定义 final int LEVEL_NUM = 1000; (2)

More information

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

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

More information

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

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

More information

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B

9, : Java 19., [4 ]. 3 Apla2Java Apla PAR,Apla2Java Apla Java.,Apla,,, 1. 1 Apla Apla A[J ] Get elem (set A) A J A B Intersection(set A,set B) A B A B 25 9 2008 9 M ICROEL ECTRON ICS & COMPU TER Vol. 25 No. 9 September 2008 J ava 1,2, 1,2, 1,2 (1, 330022 ; 2, 330022) :,. Apla - Java,,.. : PAR ;Apla - Java ; ;CMP ; : TP311 : A : 1000-7180 (2008) 09-0018

More information

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

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

More information

模板

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

More information

PowerPoint 簡報

PowerPoint 簡報 第十二章 Collection 本章內容 12-1 Collection 集合 12-2 使用 Map 介面 12-3 12-4 Vector 和 Stack 類別 Collection API 的使用特性 12-5 Generics J2SE 5.0 2 第十二章 Collection 相關的集合介面或是類別是放在 java.util 套件之下 Collection 類別的主要功能是用來將儲存的資料以某種架構組織,

More information

untitled

untitled 1 Outline ArrayList 類 列類 串類 類 類 例 理 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object

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

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

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

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

<4D F736F F F696E74202D20A1B64A617661B8DFBCB6BCBCCAF5A1B7B5DA31312E35BDB220B6AFCCACC0E0D0CDBCECB2E92E707074>

<4D F736F F F696E74202D20A1B64A617661B8DFBCB6BCBCCAF5A1B7B5DA31312E35BDB220B6AFCCACC0E0D0CDBCECB2E92E707074> Java 高级技术 课程 Java 语言的高级特性 (8) 李戈 北京大学信息科学技术学院软件研究所 2008 年 5 月 11 日 运行期类型识别 RTTI ( Run-Time Type Identification ) 在运行期间, 识别一个对象的类型 运行期类型识别 RTTI 的三种方法 强制类型转换 利用 Class 对象 通过比较识别类型 (1) 利用强制类型转换判别运行期类型 class

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

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

二 Synchronized 1. Java 语 言 的 关 键 字, 当 它 用 来 修 饰 一 个 方 法 或 者 一 个 代 码 块 的 时 候, 能 够 保 证 在 同 一 时 刻 最 多 只 有 一 个 线 程 执 行 该 段 代 码 2. 当 两 个 并 发 线 程 访 问 同 一 个

二 Synchronized 1. Java 语 言 的 关 键 字, 当 它 用 来 修 饰 一 个 方 法 或 者 一 个 代 码 块 的 时 候, 能 够 保 证 在 同 一 时 刻 最 多 只 有 一 个 线 程 执 行 该 段 代 码 2. 当 两 个 并 发 线 程 访 问 同 一 个 Java 基 础 包 括 多 线 程 (Thread 和 Runable 的 区 别 ) 同 步 异 步 (Synchronized) 线 程 池 集 合 序 列 化 反 射 实 例 化 过 程 JDBC 常 用 类 IBatis Java 类 生 命 周 期 Java Web 生 命 周 期 Tomcat 出 去 Http 请 求 过 程 Java 垃 圾 回 收 机 制 Java 性 能 优 化

More information

untitled

untitled 1 MSDN Library MSDN Library 量 例 參 列 [ 說 ] [] [ 索 ] [] 來 MSDN Library 了 類 類 利 F1 http://msdn.microsoft.com/library/ http://msdn.microsoft.com/library/cht/ Object object 參 類 都 object 參 object Boxing 參 boxing

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

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2009 年 下 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 请 按 下 述 要 求 正 确 填 写 答 题 纸 1. 在 答 题 纸 的 指 定 位 置 填 写 你 所 在 的 省 自 治 区 直 辖 市 计 划 单 列 市 的 名 称 2. 在 答

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

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

java 难 试卷 总分 题号 一 二 三 四 五 题分 得分 得分 一 单选题 ( 每题 3 分, 共计 15 分 ) 1 下面选项中, 关于 PrintStream 类描述错误的是 ( ) A PrintStream 可以实现将基本数据类型的数据或引用数据类型的对象格式化成字符串后再输出 B P

java 难 试卷 总分 题号 一 二 三 四 五 题分 得分 得分 一 单选题 ( 每题 3 分, 共计 15 分 ) 1 下面选项中, 关于 PrintStream 类描述错误的是 ( ) A PrintStream 可以实现将基本数据类型的数据或引用数据类型的对象格式化成字符串后再输出 B P java 难 试卷 总分 题号 一 二 三 四 五 题分 一 单选题 ( 每题 3 分, 共计 15 分 ) 1 下面选项中, 关于 PrintStream 类描述错误的是 ( ) A PrintStream 可以实现将基本数据类型的数据或引用数据类型的对象格式化成字符串后再输出 B PrintStream 类位于 IO 包中, 是字符输出流的子类 C 调用 println() 方法和 print()

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

未命名

未命名 1 Synchronized synchronized Java ( ) Synchronized Java unlock lock load assign unlock (happen-before) lock Synchronized null " " HotSpot JVM Object Monitor synchronized 1 2 Class synchronized monitor Class

More information

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

《计算概论》课程 第十九讲  C 程序设计语言应用 Java 高级技术 课程第二讲 Java 语言的面向对象特性 (2) 李戈 北京大学信息科学技术学院软件研究所 2010 年 3 月 21 日 课程助教 : 前言 黎育龙 (10817195@pub.ss.pku.edu.cn) Email 标题 :Java 高级技术 + 题目 请不要把作业发到我的信箱 ; 新的课程网站 http://www.ontoedu.pku.edu.cn/index.jsp

More information

個 人 的 手, 拉 著 瞎 子 的 手 把 他 帶 往 村 外 的 時 候, 對 於 瞎 子 來 講, 那 個 人 的 手 和 耶 穌 的 手 有 沒 有 區 別? 沒 有! 為 什 麼 沒 有 區 別? 因 為 對 於 一 個 瞎 子 來 說, 手 和 耳 朵 就 是 他 接 觸 世 界, 瞭

個 人 的 手, 拉 著 瞎 子 的 手 把 他 帶 往 村 外 的 時 候, 對 於 瞎 子 來 講, 那 個 人 的 手 和 耶 穌 的 手 有 沒 有 區 別? 沒 有! 為 什 麼 沒 有 區 別? 因 為 對 於 一 個 瞎 子 來 說, 手 和 耳 朵 就 是 他 接 觸 世 界, 瞭 課 目 : 講 道 法 學 生 : 楊 建 偉 老 師 : 汪 院 長 時 間 :2009 年 8 月 1 日 靈 命 三 階 ( 可 8:22-26) 在 四 部 福 音 書 中, 這 是 一 段 很 特 別 的 記 載 特 別 在 什 麼 地 方 呢? 是 不 是 特 別 在 耶 穌 基 督 對 一 個 病 人 的 醫 治? 不, 在 耶 穌 三 年 半 的 服 侍 當 中, 曾 經 醫 治 數

More information

untitled

untitled 1 行 行 行 行.NET 行 行 類 來 行 行 Thread 類 行 System.Threading 來 類 Thread 類 (1) public Thread(ThreadStart start ); Name 行 IsAlive 行 行狀 Start 行 行 Suspend 行 Resume 行 行 Thread 類 (2) Sleep 行 CurrentThread 行 ThreadStart

More information

untitled

untitled 1 Outline 類别 欄 (1) 類 類 狀 更 易 類 理 若 類 利 來 利 using 來 namespace 類 ; (2) namespace IBM class Notebook namespace Compaq class Notebook 類别 類 來 類 列 欄 (field) (property) (method) (event) 類 例 立 來 車 類 類 立 車 欄 料

More information

基于ECO的UML模型驱动的数据库应用开发1.doc

基于ECO的UML模型驱动的数据库应用开发1.doc ECO UML () Object RDBMS Mapping.Net Framework Java C# RAD DataSetOleDbConnection DataGrod RAD Client/Server RAD RAD DataReader["Spell"].ToString() AObj.XXX bug sql UML OR Mapping RAD Lazy load round trip

More information

Microsoft Word - 投影片ch16

Microsoft Word - 投影片ch16 Java2 JDK5.0 教 學 手 冊 第 三 版 洪 維 恩 編 著 博 碩 文 化 出 版 書 號 pg20210 本 章 學 習 目 標 第 十 六 章 Java collection 集 合 物 件 認 識 collection 架 構 認 識 並 學 習 如 何 建 立 各 種 集 合 物 件 學 習 利 用 Iterator 介 面 的 method 走 訪 元 素 學 習 利 用 ListIterator

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

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

OOP with Java 通知 Project 3: 4 月 19 日晚 9 点 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3: 4 月 19 日晚 9 点 复习 Upcasting 同一基类的不同子类可以被视为同一类型 ( 基类 ) 放宽类型一致性 简化接口 class A{ class B{ A a = new A(); B b = new B(); // A a = new B(); compile

More information

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

KillTest 质量更高 服务更好 学习资料   半年免费更新服务 KillTest 质量更高 服务更好 学习资料 http://www.killtest.cn 半年免费更新服务 Exam : 1Z0-854 Title : Java Standard Edition 5 Programmer Certified Professional Upgrade Exam Version : Demo 1 / 12 1.Given: 20. public class CreditCard

More information

Swing-02.pdf

Swing-02.pdf 2 J B u t t o n J T e x t F i e l d J L i s t B u t t o n T e x t F i e l d L i s t J F r a m e 21 2 2 Swing C a n v a s C o m p o n e n t J B u t t o n AWT // ToolbarFrame1.java // java.awt.button //

More information

python内存管理

python内存管理 Python 级内存管理 - xiaorui.cc Object-specific allocators [ int ] [ dict ] [ list ]... [ string ] Python core +3 [ Python's object allocator ]

More information

第 6 章集合 学习目标 掌握 List 集合 Set 集合 Map 集合的使用 掌握集合遍历的方法的使用 熟悉泛型的使用 掌握 Collections Arrays 工具类的使用 掌握 JDK 8 的新功能 聚合操作 在前面的章节中讲过, 数组可以保存多个对象, 但在某些情况下无法确定到底需要保存

第 6 章集合 学习目标 掌握 List 集合 Set 集合 Map 集合的使用 掌握集合遍历的方法的使用 熟悉泛型的使用 掌握 Collections Arrays 工具类的使用 掌握 JDK 8 的新功能 聚合操作 在前面的章节中讲过, 数组可以保存多个对象, 但在某些情况下无法确定到底需要保存 第 6 章集合 学习目标 掌握 List 集合 Set 集合 Map 集合的使用 掌握集合遍历的方法的使用 熟悉泛型的使用 掌握 Collections Arrays 工具类的使用 掌握 JDK 8 的新功能 聚合操作 在前面的章节中讲过, 数组可以保存多个对象, 但在某些情况下无法确定到底需要保存多少个对象, 此时数组将不再适用, 因为数组的长度不可变 例如, 要保存一个学校的学生信息, 由于不停有新生来报道,

More information

IoC容器和Dependency Injection模式.doc

IoC容器和Dependency Injection模式.doc IoC Dependency Injection /Martin Fowler / Java Inversion of Control IoC Dependency Injection Service Locator Java J2EE open source J2EE J2EE web PicoContainer Spring Java Java OO.NET service component

More information

Microsoft Word - ch04三校.doc

Microsoft Word - ch04三校.doc 4-1 4-1-1 (Object) (State) (Behavior) ( ) ( ) ( method) ( properties) ( functions) 4-2 4-1-2 (Message) ( ) ( ) ( ) A B A ( ) ( ) ( YourCar) ( changegear) ( lowergear) 4-1-3 (Class) (Blueprint) 4-3 changegear

More information

untitled

untitled 1 .NET 利 [] [] 來 說 切 切 理 [] [ ] 來 說 拉 類 類 [] [ ] 列 連 Web 行流 來 了 不 不 不 流 立 行 Page 類 Load 理 Response 類 Write 料 Redirect URL Response.Write("!! ives!!"); Response.Redirect("WebForm2.aspx"); (1) (2) Web Form

More information

输入 project name 选择完成

输入 project name 选择完成 JAVA 程序访问 HighGo DB 的环境准备 山东瀚高科技有限公司版权所有仅允许不作任何修改的转载和转发 Hibernate 的配置 MyEclipse 中创建新项目 : 选择菜单栏 file---new---project 选择 web project 进行下一步 输入 project name 选择完成 4. 单击 " 添加 JAR/ 文件夹 ", 会如下图出现 JDBC 下载 Hibernate

More information

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO CHAPTER 使用 Hadoop 打造自己的雲 8 8.3 測試 Hadoop 雲端系統 4 Nodes Hadoop Map Reduce Hadoop WordCount 4 Nodes Hadoop Map/Reduce $HADOOP_HOME /home/ hadoop/hadoop-0.20.2 wordcount echo $ mkdir wordcount $ cd wordcount

More information

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new ListView 自訂排版 主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new int[]{r.drawable.dog1, R.drawable.dog2,

More information

注 意 类 名 中 单 词 的 首 字 母 大 写 实 例 变 量 : 定 义 在 类 中 但 在 任 何 方 法 之 外 (New 出 来 的 均 有 初 值 ) 局 部 变 量 : 定 义 在 方 法 之 中 的 变 量 局 部 变 量 要 先 赋 值, 再 进 行 运 算, 而 实 例 变 量

注 意 类 名 中 单 词 的 首 字 母 大 写 实 例 变 量 : 定 义 在 类 中 但 在 任 何 方 法 之 外 (New 出 来 的 均 有 初 值 ) 局 部 变 量 : 定 义 在 方 法 之 中 的 变 量 局 部 变 量 要 先 赋 值, 再 进 行 运 算, 而 实 例 变 量 JAVA 的 面 向 对 象 编 程 -------- 课 堂 笔 记 面 向 对 象 主 要 针 对 面 向 过 程 面 向 过 程 的 基 本 单 元 是 函 数 什 么 是 对 象 :EVERYTHING IS OBJECT( 万 物 皆 对 象 ) 所 有 的 事 物 都 有 两 个 方 面 : 有 什 么 ( 属 性 ): 用 来 描 述 对 象 能 够 做 什 么 ( 方 法 ): 告

More information

untitled

untitled Java Java Java Java 52 24 Java Java Swing Java 010-62782989 13901104297 13801310933 CIP Java /. 2004 ISBN 7-302-09776-3. J.. JAVA. TP312 CIP 2004 108635 http://www.tup.com.cn 100084 010-62770175 010-62776969

More information

全国计算机技术与软件专业技术资格(水平)考试

全国计算机技术与软件专业技术资格(水平)考试 全 国 计 算 机 技 术 与 软 件 专 业 技 术 资 格 ( 水 平 ) 考 试 2008 年 上 半 年 程 序 员 下 午 试 卷 ( 考 试 时 间 14:00~16:30 共 150 分 钟 ) 试 题 一 ( 共 15 分 ) 阅 读 以 下 说 明 和 流 程 图, 填 补 流 程 图 中 的 空 缺 (1)~(9), 将 解 答 填 入 答 题 纸 的 对 应 栏 内 [ 说 明

More information

Chapter 16 集合

Chapter 16 集合 Chapter 16 集合 20 ArrayList StringCollection 16 本章學習目標 : ArrayList ArrayList Array StringCollection 16-1 21 10-3-8 System.Array Clear Clear 16-1 Clear System.Array Microsoft System.Collection IList 542

More information

Hadoop&Spark解决二次排序问题(Hadoop篇)

Hadoop&Spark解决二次排序问题(Hadoop篇) Hadoop&Spark 解决二次排序问题 (Spark 篇 ) 问题描述 二次排序就是 key 之间有序, 而且每个 Key 对应的 value 也是有序的 ; 也就是对 MapReduce 的输出 (KEY, Value(v 1,v 2,v 3,...,v n )) 中的 Value(v 1,v 2,v 3,...,v n ) 值进行排序 ( 升序或者降序 ), 使得 Value(s 1,s 2,s

More information

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 access_token=access_token (http

停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址   access_token=access_token (http 停止混流接口 请注意 : 该功能需要联系 ZEGO 技术支持开通 1 接口调用说明 http 请求方式 : POST/FORM, 需使用 https 正式环境地址 https://webapi.zego.im/cgi/stop-mix? access_token=access_token (https://webapi.zego.im/cgi/stop-mix? access_token=access_token)

More information

untitled

untitled 1 LinkButton LinkButton 連 Button Text Visible Click HyperLink HyperLink 來 立 連 Text ImageUrl ( ) NavigateUrl 連 Target 連 _blank _parent frameset _search _self 連 _top 例 sample2-a1 易 連 private void Page_Load(object

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

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

第 1 部分适应设计模式 第 1 章 Iterator 模式 一个一个遍历

第 1 部分适应设计模式 第 1 章 Iterator 模式 一个一个遍历 第 1 部分适应设计模式 第 1 章 Iterator 模式 一个一个遍历 2 第 1 章 Iterator 模式 1.1 Iterator 模式 使用 Java 语言显示数组 arr 中的元素时 我们可以使用下面这样的 for 循环语句遍历数组 for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); 请注意这段代码中的循环变量

More information

ebook39-5

ebook39-5 5 3 last-in-first-out, LIFO 3-1 L i n e a r L i s t 3-8 C h a i n 3 3. 8. 3 C + + 5.1 [ ] s t a c k t o p b o t t o m 5-1a 5-1a E D 5-1b 5-1b E E 5-1a 5-1b 5-1c E t o p D t o p D C C B B B t o p A b o

More information