Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

Similar documents
Java 程式設計初階 第 5 章:基本輸出入 & 流程控制

CC213

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

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

untitled

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

untitled

四川省普通高等学校

附录J:Eclipse教程

untitled


第3章.doc

Chapter 9: Objects and Classes

<4D F736F F D B0D3B77EC3FEA7DEC3C0C476C1C9A5BFA6A1B8D5C3442DB57BA6A1B35DAD702DBEC7ACEC2E646F6378>

JavaIO.PDF

3.1 num = 3 ch = 'C' 2

Learning Java

(京)新登字063号

Java

Microsoft Word - 01.DOC

FY.DOC

Spyder Anaconda Spyder Python Spyder Python Spyder Spyder Spyder 開始 \ 所有程式 \ Anaconda3 (64-bit) \ Spyder Spyder IPython Python IPython Sp

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

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

_汪_文前新ok[3.1].doc

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

untitled

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

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

《大话设计模式》第一章

填 写 要 求 1. 以 word 文 档 格 式 如 实 填 写 各 项 2. 表 格 文 本 中 外 文 名 词 第 一 次 出 现 时, 要 写 清 全 称 和 缩 写, 再 次 出 现 时 可 以 使 用 缩 写 3. 本 表 栏 目 未 涵 盖 的 内 容, 需 要 说 明 的, 请 在

chp6.ppt

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

Java 1 Java String Date

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

Excel VBA Excel Visual Basic for Application

概述

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

The golden pins of the PCI card can be oxidized after months or years

新・明解C言語入門編『索引』

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

2/14 Buffer I12, /* x=2, buffer = I 1 2 */ Buffer I243, /* x=34, buffer = I 2 43 */ x=56, buffer = I243 Buffer I243I265 code_int(int x, char *buffer)

( CIP) /. :, ( ) ISBN TP CIP ( 2005) : : : : * : : 174 ( A ) : : ( 023) : ( 023)

C语言的应用.PDF

Microsoft Word - ch04三校.doc

科学计算的语言-FORTRAN95

CC213

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

Chapter 9: Objects and Classes

11页词库答案

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

Microsoft Word - 11.doc

EJB-Programming-4-cn.doc

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

第一章

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

壹 前 言 解 開 2048 的 謎 一 研 究 動 機 最 近 我 們 都 很 熱 衷 於 2048 這 款 遊 戲, 遊 戲 方 法 非 常 簡 單, 但 是 想 要 達 成 2048 卻 很 難, 每 次 只 差 臨 門 一 腳 就 能 達 到 2048, 因 此 都 沒 有 成 功 過 於

Microsoft Word 電腦軟體設計.doc

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

Microsoft PowerPoint - Lecture7II.ppt

2007

1.5招募说明书(草案)

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

Microsoft PowerPoint - L17_Inheritance_v4.pptx

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

Microsoft Word - 文档 3

untitled

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

Microsoft Word - PHP7Ch01.docx

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

nooog

States and capital package

運算子多載 Operator Overloading

一、

<4D F736F F D20C8EDC9E82DCFC2CEE7CCE22D3039C9CF>

[剑指offer] 面试题43:n个骰子的点数(Java),[剑指offer] 面试题42: 翻转单词顺序 VS左旋转字符串(Java),[剑指offer] 面试题41:和为s的两个数字VS和为s的连续序列

穨control.PDF

软件工程文档编制


AM101-1(中文)11.cdr

Microsoft Word - 小心翼翼的二十一點N.doc

JLX

提问袁小兵:

<4D F736F F D D342DA57CA7DEA447B14D2DA475B57BBB50BADEB27AC3FEB14DA447B8D5C344>

2/80 2

6-1 Table Column Data Type Row Record 1. DBMS 2. DBMS MySQL Microsoft Access SQL Server Oracle 3. ODBC SQL 1. Structured Query Language 2. IBM

C++ 程式設計

CC213

入學考試網上報名指南

國立鳳山高級中學學生手冊 目錄

untitled

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

多層次傳銷與獎金系統

Microsoft PowerPoint - OPVB1基本VB.ppt

使用MapReduce读取XML文件

mvc

杭师大党字〔2011〕15号中共杭州师范大学委员会关于进一步加强和改进发展党员工作的意见

<4D F736F F D A67EAF64BEC7BCFABEC7AAF7C2B2B3B95FA5FEB3A1AAA95F2D31312E31362E646F63>

得 依 法 召 集 股 東 臨 時 會 第 十 一 條 : 股 東 常 會 之 召 集 應 於 開 會 三 十 日 前, 股 東 臨 時 會 之 召 集 應 於 開 會 十 五 日 前, 將 開 會 日 期 地 點 及 召 集 事 由 通 知 各 股 東 並 公 告 之 第 十 二 條 : 本 公

Transcription:

Java 程式設計 標準輸出入與流程控制

本章大綱 標準輸出入 (Standard I/O) 分支 (Branch) if ~ else switch ~ case 迴圈 (Loop) for while do ~ while 中斷指令 break continue 總整理

標準輸出 定義 : 將資料印到螢幕上 Java 標準輸出指令 System.out.println( 資料 ) 將資料印出後換行 System.out.print( 資料 ) 將資料印完後不換行

標準輸入 法一 : 由命令列傳入參數值 (Command Line Argument) 做法 :java TestArg I am happy

