星期六, 1月 08, 2011

20110108 Java 上課小記

安裝 Eclipse


switch(運算式)
{
case 值1:  敘述1
break;
case 值2:  敘述2
break;
case 值n:  敘述n
break;
default : 敘述
break;
}

Notes
  • switch 只用於基本型別
  • 沒有規定 default 要下在最後一個


Lab: 電影分級制度

import java.util.*;
public class Test2 {

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
System.out.print("輸入年齡:");

int age = sc.nextInt();

//定義要給輸入者的訊息
String msg = null;

//將年齡 除以 6 來確定電影分級制度
switch (age/6)
{
//
case 0: msg = "普通級";
break;
case 1: msg = "保護級";
break;
case 2: msg = "輔導級";
break;
default: msg = "限制級";
}
//顯示可以看得電影分級
System.out.println("你可看"+ msg);
}

}

陣列
  • 適用相同性質, 同時間要使用使用大量資料


型別名稱 [ ]   變數名稱 = new 類別名稱[長度];

int [ ]  n = new int [10];

Notes:
  • 在java 內, 陣列算是物件
  • 長度代表陣列內有多少元素 element


陣列要給資料, 要透過索引值
n[ 陣列索引值] = 值;

n[0] = 10;
System.out.println(n[0]);

Notes:
  • 每一個陣列的索引值,第一個索引值 一定是 0, 最後一個一定是 “長度 -1”
  • 透過 索引值來存放資料
  • 索引值稱為位差(不能算位置)


Lab: 陣列


public class Array {

public static void main(String[] args) {
//定義一個陣列 n 長度為 10
int [] n = new int [10];
//將資料存入陣列, 索引值為0 值為1
n[0]=1;

//列出 n[0]的內容
System.out.println(n[0]);
}

}

輸出結果
1


Lab2: 列出陣列的所有值


public class Array {

public static void main(String[] args) {
//定義一個陣列 n 長度為 10
int [] n = new int [10];

//利用迴圈列出陣列的值
for(int i=0;i<10;i++)
//列出 n[0]的內容, \t 為Tab 按鍵
System.out.print(n[i]+"\t");
}

}

輸出結果
0 0 0 0 0 0 0 0 0 0

Lab3:  Array 一開始就給訂初始值

public class Array {

public static void main(String[] args) {
//定義一個陣列 n 並一開始就給定初始值, 僅限於開始宣告的時候給, 不能之後才給
int [] n = {1,2,3,4,5,6,7,8,9,10};

//利用迴圈列出陣列的值, 利用 n的長度來執行,利用 n.length 來取出, 好處是可以直接編輯上面的初始值
for(int i=0;i<n.length;i++)
//列出 n[0]的內容, \t 為Tab 按鍵
System.out.print(n[i]+"\t");
}

}

--中午休息--


Lab: 大樂透


public class Array2 {

public static void main(String[] args) {
int [] n = new int[6];

for (int i=0;i<n.length;i++)
{
//存入陣列資料
n[i] = (int)(Math.random()*49)+1;
for(int j=0;j<i;j++)
if(n[i] == n[j])
{
i--;
//if 不會受 break 的影響
//break 結束 上面的for
break;
}

}
for (int i=0;i<n.length;i++)
System.out.print(n[i]+"\t");
}

}


Lab: 多維陣列


public class Array3 {

public static void main(String[] args) {
int [][] n = new int [3][4];

for (int a = 0; a < n.length;a++)
{
for (int b = 0; b < n[a].length; b++)
System.out.print(n[a][b]+"\t");
System.out.println();
}

}

}


Function 函數(函式)

語法
型別名稱  函數名稱(引數1, …...)
{
敘述
}


Lab: Function


public class Test3 {

public static void main(String[] args) {
//呼叫函式 view , 並傳入 Hi
view("Hi");
}

//新增一個函式 view
//宣告一個變數 msg 來傳遞
public static void view(String msg)
{
System.out.println(msg);
}
}

Lab:  BMI


public class Test4 {

public static void main(String[] args) {
//呼叫函式 bmi , 填入 身高, 體重
double b = bmi(176,67);

System.out.println("BMI="+b);
}

public static double bmi(int h, int w)
{
double b;
b = w/Math.pow(h/100.0,2);
return b;

}
}

沒有留言: