The Embedded computing platform

Similar documents
Chapter 9: Objects and Classes

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

運算子多載 Operator Overloading

软件工程文档编制

投影片 1

Microsoft Word - 投影片ch11

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


Microsoft Word - 投影片ch15

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

untitled

(6) 要 求 付 款 管 理 员 从 预 订 表 中 查 询 距 预 订 的 会 议 时 间 两 周 内 的 预 定, 根 据 客 户 记 录 给 满 足 条 件 的 客 户 发 送 支 付 余 款 要 求 (7) 支 付 余 款 管 理 员 收 到 客 户 余 款 支 付 的 通 知 后, 检

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

投影片 1

EJB-Programming-4-cn.doc

untitled

<4D F736F F F696E74202D20332D322E432B2BC3E6CFF2B6D4CFF3B3CCD0F2C9E8BCC6A1AAD6D8D4D8A1A2BCCCB3D0A1A2B6E0CCACBACDBEDBBACF2E707074>

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

untitled

《大话设计模式》第一章

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

Chapter 9: Objects and Classes

3.1 num = 3 ch = 'C' 2

JavaIO.PDF

chp6.ppt

EJB-Programming-3.PDF

javaexample-02.pdf

c_cpp

untitled


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

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

untitled

Microsoft PowerPoint - 14Threads.ppt

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

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

untitled

Microsoft Word - ch04三校.doc

Java

建模与图形思考

Python a p p l e b e a r c Fruit Animal a p p l e b e a r c 2-2

Microsoft Word - JAVA Programming Language Homework VI_ans.doc

Microsoft PowerPoint - L17_Inheritance_v4.pptx

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

Microsoft Word - 01.DOC

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

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

Microsoft Word - Part_V_JavaOOP.doc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

第3章.doc

Microsoft Word 軟體設計第二部份範例試題_C++_ _1_.doc

输入 project name 选择完成

C++ 程式設計

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

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

Microsoft Word - 新1-12.doc

<4D F736F F D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

untitled

Strings

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

附录J:Eclipse教程

Strings

untitled

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

提问袁小兵:

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

概述

C 1 # include <stdio.h> 2 int main ( void ) { 4 int cases, i; 5 long long a, b; 6 scanf ("%d", & cases ); 7 for (i = 0;i < cases ;i ++) 8 { 9

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

新版 明解C++入門編

Adobe® Flash® 的 Adobe® ActionScript® 3.0 程式設計

電機工程系認可證照清單 /7/1

一、

untitled

Java 1 Java String Date

CC213

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

提纲 1 2 OS Examples for 3

時 間 : 180 分 鐘 四 考 試 特 點 (a) 程 式 易 懂 撰 寫 簡 單, 不 必 經 過 長 時 間 的 課 程 訓 練 (b) 物 件 導 向 的 程 式 設 計, 將 重 點 擺 在 資 料 介 面 的 技 巧 (c)java 有 一 個 很 完 善 且 分 散 式 的 程 式

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

鋼結構在綠建築發展趨勢中之綜合評價

Microsoft Word - chap10.doc

Chapter12 Derived Classes

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

( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政

内 容 提 要 将 JAVA 开 发 环 境 迁 移 到 Linux 系 统 上 是 现 在 很 多 公 司 的 现 实 想 法, 而 在 Linux 上 配 置 JAVA 开 发 环 境 是 步 入 Linux 下 JAVA 程 序 开 发 的 第 一 步, 本 文 图 文 并 茂 地 全 程 指

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

untitled

任務二 : 產生 20 個有炸彈的磚塊, 放在隨機的位置編輯 Block 類別的程式碼 import greenfoot.; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) Write a description of class

單步除錯 (1/10) 打開 Android Studio, 點選 Start a new Android Studio project 建立專案 Application name 輸入 BMI 點下 Next 2 P a g e

untitled

1.5招募说明书(草案)

公共圖書館利用教育方案規劃之研究


<4D F736F F D B0EABB79A4E5B8D5C344BBBCB065AAA9>


康體藝術

untitled

团 学 要 闻 我 校 召 开 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 3 月 17 日, 我 校 共 青 团 五 届 九 次 全 委 ( 扩 大 ) 会 议 在 行 政 办 公 楼 五 楼 会 议 室 举 行, 校 团 委 委 员 各 院 ( 系 ) 团 委 书 记 校 学 生

Transcription:

嵌入式系統及實驗 Embedded System and Experiment 詹曉龍 長庚大學電機系

