2012年10月31日 星期三

透過鍵盤輸入做運算

1.BufferedReader 輸入

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Test{

    public static void main(String[] args)throws IOException{
  
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));


//這邊讓畫面顯示出輸入第幾個數字,方便識別
        System.out.println("請輸入第一個數");
        String str1 = br.readLine();
        System.out.println("請輸入第二個數");
        String str2 = br.readLine();

//將輸入的數值轉換成int值
        int num1 = Integer.parseInt(str1);
        int num2 = Integer.parseInt(str2);
        int sum = num1+num2;


        System.out.println("第一個數是" + num1);
        System.out.println("第二個數是" + num2);
        System.out.println("兩者相加是" + sum);
  
    }

}
由於變數宣告都是統一寫在一起,因此一旦輸入非數字,在最後運算結果的時候就會跳出錯誤的訊息
但是如果寫成如下:
        String str1 = br.readLine();
        System.out.println("請輸入第二個數");
         int num1 = Integer.parseInt(str1);
 便會在一開始輸入值就產生錯誤

2.Scanner 輸入

import java.util.Scanner;

public class Test{

    public static void main(String[] args){
 

        System.out.println("請輸入第一個數");
        Scanner a = new Scanner(System.in);
//這邊用int宣告可以確保輸入一定是數字
        int x =a.nextInt();

      
        System.out.println("請輸入第二個數");
        Scanner b = new Scanner(System.in);
        int y = b.nextInt();

        int sum = x + y;
        System.out.println("第一個數是"+x);

        System.out.println("第二個數是"+y);

        System.out.println("總和是"+sum);
 


    }

}
一旦輸入非數字,在第一個值就會跳出錯誤訊息

簡單的加法運算

以下用加法作範例

class Test{
    public static void main(String[] agrs){

//以下先宣告3個變數,分別是num1,num2,sum
        int num1 = 2;
        int num2 = 3;
        int sum = num1+num2;

//讓num1,num2.sum在畫面上顯示
        System.out.println("變數num1是" + num1);
        System.out.println("變數num2是" + num2);
        System.out.println("兩者相加是" + sum);
//當然也可以把運算式寫在輸出
        System.out.println("兩者相加是" + (num1+num2));

// 將num1的值再加1
        num1 = num1+1;

        System.out.println("變數num1加1以後是" + num1);

    }

}


2012年10月30日 星期二

從鍵盤輸入變數-2

從此處開始會使用到
import java.io.*;
 
import java.io.IOException;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;

在java程式中會使用到一些方法讓使用者可以透過鍵盤輸入變數數值,並且在畫面中列印出來讓使用者確認是否有得到結果

因此Compiler會先檢查再 rt.jar 檔案中的相對應位置,是否有需要的class檔案
例如:

 import java.io.IOException;

會檢查 rt.jar 的壓縮檔內,java\io 內是否有 IOException.class的檔案

從鍵盤輸入變數

可使用兩種方式
使用者可以自行輸入數值,並且在結果中列印出來

1.BufferedReader

import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Test{

    public static void main(String[] args)throws IOException{
  
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str = br.readLine();

        System.out.println(str);

  
    }

}

使用了兩次變數,感覺上繞了一圈才完成

2.Scanner

import java.util.Scanner;

public class Test{

    public static void main(String[] args){
  
        Scanner a = new Scanner(System.in);

        System.out.println(a.next());

  
    }

}

只使用一次變數就完成

同樣的,要輸入兩個以上時,就宣告兩次輸入的指令就可以

1.
import java.io.IOException;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Test{

    public static void main(String[] args)throws IOException{
  
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String str1 = br.readLine();
        String str2 = br.readLine();

        System.out.println(str1);
        System.out.println(str2);

  
    }

}

2.
import java.util.Scanner;

public class Test{

    public static void main(String[] args){
  
        Scanner a = new Scanner(System.in);
        Scanner b = new Scanner(System.in);

        System.out.println(a.next());
        System.out.println(b.next());
  
    }

}

變數

變數可以當作假想的箱子 


宣告變數型態 宣告變數名稱 = 值;

byte a =10;        

short b = 10;


int c = 10;

long d = 10;

float e =2.1;

double f = 2.1;

宣告變數型態類似於設定一個假想箱子的大小 ,變數就可以放入相對應大小的東西

byte = 1 byte

short = 2 byte

int = 4 byte

long = 8 byte

float = 4 byte

double = 8 byte

簡單的進位換算

16進位的0061
 先換成2進位

0000 0000 0110 0001 =0061
8421 8421 8421 8421

換十進位

0000 0000   0      1     1    0    0  0  0  1   =總和97
                      128  64  32  16  8  4  2  1

2012年10月29日 星期一

常值-Literal

Literal 常值

常值的資料是寫死的

常值有4種型態

1.字元

2.字串

3.整數


4.浮點數


System.out.println( 'A' );           單引號表示字元,佔2個byte

System.out.println( 100 );         都沒有表示數值  整數,佔4個byte

System.out.println( 2.890 );      小數點表示浮點數,佔4或8個byte

System.out.println( '\'' );             \後面帶出特殊字元

System.out.println( '\\' );
 
System.out.println( "\u0061" );  \u後面為16進位數字
                                                    \u  Unicode
                                     0061      每個4bits   16bits=2byte

                                  \u0061=a 換算十進位=97 A=65

JAVA入門-註解

1.//  雙斜線
只有單行註解

2. /* */ 區塊註解
可以跨越多行
在星號內輸入文字進行註解

3./**
   */   雙星註解
用來編輯文件用的
當文件轉換為html時會進行標註

JAVA入門-字串內的文字換行

public class Cross{
    public static void main(){

         System.out.println("1*1=1\n1*2=2\n1*3=3\n1*4=4");

    }
}

結果:
1*1=1
1*2=2
1*3=3
1*4=4

\n表示換行,在字串內才可以使用

JAVA入門-一個程式的基本重點


public class Hello{
      public static void main(String[] args){
           System.out.println("Hello"); 
      }
}

1.檔名 Hello 要和程式預設名稱一樣,並且第一個字要大寫

2.小括號前單字為Method

3.雙引號內容為字串
   單引號為字元

4. ; 分號為程式結束符號

5.// 表示註解的意思

JAVA入門-使用的編譯器

1.java-CMD
最原始的命令提示字元介面
從建立檔案名稱到寫完程式
到compiler後執行
全部手動

2.java-NPP
有操作介面,在使用上比命令提示字元方便很多
存檔讀檔可透過圖形介面使用
較為人性化,關鍵字也會自動轉換顏色,方便辨識

3.Eclipse
業界較常用的開發工具,內建java compiler
不必再透過javac去做編譯

4.RAD
IBM_RAD
IBM的開發工具,從Eclipse改裝而來
目前編譯最好
為IBM公司在用的開發工具

2012年10月24日 星期三

JAVA入門-讓編輯器輸出Hello

使用工具: Java-CMD

>notepad Hello.java
使用記事本創建.Hello.java的檔案

輸入以下文字後存檔,存檔檔名要同class之後的字(Hello)

public class Hello{
      public static void main(String[] args){
           System.out.println("Hello"); 
      }
}


Compiler(編譯)

>Javac Hello.java

執行

>java Hello

得到結果

Hello