Java 教學

1.認識Java&物件(Object)

Java為一種被廣泛使用的程式語言,擁有跨平台、物件導向、泛型程式設計的三大特性,他的架構與C語言非常的相似,著名的作品有Android,Minecraft…等大型企業級產品,目前由Oracle擁有

在這裡就簡單的介紹完Java了!!接下來就講物件導向吧~

 

在class(類別)裡通常包含方法、屬性,但是不一定上述的兩種都會有,而函式就是用來定義方法,整個.java檔案可以看做一種類別

class則是用來描述物件的屬性及方法,例如: 「人類用腳走路」,在此範例中「人類」為class名稱、「腳」為屬性、「走路」為方法,然而這個世界上有「很多個人類」,有就是「很多個物件」來自同樣的class – 人類

範例:

類別:人類

物件:何信億

屬性:眼鏡

方法:出作業

2.程式基本架構&輸出與輸入

Java 裡的 import 與C裡的include是幾乎一樣的意思,“*”在電腦裡除了乘法還有All的意思。

public class是宣告一個公開(public)類別(class)。

public static void main(String args[]){後大括號內是你寫程式主要的地方。

Java裡所有變數都需要宣告(跟C一樣),先告訴程式你要用這個變數,而在Java語言裡數字有分很多種型態

宣告方式 範圍
int –2,147,483,648 ~ 2,147,48,647
float 3.4E +/- 38 (7 位數)
long long int –9,223,372,036,854,775,808 ~9,223,372,036,854,775,807
double 1.7E +/- 308 (15 位數)
String 一句字串

new用於建立新物件,後面接著的Scanner表示新物件的類別是Scanner,System.in為用鍵盤輸入

public static void main(String args[]) 是宣告一個靜態(static)且沒有回傳值(void)的main方法

String args[]是main方法接收系統給的一個字串,沒收到就不會執行

scanner.nextInt()接受使用者輸入的下一個整數,

Scanner有提供許多方法使用

 

較常使用的方法 回傳值型態
nextInt() Int
nextDouble() Double
next() String
nextLine() String

next()方法與nextLine()方法的差別在於next()讀到空白或換行就停止,而nextLine()只有讀到換行才會停止。

還是不懂得話不仿試試看以下的程式碼:

 

System.out.print(a)System.out就是系統輸出,輸出方法則有print、printf、println三種
最大的差別是println會幫你在最後加上換行字元(ln->line)

3.判斷式

if()判斷式就是判斷括弧裡的判斷式是否為true,是的話就執行大括弧(4~6行)裡的程式碼,不是的話就執行else大括弧(7~9行)裡的程式碼。

邏輯運算子會回傳true或false,常用的有以下幾個:

a==b    a等於b

a>b      a大於b(小於用法同理)

a>=b    a大於或等於b(小於用法同理)

a!=b     a不等於b

a&&b    a且b

a||b       a或b

另外if-else可以多個連在一起,例如12~20行的程式碼,此時程式會先判斷a是否等於2,不是的話在判斷a是否等於1…按照順序判斷。

也可以只寫if不寫else敘述,大括弧內的程式碼只有1行的話可以省去大括弧。

4.迴圈與陣列

上面程式的功能是

  1. 輸出陣列第一個數字
  2. 輸出陣列所有的數字
  3. 在輸出一次輸出陣列所有的數字

a[]就是一個陣列,陣列很像一個表格,a[]則是一維的,但如果是c[][]則是5×5的二維表格

假設我們在範例程式輸入3 1 4 1 5 9 2 6 5 3陣列則會長成下列的模樣

第幾格(方括號內的數字) 0 1 2 3 4 5 6 7 8 9
3 1 4 1 5 9 2 6 5 3

while跟if很像但是while是重複大括弧裡的程式直到小括弧裡的條件不符合為止

for的用法是for(初始值; 條件; 改變),

同常我們在for裡習慣變數習慣使用 i ,當i用過時就換 j 以此類推…

在C++裡可以在小括弧內宣告 i 變成for(int i=10;i>0;i—),C裡則是要先宣告

 ←For流程圖May

在迴圈裡可以加continue;及break;,前這代表直接跳過以下的程式直接進入下一個迴圈,後者則是代表跳過此迴圈

5.字串處理

str.replace(字串A,字串B); – 會回傳字串str中所有的字串A取代成字串B

str.substring(數字A,數字B); – 會回傳字串str從第數字A到第數字B中的字串

str.indexOf(字串A); – 會回傳字串str中第一次出現字串A的位置

str.split(字串A); – 會以字串A拆開字串str並回傳字串陣列