Java 的類別與物件 : 宣告類別 建構子 public class Customer { private String name; private String address; // Customer 類別宣告 // 成員資料 public int age; // 建構子 : 使用參數設定成員資料初始值 public Customer(String name, String a) { this.name = name; // 設定姓名 address = a; // 設定地址 2

Java 的類別與物件 // 方法 : 傳回姓名 public String getname() { return name; // 方法 : 傳回地址 public String getaddress() { return address; // 方法 : 傳回郵寄資料 public String getlabeldata() { String str = ""; str += "\n 姓名 : " + name; str += "\n 地址 : " + address; str += "\n 年齡 : " + age; str += "\n-------------------"; return str; 3

Java 的類別與物件 : 宣告物件變數 建立物件實例存取物件變數與方法 public class test1 { public static void main(string[ ] args) { String str = ""; Customer joe; // 宣告物件變數 joe = new Customer(" 陳會安 "," 新北巿 "); // 建立物件 joe.age = 40; // 指定 public 成員變數 str += joe.getlabeldata(); // 呼叫方法 str += "\nname: "+joe.getname(); str += "\naddress: "+joe.getaddress(); str += "\nage: "+joe.age; System.out.println(str); 4

Java 的類別與物件 執行結果 5

過載方法與串流呼叫方法 public class test2 { public static void main(string[ ] args) { String str = ""; Counter c = new Counter(); // 建立物件 // 呼叫過載方法 str += "a(1)+b(2) = " + c.sum(1, 2); str += "\na(1)+b(2)+c(3) = " + c.sum(1, 2, 3); // 串流呼叫方法 int count = c.count(2).count(3.0).getcount(); str += "\n 目前計數 : " + count; System.out.println(str); 6

過載方法與串流呼叫方法 class Counter { private int count; // 建構子 public Counter() { count = 0; // 過載方法 : 不同型態 public Counter count(double num) { count += num; return this; public Counter count(int num) { count += num; return this; 7

過載方法與串流呼叫方法 // 取得計數值 public int getcount() { return count; // 過載方法 : 不同參數個數 public int sum(int a, int b) { return a + b; public int sum(int a, int b, int c) { return a + b + c; 8

過載方法與串流呼叫方法 執行結果 9

靜態成員與靜態初始程式區塊 public class test3 { public static void main(string[ ] args) { String str = ""; // 宣告 Student 類別型態的變數且建立物件 Student std1 = new Student(1, 68.0); Student std2 = new Student(2, 77.0); str = " 老師編號 (Student): " + Student.teacherNo + "\n"; str += std1.getstudentinfo(); // 呼叫物件的實例方法 str += std2.getstudentinfo(); // 顯示學生人數 str += " 顯示類別變數值 ========="; str += "\n 學生人數 (Student): " + Student.getStudentCount(); str += "\n 更新老師編號為 501======"; Student.teacherNo = 501; // 更新老師編號 // 顯示老師編號 str += "\n 老師編號 (Student): " + Student.teacherNo; System.out.println(str); 10

靜態成員與靜態初始程式區塊 // Student 類別宣告 class Student { // 類別變數 : 老師編號 public static int teacherno = 500; private static int count; // 類別變數 : 學生人數 private int id; // 成員資料學號 private double grade; // 成員資料成績 // 建構子 : 使用參數設定初始值 public Student(int id, double grade) { this.id = id; this.grade = grade; // 設定成績 count++; // 學生人數加一 11

靜態成員與靜態初始程式區塊 // 類別方法 : 傳回學生的個數 public static int getstudentcount() { return count; // 成員方法 : 取得學生資料 public String getstudentinfo() { // 取得學生基本和成績資料 String str = "[ 學生資料 ]==============\n"; str += " 學生學號 : " + id + "\n"; str += " 學生成績 : " + grade + "\n"; return str; 12

靜態成員與靜態初始程式區塊 執行結果 13

Exercise 1 Based on Student Class 設計 2 個過載的 double getmaxgrade() 方法, 分別傳入 2 個或 3 個 double 參數 (using overloading), 傳回值是參數中的最大值,and update to the grade variable Add a new static variable, the name of Chairman. 14

類別的繼承 public class test4 { public static void main(string[ ] args) { String str = ""; // 宣告 Car 類別型態的變數, 並且建立物件 Car nissan = new Car("Sentra180", 49.9,4); Car honda = new Car("Civil", 55, 2); str += nissan.getcarinfo(); // 取得轎車資料 str += honda.getcarinfo(); System.out.println(str); 15

類別的繼承 class Vehicle { private String name; // Vehicle 類別宣告 // 型號名稱 private double price; // 價格 // 建構子 public Vehicle(String name, double price) { this.name = name; this.price = price; // 方法 : 取得交通工具的資料 public String getvehicleinfo() { return " 型號 : " + name + "\n 價格 : " + price + "\n"; 16

類別的繼承 class Car extends Vehicle { // Car 類別宣告 private int doors; // 建構子 // 幾門車 public Car(String name, double price, int doors) { super(name, price); // 呼叫父類別的建構子 this.doors = doors; // 方法 : 取得轎車資料 public String getcarinfo() { return "==== 轎車資料 ====\n" + getvehicleinfo() + // 呼叫父類別的方法 " 車有幾門 : " + doors + "\n"; 17

類別的繼承 執行結果 18

抽象類別與方法 public class test6 { public static void main(string[ ] args) { String str = ""; // 宣告 Circle 類別型態的變數, 並且建立物件 Circle c = new Circle(5.0, 10.0, 4.0); // 顯示圓形 c 的資料 str += " 圓形 c 的資料 ====="; str += "\nx 座標 : " + c.x; str += "\ny 座標 : " + c.y; str += "\n 半徑 : " + c.r; // 呼叫物件的實例方法 str += "\n 圓面積 : " + c.area(); System.out.println(str); 19

抽象類別與方法 abstract class Shape { // Shape 抽象類別宣告 public double x; // X 座標 public double y; // y 座標 abstract double area(); // 抽象方法 : 計算面積 class Circle extends Shape { // Circle 類別宣告 public double r; // 半徑 public Circle(double x, double y, double r) { this.x = x; this.y = y; this.r = r; public double area() {return 3.1416*r*r; // 成員方法 : 實作抽象方法 area() 20

抽象類別與方法 執行結果 21

Java 的介面 public class test7 { public static void main(string[ ] args) { String str = ""; // 宣告 Circle 類別型態的變數, 並且建立物件 Circle1 c = new Circle1(5.0, 5.0, 8.0); // 呼叫物件的介面方法 area() str += " 圓面積 : " + c.area() + "\n"; // 顯示介面的常數值 str += "PI 常數 : " + AreaInterface.PI; System.out.println(str); 22

Java 的介面 abstract class Shape1 { // Shape 抽象類別宣告 // 成員資料 public double x; // X 座標 public double y; // Y 座標 interface AreaInterface { // AreaInterface 介面宣告 // 常數的宣告 final double PI = 3.1415926; // 介面方法 : 計算面積 double area(); 23

Java 的介面 // Circle 類別宣告 class Circle1 extends Shape1 implements AreaInterface { // 成員資料 private double r; // 建構子 // 半徑 public Circle1(double x, double y, double r) { this.x = x; this.y = y; this.r = r; // 實作 AreaInterface 介面的方法 area() public double area() { return PI*r*r; 24

Java 的介面 執行結果 25

Exercise 2 Based on test6 Declare a class named Shape3D with its center value (x,y,z), and two methods named SurfaceArea and Volume Declare two new Classes named Ball and Cylinder inherit from Shape3D to calculate their SurfaceArea and Volume, respectively. Write down your own main program to show the results 26

執行緒 繼承 Thread 類別來建立執行緒 public class test8 { public static void main(string[ ] args) { System.out.println(" 執行緒 : " + Thread.currentThread()); // 建立執行緒物件 SumThread st = new SumThread(150, " 執行緒 A"); st.start(); // 啟動執行緒 // 建立匿名內層類別來啟動執行緒 new Thread(" 執行緒 B") { int length = 150; 27

執行緒 繼承 Thread 類別來建立執行緒 // 執行執行緒 public void run() { long temp = 0; for (int i = 1; i <= length; i++) { try { // 暫停一段時間 Thread.sleep((int)(Math.random()*10)); catch(interruptedexception e){ temp += i; System.out.println(Thread.currentThread() + " 總和 = " + temp);.start(); // 啟動執行緒 28

執行緒 繼承 Thread 類別來建立執行緒 class SumThread extends Thread { private long length; // 建構子 public SumThread(long length, String name) { super(name); this.length = length; 29

執行緒 繼承 Thread 類別來建立執行緒 // 執行執行緒 public void run() { long temp = 0; for (int i = 1; i <= length; i++) { try { // 暫停一段時間 Thread.sleep((int)(Math.random()*10)); catch(interruptedexception e){ temp += i; System.out.println(Thread.currentThread() + " 總和 = " + temp); 30

執行緒 繼承 Thread 類別來建立執行緒 執行結果 31