標準輸入範例 public class ArgumentInput { public static void main(string[] args) { System.out.println(args[0]); System.out.println(args[1]); System.out.println(args[2]); java ArgumentInput I am happy args[2] args[1] args[0]

標準輸入 法二 : 使用 Stream I/O 太過複雜, 後面將有一個章節專門講述

if ~ else if ( 條件 ) { // 如果條件為真, 就做這塊指令 1 指令 2 else { // 如果條件為假, 就做這塊指令 1 指令 2 若所包住的指令只有一行, 則括號可以不用寫

if ~ else 練習題 請製作一個傳入分數, 能夠印出 Grade A ~ F 的 Java Application java Grading 85 印出 Grade B 提示 : 放在 Grading 後面的 85, 會由 main 函式的 String[] args 部份接收 您可以用 args[0] 抓到這個 85 由於 args 宣告成字串, 所以 85 是文字的 85, 不是數字的 85 必須經過下列轉換後才能變成數字 int Score = Integer.parseInt(args[0]);

if ~ else 練習題 public class Grading { public static void main (String[] args) { int Score = Integer.parseInt(args[0]); if (Score >= 90) System.out.println ("Grade A"); else if (Score >= 80) System.out.println ("Grade B"); else if (Score >= 70) System.out.println ("Grade C"); else if (Score >= 60) System.out.println ("Grade D"); else System.out.println ("Grade F");

switch ~ case switch ( 陳述式 ) { case 文數字 : 指令 ; break; case 文數字 : 指令 ; break; case 文數字 : 指令 ; break; default: 指令 ; break;

switch ~ case case 文數字 : case 後方只能接 byte / short / int / char 四種型態 如 :case 1: 或 case a : 不像 Visual Basic 的 select case, 可以填入一個範圍 此乃 Java switch ~ case 之限制 break; Break 指令可以阻止程式繼續往下執行, 並跳出整個 switch ~ case 結構 但有時您會希望程式可以繼續往下執行

switch ~ case 練習題 以下程式可以用來計算某月有幾天 : public class GetMonthDays { public static void main (String[] args) { int Year = Integer.parseInt(args[0]); int Month = Integer.parseInt(args[1]); switch (Month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println("31 days"); break;

switch ~ case 練習題 case 4: case 6: case 9: case 11: System.out.println("30 days"); break; case 2: if ( ((Year%4 == 0) && (Year%100!= 0)) (Year%400 ==0) ) System.out.println("29 days"); else System.out.println("28 days"); break;

switch ~ case 練習題 執行 : java GetMonthDays 2001 7 args[0] args[1] 結果 31 days

for 格式 : for ( 起始條件 ; 執行條件 ; 遞增值 ) { 指令 ; 範例 : public class ForExample1 { public static void main (String[] args) { int i; for (i=1; i <=10; i++) System.out.println ("i = " + i);

for 當迴圈中止時 : public class ForExample2 { public static void main (String[] args) { int i; for (i=1; i <=10; i++) System.out.println ("i = " + i); System.out.println ("After loop, i = " + i);

for 起始條件, 執行條件, 遞增值內部不一定只能擺一個變數 : public class ForExample3 { public static void main (String[] args) { for (int i=0, j=20; i<=20 && j>=1; i+=2, j-=2) System.out.println("i = " + i + " j = " + j);

while 格式 : while ( 條件 ) { 指令 ; 範例 : public class WhileExample { public static void main (String[] args) { int i=1; while (i++<=10) System.out.println("i = " + i); 適用場合 : 不知道幾次迴圈才會停的時候

do ~ while 格式 : do { 指令 ; while ( 條件 ); 範例 : 想計算所有平方值小於 100 的數字, 並將該數字及其平方值印出來

do ~ while public class DoWhileExample { public static void main (String[] args) { int i=0, j; do { i++; j = i * i; System.out.println ( i + " * " + i + " = " + j); while (j < 100);

break 用途 中斷目前區塊 (block) 的流程 格式 break [ 跳躍標籤 ] 其中 break + 跳躍標籤的情況常用於一口氣要跳出兩層以上的巢狀迴圈

break 範例 1 以下範例會在內圈變數 j == 7 時停止, 而只印出 1~6 十次 public class BreakExample { public static void main(string[] args) { int i, j; for (i=1; i<=10; i++) { for (j=1; j<=10; j++) { if (j==7) { break; System.out.print("j = " + j + " "); System.out.println(""); System.out.println( Total Loop of i = " + (i-1));

break 範例 2 以下範例會在內圈變數 j == 7 時停止, 而只印出 1~6 一次 public class BreakExample { public static void main(string[] args) { int i, j; for (i=1; i<=10; i++) { for (j=1; j<=10; j++) { if (j==7) { break outer; System.out.print("j = " + j + " "); System.out.println(""); outer: System.out.println( Total Loop of i = " + (i-1));

continue 用途 可以跳過這一次的迴圈不執行, 直接從下一個迴圈開始執行 格式 continue [ 跳躍標籤 ];

continue 範例 以下範例會跳過內圈變數 j == 7 那一圈, 而印出 1~6, 8~10 十次 public class BreakExample { public static void main(string[] args) { int i, j; for (i=1; i<=10; i++) { for (j=1; j<=10; j++) { if (j==7) { continue; System.out.print("j = " + j + " "); System.out.println(""); System.out.println("Total Loop of i = " + (i-1));

總整理 Java 的標準輸出指令為何? Java 如何做到標準輸入? 有幾種方法? 請回憶下列指令的格式 : if ~ else switch ~ case for while do ~ while break 及 continue

Lab 5-1 Example Write a program that accepts two numbers from the command line and prints them out. Then use a for loop to print the next 13 numbers in the sequence where each number is the sum of the previous two. For example: input> java prob5-1 1 3 output> 1 3 4 7 11 18 29 47 76 123 322 521 843 1364

Lab 5-2 Modification (3%) Write a program that accepts two numbers from the command line and prints them out. Then use a for loop to print the next X numbers in the sequence where each number is the sum of the previous two. For example: X=13 input> java prob5-2 1 3 13 output> 1 3 4 7 11 18 29 47 76 123 322 521 843 1364

Lab 5-3 Extra Points (5%) 23. 請設計 Java 程式計算在指定年份時的年齡, 這是使用生日的 2 位數西元年份, 例如 :67 年或 78 年, 和 2 位數的指定年份時的年齡 ( 注意!Y2K 的問題 ), 例如 : 輸出結果的範例如下所示 : Email to george_hs@yahoo.com before next class (1 person only) 生日年份 : 67 指定年份 : 07 年齡 : 40

Reference http://home.cogeco.ca/~ve3ll/jatutor3.ht m