Ch12 數字類別 JAVA程式設計入門(II).

Slides:



Advertisements
Similar presentations
Differentiation 微分 之二 以公式法求函數的微分. Type 函數形式 Function f (x) Derivative d f (x) /d x c=constant 常數 c0 Power of x xaxa a x a-1 Trigonometric 三角函數 sin x cos.
Advertisements

主要内容 Java 的常用包 Java 的常用包 “ == ” 和 “ equals ” 的用法 “ == ” 和 “ equals ” 的用法 基本数据类型与引用类型 基本数据类型与引用类型 String 和 StringBuffer String 和 StringBuffer 对象的克隆( clone.
软件编程基础 一、程序的编辑 Java 源程序是以 Java 为后缀的简单的文本文件,可以用各种 Java 集成开发环境中的源代码编辑器来编写,也可以用其他文 本编辑工具,如 Windows 中的记事本或 DOS 中的 EDIT 软件等。 利用文字编辑器编写下列程序 public class Hello.
多元評量與 Greenfoot 簡介 南港高中高慧君. 演講大綱 多元評量 高中階段程式設計教學目標與困境 Greenfoot 快速入門 – 袋熊吃樹葉 – 沙灘螃蟹 Greenfoot 臺灣社群介紹 2.
第3-2章 类与 对象 Java类的特性 教学内容: 类的私有成员与公共成员 方法的重载 构造方法 实例成员与静态成员 重点: 重载 难点:
单元二:面向对象程序设计 任务二:借书卡程序设计.
第三讲 面向对象(上).
3.2 Java的类 Java 类库的概念 语言规则——程序的书写规范 Java语言 类库——已有的有特定功能的Java程序模块
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第一單元 建立java 程式.
项目6 通用堆栈.
鄭士康 國立台灣大學 電機工程學系/電信工程研究所/ 資訊網路與多媒體研究所
四資二甲 第三週作業 物件導向程式設計.
算法设计与分析 Algorithm Design and Analysis
第二章 JAVA语言基础.
Ch07 介面與多重繼承 物件導向程式設計(II).
第三章 控制结构.
Q1: 追蹤程式: 印出結果? 搶答 while (i<=n) { p=p*i; i=i+2; }
2.1 基本資料型別 2.2 變數 2.3 運算式與運算子 2.4 輸出與輸入資料 2.5 資料型別轉換 2.6 實例
控制流程 邏輯判斷 迴圈控制.
第二章 C# 基础知识.
第四章 在 C# 中实现 OOP 概念.
常用工具类.
程序與函數的類別方法 目的:模組化程式設計 方法:由上而下設計 注意事項:(1)獨立性 (2)結合問題 (3)子問題間的溝通.
程式敘述執行順序的轉移 控制與重複、方法 Lecturer:曾學文.
第3章 語法入門 第一個Java程式 文字模式下與程式互動 資料、運算 流程控制.
JAVA程序设计 第5章 深入理解JAVA语言----补充.
程式設計實作.
抽象类 File类 String类 StringBuffer类
第2章回顾 标识符:不用记,动手 关键字:if, else, switch, for, while, do, break, continue, void, …… 局部变量和成员变量 ①变量作用域 ②内存布局 基本数据类型 ①4类8种 ②互相转换 流程控制语句 ①分支 if……else, switch.
C語言簡介 日期 : 2018/12/2.
程式撰寫流程.
類別(class) 類別class與物件object.
Java程序设计 第9章 继承和多态.
實作輔導 3 日期: 4/14(星期六) 09:10~12:00、13:10~16:00
3.1 数据类型 3.2 标识符与关键字 3.3 常量 3.4 变量 3.5 运算符与表达式 3.6 一个编程实例
Java 程式設計 講師:FrankLin.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
JAVA 程式設計與資料結構 第四章 陣列、字串與數學物件.
Ch02-基礎語法.
C/C++/Java 哪些值不是头等程序对象
第一單元 建立java 程式.
* 單元:電腦與問題解決 主題:Java物件導向程式設計-類別與物件 台南縣國立善化高中 蕭嘉民 老師
Week 2: 程式設計概念與 演算法的效能評估
JAVA 编 程 技 术 主编 贾振华 2010年1月.
第 19 章 XML記憶體執行模式.
15.5 最大值和最小值 的問題 附加例題 9 附加例題 10 © 文達出版 (香港 )有限公司.
實作輔導 2 日期: 3/24(星期六) 09:10~16:00 地點:臺北市立大學 臺北市中正區愛國西路一號 (中正紀念堂站7號出口)
第二章Java基本程序设计.
第二章 Java基本语法 讲师:复凡.
JAVA 程式設計 資訊管理系 - 網路組.
C#程序设计基础 $3 成员、变量和常量.
第二章 Java基本语法 讲师:复凡.
Java程式初體驗大綱 大綱 在學程式之前及本書常用名詞解釋 Hello Java!程式 在Dos下編譯、執行程式
第二章 Java基本语法 讲师:复凡.
Review 1~3.
龍老師我不會Debug QQ.
第二章 Java基本语法 讲师:复凡.
PPT注意事项: 当前PPT课件文件必须和提供的源代码文件夹“代码”在同一目录中即不要移动文件夹“代码”的默认位置。
JAVA 程式設計與資料結構 第三章 物件的設計.
第2章 Java语言基础.
對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。
迴圈(重複性結構) for while do while.
判斷(選擇性敘述) if if else else if 條件運算子.
第二章 Java基础语法 北京传智播客教育
輸出執行結果到螢幕上 如果要將執行結果的文字和數值都「輸出」到電腦螢幕時,程式要怎麼寫? class 類別名稱 {
第二章 Java基本语法 讲师:复凡.
Summary
方法(Method) 函數.
InputStreamReader Console Scanner
Presentation transcript:

Ch12 數字類別 JAVA程式設計入門(II)

大綱 Number數值類別 Math數學類別 型態包裝類別 將字串轉換成數值 將數值轉換成字串 計算亂數、最大和最小值 2018/11/29

Number數值類別 http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Number.html Java語言的Number數值類別是一個父類別,擁有多個數值子類別,其類別架構如下圖所示: 2018/11/29

型態包裝類別-說明 型態包裝類別(Type-Wrapper)類別簡單的說是一種Java基本資料型態的物件版,雖然Java語言已經提供基本資料型態,但是我們需要重複類別的原因,如下所示: 當程式需要使用物件時,可以使用型態包裝類別儲存資料。 型態類別物件提供常數和方法可以取得資料範圍和轉換成其它資料型態。 2018/11/29

型態包裝類別-Number類別的方法 Number類別建立的物件可以使用方法轉換成基本資料型態,或比較其值,如下表所示: 2018/11/29

型態包裝類別-Number類別的屬性1 Number類別的子類別Byte、Short、Integer、Long、Float和Double都提供最大值和最小值2個常數(屬性),如下表所示: 2018/11/29

型態包裝類別-Number類別的常數2 Float和Double類別還提供一些有用常數,如下表所示: 2018/11/29

範例1:Integer物件 class Ch03_01 { public static void main(String [] args) { Integer int1 = new Integer(123); Integer int2 = new Integer("456"); int int3 = int1.intValue(); System.out.println("int1 = " + int1); System.out.println("int2 = " + int2); System.out.println("int3 = " + int3); System.out.println("max value of int1 : " + int1.MAX_VALUE); System.out.println("max value of Integer : " + Integer.MAX_VALUE); // System.out.println("max value of int3 : " + int3.MAX_VALUE); } 2018/11/29

將字串轉換成數值 在Java程式如果需要將字串轉換成數值的基本資料型態,其相關方法如下表所示: 2018/11/29

範例2:輸入兩個值作相加 class Ch03_02 { public static void main(String [] args) { int i; int [] int1 = new int[2]; for(i=0; i<args.length; i++) int1[i] = Integer.parseInt(args[i]); System.out.print(" " + int1[i] + " , "); } int sum = 0; for(i = 0; i<int1.length; i++) sum += int1[i]; System.out.println("的和 = " + sum); 2018/11/29

手、腦動一動(1) 修改範例2的程式,使得我們可以輸入任意多個數值字串,並求其總和 2018/11/29

將數值轉換成字串 在Java程式也可以將數值轉換成字串,其相關方法如下表所示: 2018/11/29

Math數學類別 http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Math.html Java API的Math類別提供數學常數和各種數學函數的類別方法,在Java程式提供亂數、計算最大值、最小值、三角和指數等數學函數,因為是類別方法,在呼叫方法時需要指明類別Math。 2018/11/29

Math類別的數學常數和方法-常數 Math類別提供2個常用的數學常數(為近似值),其說明如下表所示: 2018/11/29

計算亂數、最大和最小值 Math類別提供方法計算亂數、最大值和最小值,相關方法說明,如下表所示: 2018/11/29

範例3:亂數洗牌(隨機位置對調) class Ch03_03 { public static void main(String [] args) { String [] pattern = {"桃", "心", "磚", "梅"}; String [] size = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"}; String [] cards = new String[52]; //作撲克牌, 並放在一個陣列cards中 for(int i = 0; i < pattern.length; i++) for(int j = 0; j < size.length; j++) cards[i*size.length + j] = pattern[i] + size[j]; //亂數排列 for(int i = 0; i < cards.length; i++) { int newLoc = (int) (Math.random() * cards.length); String temp = cards[i]; cards[i] = cards[newLoc]; cards[newLoc] = temp; } //牌面輸出 for(int i = 0; i<cards.length; i++) { System.out.print(cards[i] + " "); if((i+1) % 13 == 0) System.out.println(); 2018/11/29

Math類別的數學常數和方法-方法1 Math類別還提供三角函數(Trigonometic)、指數(Exponential)和對數(Logarithmic)的方法,其相關方法說明,如下表所示: 2018/11/29

Math類別的數學常數和方法-方法2 2018/11/29

範例4:利用sin和cos畫圓(1) class Ch03_04 { public static void main(String [] args) { //設定圓的中心點及半徑 int cx=20, cy=12, r=12; MyCanvas mc = new MyCanvas(); for(double d = 0; d < 2 * Math.PI; d += Math.PI/36) int x = cx + (int)Math.round(r*Math.sin(d)); int y = cy + (int)Math.round(r*Math.cos(d)); mc.drawDot(x, y); } mc.showCanvas(); 2018/11/29

範例4:利用sin和cos畫圓(2) class MyCanvas { private boolean [][] canvas = new boolean[25][39]; public void drawDot(int x, int y) { if(y < canvas.length && x < canvas[0].length) canvas[y][x] = true; } public void showCanvas() { for(int i = 0; i <canvas.length; i++) { for(int j = 0; j < canvas[0].length; j++) { if(canvas[i][j]) System.out.print('■'); else System.out.print('□'); System.out.println(); 2018/11/29

範例4:利用sin和cos畫圓(3) 2018/11/29

手、腦動一動(2) 輸入三角形的三個邊長 判斷這三個邊長可不可以形成三角形 判斷此三角形是不是直角三角形 2018/11/29

手、腦動一動(3) 修改範例4,輸出sin(x)圖形如下,振幅10,波長18 2018/11/29