課程名稱:程式設計I

指導老師:蔡佳麟

學生:黃煥然

學號: 40207039

組別:7

次:第01-05 [回首頁]

 

Part I指定作業:

作業1試說明JAVA語言發展的歷史?

答案1參考作業1

在流行幾年之後,Java在瀏覽器中的地位被逐步侵蝕。它在簡單互動性動畫方面的用途已經完全被Adobe公司的Flash排擠,2005Java傾向只被用於雅虎遊戲那樣的更為複雜的應用程式。Java同時遭受到來自微軟的反對,他們決定在新版本的Internet ExplorerWindows中不再附帶Java平台。

與此相反。在全球資訊網的伺服器端和手持裝置上,Java變得更加流行。很多網站在後端使用JSP和其他的Java技術。

在桌面系統上,獨立的Java程式還是相對少見,這是因為Java平台的執行開銷較大,而許多人的電腦上沒有安裝Java,由於網路頻寬在以前較小,下載Java曾經是個耗時的事情。但是隨著電腦計算能力、網路頻寬在10年中取得了很大的進步,同時虛擬機器和編譯器的品質得到了提高,許多應用程式得到了廣泛的使用。

 

作業2JAVA有那些基本資料型別?

答案2:參考作業2

關鍵字   名稱             佔用記憶體                   值域
byte      
位元組                 8  bits      -128~127
short     
短整數                16 bits      -32768~32767
int         
整數                    32 bits      -2147483648~2147483647
long      
長整數                64 bits      -(263次方)~263次方-1
float      
單精度浮點數    32 bits      1.4E-45~3.4E+38  -1.4E-45~-3.4E+38
double  
倍精度浮點數    64 bits      4.9E-324~1.79E+308 -4.9E-324~-1.79E+308
char       
字元                    16 bits      0~65535 \'u0000'~\'uFFFF'
boolean 
布林值                8  bits       true or false

整數類型:byteshortintlong
浮點數類型:floatdouble
字元類型:char
布林類型:boolean

整數類型就是 1 2 3 4 5 6 7 -1 -2 -3 -4 等等 差別在設定的資料型態所能接受的值域範圍

浮點數就是小數 1.21 1.333 1.4 等等 雙精度自然是比單精度所能接受的小位數更多 需要的bit相對越大

字元類型 由於網路無國界 為了使世界上所有的文字包含進來 產生了萬國碼(Unicode)而在java 可以使用char來表示字碼

布林值是拿來判斷對(true)或錯(false)的一個較特別的變數 常使用在邏輯敘述的方面

另外在不同平台跟不同語言下 bit會有所不同

介紹一些設值時 資料型態的問題

1.如果我的程式想設定一個變數為一年 365 
那麼byte雖然可以接受整數 但卻不能設定為

byte a=365;

因為365已經超過byte的值域 -128~127

所以我們應該使用intshort來接受這個數值(byteshort是比較少使用的整數型別)

2.將八進位跟十六進位轉成十進位
如果我們要設定八進位則在數字前方加一個『0 如果要設定十六進位在數字前方加『0x

int a =012;
int b =0x1B0C;
輸出a,b
10
6924

3.設值觀念
首先來看看兩組設值
---------------------
(1)
long a=123;

long b=123L;

----------------------
(2)

long a=123456789123;

long b=123456789123L;

----------------------
編譯結果 第一組可以通過 但是第二組卻出現了問題

我們先看第一組

long a=123; 

123由於是整數 所以預設的資料型別為int(浮點數預設為float)

由於long也是整數 而且值域包含住所有的int 所以long可以接收123這個值

long b=123L; 這個123L表示我在設定123這個值的時候 我不使用int型態 而是使用Long型態

b這個值本來就設定為long自然可以接受long的值

再來看第二組

long a=123456789123;

如上面所說 如果你再設值給變數的時候 沒有指定資料型別 那麼整數他就預設為int

那麼問題就產生了 int的整數值域只到達2147483647 十位數 123456789123 有十二位數

所以在預設int的型態下 他接收不了這個值 所以出錯了

那麼我們要修正這個問題 看看 long b=123456789123L 

我們不使用預設的int來接收123456789123這個值 而在後面加個L來指定型態long來接收這個值

再將123456789123這個值 放到long型態的b裡面 問題就解決了

4.浮點數型別可以接受所有整數型態 不可逆向
在書中 float 32bit 接收 long 64bit 並沒有說明 為什麼32bit可以接受64bit 但是應該跟浮點數儲存在記憶體的方式有關

當設定一個值 float a =1.2; 會出現錯誤 因為1.2預設的資料型別為double
所以我們必須在設值給a這個float型別時候 要把1.2設定為float

應改為 float a=1.2f; a才能接收1.2這個值

 

 

作業3常數與變數有何不同?寫程式說明之。

答案3:參考作業3

變數是一個「容器」,可以在程式進行中把不同的數值放進去,而常數是一個固定的值,不能被改變。

EX.

#include <stdio.h>

 

int main(void)

{

   int x;

   printf("x=%d\n",x);

   return 0;

}

 

參考來源:

作業1http://zh.wikipedia.org/wiki/Java

作業2http://blog.xuite.net/ernestyen/blog/14573040

作業3http://phys.thu.edu.tw/~ctshih/teach/c_prog/var.html

 

Part II 01-05學習心得彙整

1

Ex3.檔案傳輸練習(作用視窗擷取組合建Alt+Scr)

2

3

cls:清除畫面

上下鍵:取得暫存的指令

dir:顯示檔案

Ex2.編譯與執行

4

Ex1.上週複習

path = C:\Program Files (x86)\Java\jdk1.7.0_45\bin

java s40207039.java

java -classpath . s40207039_pg1_04_ex1

 

下載JDK

5

 

 

/*

課程名稱:程式設計I

課程代號:471305

授課老師:蔡佳麟

組別:第7

組員:李宛珊,黃詠琪,陸弘聞,王威,林于茹,黃煥然

學生:黃煥然

學號:40107039

程式編號:05_ex1

程式說明: 顯示姓名與學號

*/

class s40207039 {

    public static void main(String[] args) {

        System.out.println("學生姓名:黃煥然");

            System.out.println("學號:40107039");

 

       

    }

}

 

流程圖: 替代處理程序: Start
流程圖: 程序: System.out.println
("學生學號:40107039");