Java
publicclass first_Java {
/**
* @param args
*/
publicstaticvoid main(String[] args) {
// 指令敘述rintln("我的第一支Java程式");
}
}
我的第一支Java程式
-------
若publicclass first_Java 改成 publicclass first
則Could not find the main class: first_Java. Program will exit.
因為檔名要一樣才行
------
publicclass first_Java {
/**
* @param args
*/
publicstaticvoid main(String args[]) {
byte a = 123; // 宣告位元組資料型態
byte b = 1234;
}
}
Type mismatch: cannot convert from int to byte
因為1234已經超過byte大小,需用int才行
-------------
float a=12.5f;
double b=123456.654d;
System.out.println("a="+a);
System.out.println("b="+b);
a=12.5
b=123456.654
在數字後面的英文符號,如f,d等等
只是代表他是哪個型態(float double) 可以清楚的知道他是哪個型態 去的也可以
------
publicclass first_Java {
publicstaticvoid main(String args[])
{
boolean logic=true; // 設定布林變數的值為false
System.out.println("宣告的布林值="+logic);
}
}
宣告的布林值=true
-----
publicclass first_Java {
publicstaticvoid main(String args[]) {
char ch1 = 'X';
char ch2 = '\u0058'; // Unicode寫法
System.out.println("ch1=" + ch1);
System.out.println("ch2=" + ch2);
}
}
ch1=X
ch2=X
單一字元用單引號 而字串用雙引號
此外可以用\n 十六進制表示 \u是表示unicode碼格式
-----
變數與常數的命名規則
第一個字必須為字母或一些符號或數字
如$ 底線 數字 等等
而且不能取保留字
在java中有一個不成文的規定 就是通常變數名稱是以小寫英文字母作為開頭
並接上一個大寫開頭有意義的單字 如宣告使用者密碼 userPassword
-----
publicclass first_Java {
finalstaticdoubleC = 2997924581.2;
publicstaticvoid main(String args[]) {
// 宣告變數e
int m;
ˋ double e;
// 賦予變數值
m = 10;
e = m * C * C;
// 輸出於螢幕
System.out.println("當質量為:" + m);
System.out.println("所釋放出的能量為:" + e);
}
}
當質量為:10
所釋放出的能量為:8.987551794563195E19
(E19表示小數點要往右移19個位置)
----
若 doubleC = 2997924581.2;
則 Cannot make a static reference to the non-static field C
因為static main的關係
所以變數也要加上static才行
-----
staticdoublC = 2997924581.2;
C = C + 10;
System.out.print(C);
2.9979245912E9
如此就可以對輸入法進行調整如此就可以對輸入法進行調整如此就可以對輸入法進行調整
這次就成功了
-----
finalstaticdoubleC = 2997924581.2;
C = C + 10;
則 The final field first_Java.C cannot be assigned
因為加了final會變成常數 也就是該變數的值不能被更改
因此這裡嘗試更改c的值 就會出現錯誤
-----
publicclass first_Java {
publicstaticvoid main(String args[])
{ //宣告變數
String myStringA = "第一個字串";
String myStringB = "第二個字串";
String myStringC = "會串聯在一起";
int myIntA = 3;
boolean myBoolean = true;
//螢幕輸出
System.out.print("[JAVA基本輸出練習]\n");
System.out.println("「真」的英文是" + myBoolean);
System.out.println(myStringA + myStringB);
System.out.println(myStringC);
System.out.println("1 + 2 = " + myIntA);
System.out.println("5 - 3 = " + (5 - myIntA));
}
}
[JAVA基本輸出練習]
「真」的英文是true
第一個字串第二個字串
會串聯在一起
1 + 2 = 3
5 - 3 = 2
------
import java.io.*;
publicclass first_Java {
privatestaticcharmyData;
publicstaticvoid main(String args[]) throws IOException
{
System.out.print("[基本輸入練習]\n");
System.out.print("請輸入文字:");
//文字輸入
myData = (char)System.in.read();
System.out.println("輸入的資料為:" + myData);
}
}
可輸入文字 這裡假設為d
[基本輸入練習]
請輸入文字:d
輸入的資料為:d
若輸入兩個文字以上 如dd
[基本輸入練習]
請輸入文字:dd
輸入的資料為:d
還是只有一個d 因為這裡是用read()
所以只會輸出一個字元
若想輸出字串 則可以使用java.util.Scanner類別 語法如下
java.util.Scanner input_obj=new java.util.Scanner(System.in);
-----
若是把上述程式碼的這行
import java.io.*;
給刪除的話 會出現以下錯誤
Exception in thread "main" java.lang.NoClassDefFoundError: IOException
-----
publicclass first_Java {
publicstaticvoid main(String[ ] args){
int i=10;
byte b=(byte) i;
byte b1=65;
char c=(char)b1;
System.out.println("i="+i);
System.out.println("b="+b);
System.out.println("b1="+b1);
System.out.println("c="+c);
}
}
b=10
b1=65
c=A
-----
publicclass first_Java {
publicstaticvoid main(String args[]){
int apple=15,banana=20;//宣告變數
System.out.print("(1).小明買蘋果15顆,香蕉20條,水果總共買了");
System.out.println((apple+banana)+"個");
System.out.print("(2).蘋果每顆10元,香蕉每條3元,水果總共花費");
System.out.println((apple*10+banana*3)+"元");
System.out.print("(3).將蘋果4個和香蕉3個裝成一盒,共可包裝");
System.out.println((apple/4)+"盒");
System.out.println("(4).裝盒後蘋果剩下"+(apple%4)+"個,"+"香蕉剩下"+(15-3*3)+"個");
}
}
(1).小明買蘋果15顆,香蕉20條,水果總共買了35個
(2).蘋果每顆10元,香蕉每條3元,水果總共花費210元
(3).將蘋果4個和香蕉3個裝成一盒,共可包裝3盒
(4).裝盒後蘋果剩下3個,香蕉剩下6個
-----
System.out.println("15大於5 為"+(15>5)+"\n");
System.out.println("15小於5 為"+(15<5)+"\n");
System.out.println("15大於等於15 為"+(15>=15)+"\n");
System.out.println("15小於等於5 為"+(15<=5)+"\n");
System.out.println("15不等於5 為"+(15!=5)+"\n");
System.out.println("15等於15 為"+(15==5)+"\n");
15大於5 為true
15小於5 為false
15大於等於15 為true
15小於等於5 為false
15不等於5 為true
15等於15 為false
-----
int a=15,b=3;
System.out.println("(a>10)&&(b>5)的傳回值為 "+(a>10&&b>5));
System.out.println("(a>10)||(b>5)的傳回值為 "+(a>10||b>5));
System.out.println("(a>10)&(b>5)的傳回值為 "+(a>10&b>5));
System.out.println("(a>10)|(b>5)的傳回值為 "+(a>10|b>5));
System.out.println("(a>10)^(b>5)的傳回值為 "+(a>10^b>5));
System.out.println(" 15 & 3 的傳回值為 "+(a&b));
System.out.println(" 15 | 3 的傳回值為 "+(a|b));
System.out.println(" 15 ^ 3 的傳回值為 "+(a^b));
System.out.println(" ~3 的傳回值為"+(~b));
(a>10)&&(b>5)的傳回值為 false
(a>10)||(b>5)的傳回值為 true
(a>10)&(b>5)的傳回值為 false
(a>10)|(b>5)的傳回值為 true
(a>10)^(b>5)的傳回值為 true
15 & 3 的傳回值為 3
15 | 3 的傳回值為 15
15 ^ 3 的傳回值為 12
~3 的傳回值為-4
~ |
補數 |
~A |
1轉換成0,0轉換成1 |
& |
and |
A&B |
只有1&1為1,否則為0 |
| |
Or |
A|B |
只有0|0為0,否則為1 |
^ |
Xor |
A^B |
只有1^0或0^1為1,否則為0 |
------
publicclass first_Java {
publicstaticvoid main(String args[]){
System.out.println("5 << 2 的傳回值為 "+(5<<2));
System.out.println("-5 << 2 的傳回值為 "+(-5<<2));
System.out.println("5 >> 2的傳回值為 "+(5>>2));
System.out.println("-5 >> 2的傳回值為 "+(-5>>2));
}
}
5 << 2 的傳回值為 20
-5 << 2 的傳回值為 -20
5 >> 2的傳回值為 1
-5 >> 2的傳回值為 -2
----------
publicclass first_Java {
publicstaticvoid main(String args[]){
int A=5;
System.out.println("A=5 ");
A+=3+2;
System.out.println("A+= 3+2 的值為 "+(A));
A=5;
A-=5-4;
System.out.println("A-= 5-4 的值為 "+(A));
A=5;
A*=2*3;
System.out.println("A*= 2*3 的值為 "+(A));
A=5;
A/=10/5+3;
System.out.println("A/= 10/5+3 的值為 "+(A));
A=5;
A%=15%4;
System.out.println("A%= 10%3 的值為 "+(A));
A=5;
A &=5-3;
System.out.println("A&= 5-3 的值為 "+(A));
A=5;
A|=2;
System.out.println("A|= 2 的值為 "+(A));
A=5;
A^=2+1;
System.out.println("A^= 2+1 的值為 "+(A));
}
}
A=5
A+= 3+2 的值為 10
A-= 5-4 的值為 4
A*= 2*3 的值為 30
A/= 10/5+3 的值為 1
A%= 10%3 的值為 2
A&= 5-3 的值為 0
A|= 2 的值為 7
A^= 2+1 的值為 6
在這裡因為運算子優先權的關係
所以那些 += -= *= 等等運算子是最後才執行
如 A += 3+2 是先3+2 再跟a相加
A-= 5-4 是 先5-4 在執行A-(5-4 )
運算子優先權可以看下表
----------------------------
publicclass first_Java {
publicstaticvoid main (String args[] ){
int a=7,b=8,c=9; /*宣告a、b及c三個整數變數,並指定初始值*/
System.out.println("a<b && b<c || c<a = "+(a<b && b<c || c<a));
/* 先計算「a<b && b<c」,然後再將結果與「c<a」進行OR的運算 */
System.out.println("!(a<b) && b<c || c<a = "+(!(a<b) && b<c || c<a));
}
}
a<b && b<c || c<a = true
!(a<b) && b<c || c<a = false
優先序 |
運算子 |
結合律 |
1(最高) |
括號:() 、 [] |
由右至左(不知道為什麼) |
2 |
遞增++ 遞減- - 負號- not! 補數~ |
由左至右 |
3 |
乘* 除/ 取餘數% |
由左至右 |
4 |
加+ 減- |
由左至右 |
5 |
位元左移<< 位元右移>> 無正負姓位元右移>>> |
由左至右 |
6 |
小於< 大於> 小於等於<= 大於等於>= |
由左至右 |
7 |
等於== 不等於!= |
由左至右 |
8 |
AND: & |
由左至右 |
9 |
XOR: ^ |
由左至右 |
10 |
OR: | |
由左至右 |
11 |
簡化比較次數的AND:&& |
由左至右 |
12 |
簡化比較次數的OR: || |
由左至右 |
13 |
條件選擇 ?: |
由右至左 |
14 |
指定運算 = |
由右至左 |
15(最低) |
+= -= *= /= %= &= |= ^= |
由右至左 |
------------------------
publicclass first_Java {
publicstaticvoid main (String args[] ){
int bit_test=12;/* 定義整數變數 (00001100) */
int bit_test1=7;/* 定義整數變數 (00000111)*/
System.out.println("bit_test= "+bit_test+" bit_test1= "+bit_test1);
System.out.println("----------------------------------------------");
/* 執行 AND,OR,XOR 位元運算 */
System.out.println("執行 AND 運算的結果:"+(bit_test & bit_test1));
System.out.println("執行 OR 運算的結果:"+(bit_test | bit_test1));
System.out.println("執行 XOR 運算的結果:"+(bit_test ^ bit_test1));
}
}
bit_test= 12 bit_test1= 7
----------------------------------------------
執行 AND 運算的結果:4
執行 OR 運算的結果:15
執行 XOR 運算的結果:11
------
publicclass first_Java {
publicstaticvoid main (String args[] ){
int bit_test=12; /* 定義整數變數 (00001100) */
int i=100, j=3; /* 定義整數變數 i 與 j */
float Result; /* 定義浮點數變數 Result */
System.out.println("自動型態轉換的執行結果");
Result=i/j; /* 自動型態轉換 */
System.out.println("Result=i/j="+i+"/"+j+"="+Result);
System.out.println("-----------------------------------------");
System.out.println("強制型態轉換的執行結果");
Result=(float) i / j; /* 強制型態轉換 */
System.out.println("Result=(float)i/(float)j="+i+"/"+j+"="+Result);
System.out.println("-----------------------------------------");
}
}
自動型態轉換的執行結果
Result=i/j=100/3=33.0
-----------------------------------------
強制型態轉換的執行結果
Result=(float)i/(float)j=100/3=33.333332
-----------------------------------------
在強制型態轉換中 包含轉換型態名稱的小括號不能省略
a=(float)(b+c)/2;
另外 在指定運算子 = 左邊的變數不能進行強制資料型態轉換
(float)a=(b+c)/2; /* 不合法指令 */
第三單元
publicclass first_Java {
publicstaticvoid main(String[] ages) {
// if條例判斷式
int Tim = 20, Tracy = 23;
System.out.println("Tim年齡=" + Tim + ",Tracy年齡=" + Tracy);
if (Tim < Tracy) {
System.out.println("Tim年齡比Tracy小" + '\n');
}
Tim = 25;
System.out.println("Tim年齡=" + Tim + ",Tracy年齡=" + Tracy);
if (Tim > Tracy) {
System.out.println("Tim年齡比Tracy大" + '\n');
}
Tim = 23;
System.out.println("Tim年齡=" + Tim + ",Tracy年齡=" + Tracy);
if (Tim == Tracy) {
System.out.println("Tim年齡和Tracy一樣");
}
}
}
Tim年齡=20,Tracy年齡=23
Tim年齡比Tracy小
Tim年齡=25,Tracy年齡=23
Tim年齡比Tracy大
Tim年齡=23,Tracy年齡=23
Tim年齡和Tracy一樣
------
publicclass first_Java {
publicstaticvoid main(String[] ages) {
// if-else條例判斷式
int Tim = 27, Tracy = 23;
System.out.println("Tim年齡=" + Tim + ",Tracy年齡=" + Tracy);
if (Tim < Tracy) {
System.out.println("Tim年齡比Tracy小" + '\n');
} else {
System.out.println("Tim年齡比Tracy大");
}
}
}
Tim年齡=27,Tracy年齡=23
Tim年齡比Tracy大
publicclass first_Java {
publicstaticvoid main(String[] ages) {
// 變數宣告
int score = 88;
System.out.println("Tim學期成績總分=" + score);
// if-else-if條例判斷式
if (score >= 90) {
System.out.println("測驗級分等級:A" + '\n');
} elseif ((score >= 70) && (score < 90)) {
System.out.println("測驗級分等級:B" + '\n');
} else {
System.out.println("測驗級分等級:C" + '\n');
}
score = 60;
System.out.println("Tracy學期成績總分=" + score);
if (score >= 90) {
System.out.println("測驗級分等級:A" + '\n');
} elseif ((score >= 70) && (score < 90)) {
System.out.println("測驗級分等級:B" + '\n');
} else {
System.out.println("測驗級分等級:C" + '\n');
}
}
}
Tim學期成績總分=88
測驗級分等級:B
Tracy學期成績總分=60
測驗級分等級:C
-----
if相關條件判斷
當條件判斷式為true 則進入程式敘述區執行 否則跳離敘述區
若是if-else條件判斷 則當不進入if的敘述區時 則進入else敘述區
-----
-------
publicclass first_Java {
publicstaticvoid main(String[] ages) {
// 變數宣告
int a = 0, b = 0;
System.out.println("AND邏輯閘=(" + a + "," + b + ")");
if (a == 1) {
if (b == 1) {
System.out.println(a + "(AND)" + b + "=" + "1" + '\n');
} else {
System.out.println(a + "(AND)" + b + "=" + "0" + '\n');
}
} else {
System.out.println(a + "(AND)" + b + "=" + "0" + '\n');
}
a = 1;
System.out.println("AND邏輯閘=(" + a + "," + b + ")");
if (a == 1) {
if (b == 1) {
System.out.println(a + "(AND)" + b + "=" + "1" + '\n');
} else {
System.out.println(a + "(AND)" + b + "=" + "0" + '\n');
}
} else {
System.out.println(a + "(AND)" + b + "=" + "0" + '\n');
}
a = 1;
b = 1;
System.out.println("AND邏輯閘=(" + a + "," + b + ")");
if (a == 1) {
if (b == 1) {
System.out.println(a + "(AND)" + b + "=" + "1" + '\n');
} else {
System.out.println(a + "(AND)" + b + "=" + "0" + '\n');
}
} else {
System.out.println(a + "(AND)" + b + "=" + "0" + '\n');
}
}
}
AND邏輯閘=(0,0)
0(AND)0=0
AND邏輯閘=(1,0)
1(AND)0=0
AND邏輯閘=(1,1)
1(AND)1=1
----------
publicclass first_Java {
publicstaticvoid main(String[] ages){
//變數宣告
char math_score='A';
System.out.println("Michael數學成績:"+math_score);
switch(math_score){
case'A':
System.out.println("師長評語:非常好!真是優秀"+'\n');
break; // break的用意是跳出switch條件判斷式
case'B':
System.out.println("師長評語:師長評語:也不錯,但還可以更好"+'\n');
break; // break的用意是跳出switch條件判斷式
case'C':
System.out.println("師長評語:真的要多用功"+'\n');
break; // break的用意是跳出switch條件判斷式
default:
System.out.println("師長評語:不要貪玩,為自己多讀書 "+'\n');
}
math_score='C';
System.out.println("Jane數學成績:"+math_score);
switch(math_score){
case'A':
System.out.println("師長評語:非常好!真是優秀"+'\n');
break; // break的用意是跳出switch條件判斷式
case'B':
System.out.println("師長評語:師長評語:也不錯,但還可以更好"+'\n');
break; // break的用意是跳出switch條件判斷式
case'C':
System.out.println("師長評語:真的要多用功"+'\n');
break; // break的用意是跳出switch條件判斷式
default:
System.out.println("師長評語:不要貪玩,為自己多讀書 "+'\n');
}
}
}
Michael數學成績:A
師長評語:非常好!真是優秀
Jane數學成績:C
師長評語:真的要多用功
-------
publicclass first_Java {
publicstaticvoid main(String[] ages){
//變數宣告
int math_score=70;
System.out.println("Michael數學成績:"+math_score);
String str;
str=(math_score>80)?"非常好":"多加油";
System.out.println("師長評語:"+str+'\n');
math_score=90;
System.out.println("Jane數學成績:"+math_score);
str=(math_score>80)?"非常好":"多加油";
System.out.println("師長評語:"+str+'\n');
}
}
Michael數學成績:70
師長評語:多加油
Jane數學成績:90
師長評語:非常好
-----
publicclass first_Java {
publicstaticvoid main(String args[]) {
System.out.println("1~10間奇數的和");
int sum = 0;// 設定總和的起始值為0
System.out.println("所有的奇數:");
for (int i = 1; i <= 10; i++) {
if (i % 2 != 0) {// 利用if敘述確定i為奇數
sum += i;
System.out.print(i + " ");
}
}
System.out.println();
System.out.println("答案=" + sum);// 輸出答案
}
}
1~10間奇數的和
所有的奇數:
1 3 5 7 9
答案=25
publicclass first_Java {
publicstaticvoid main(String[] ages) {
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= 9; j++) {
System.out.print(i + "*" + j + "=" + i * j + '\t');
}
System.out.print('\n');
}
}
}
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45
------
publicclass first_Java {
publicstaticvoid main(String args[]) {
int n = 1, sum = 0;// 宣告n的起始值和累加值sum
// while迴圈開始
while (n <= 10) {
System.out.print("n=" + n);
sum += n;// 計算n的累加值
System.out.println("\t累加值=" + sum);
n++;
}
System.out.println("迴圈結束");
}
}
n=1 累加值=1
n=2 累加值=3
n=3 累加值=6
n=4 累加值=10
n=5 累加值=15
n=6 累加值=21
n=7 累加值=28
n=8 累加值=36
n=9 累加值=45
n=10 累加值=55
迴圈結束
publicclass first_Java {
publicstaticvoid main(String args[]){
int n=40,m=180;
int temp=0;//作為交換n與m的功能
System.out.println("n="+n+",m="+m);
//do while迴圈開始
do{
temp=m%n;
m=n;
n=temp;
}while(n!=0 );//檢查條件運算式
System.out.println("兩數的最大公因數="+m);
}
}
n=40,m=180
兩數的最大公因數=20
-----
publicclass first_Java {
publicstaticvoid main(String args[]){
int i ,j;
System.out.println("跳出單層迴圈");
for(i=1; i<10; i++){
for(j=1; j<=i; j++){
if(j==5) break ;//跳出單層迴圈
System.out.print(j);
}
System.out.println();
}System.out.println();
System.out.println("跳出雙層迴圈");
out1://設定標籤
for(i=1; i<10; i++){
for(j=1; j<=i; j++){
if(j==5) break out1;//跳出標籤
System.out.print(j);
}
System.out.println();
}System.out.println();
}
}
跳出單層迴圈
1
12
123
1234
1234
1234
1234
1234
1234
跳出雙層迴圈
1
12
123
1234
1234
publicclass first_Java {
publicstaticvoid main(String args[]){
int i ,j;
for(i=1; i<10; i++){
for(j=1; j<=i; j++){
if(j==5) continue ;//跳過下面敘述繼續執行迴圈
System.out.print(j);
}
System.out.println();
}System.out.println();
out1:
//設定標籤
for(i=1; i<10; i++){
for(j=1; j<=i; j++){
if(j==5) continue out1;//回到標籤處繼續執行迴圈
System.out.print(j);
}System.out.println();
}System.out.println();
}
}
1
12
123
1234
1234
12346
123467
1234678
12346789
1
12
123
1234
12341234123412341234
------
publicclass first_Java {
publicstaticvoid main(String args[]){
int i ,j;
for(i=1; i<10; i++){
for(j=1; j<=i; j++){
if(j==5) continue ;//跳過下面敘述繼續執行迴圈
System.out.print(j);
}
System.out.println();
}System.out.println();
out1:
//設定標籤
for(i=1; i<10; i++){
for(j=1; j<=i; j++){
if(j==5) continue out1;//回到標籤處繼續執行迴圈
System.out.print(j);
}System.out.println();
}System.out.println();
}
}
1
12
123
1234
1234
12346
123467
1234678
12346789
1
12
123
1234
12341234123412341234
-------
publicclass first_Java {
publicstaticvoid main(String args[]){
int ans;
ans=sum(10);//呼叫sum方法
System.out.println("1~10的加總");
System.out.println("ans="+ans);
}
//sum方法
staticint sum(int n){
int sum=0;
for(int i=1; i<=n; i++){
sum+=i;
}
return sum; //回傳sum變數值
}
}
1~10的加總
ans=55
------
publicclass first_Java {
publicstaticvoid main(String[] ages){
int A[]={1,2,3,4,5,6,7,8,9};
char B[]={'H','a','p','p','y'};
System.out.println("數字陣列"); // 傳統for迴圈讀取陣列資料
for (int i=0;i<A.length;i++){
System.out.print(A[i]+" ");
}
System.out.println('\n');
System.out.println("字元陣列");
for (int i=0;i<B.length;i++) {
System.out.print(B[i]+" ");
}
System.out.println('\n');
System.out.println("數字陣列"); // 新增for-each迴圈讀取陣列資料
for (int i:A){
System.out.print(i+" "); //直接讀取陣列中的元素值
}
System.out.println('\n');
System.out.println("字元陣列");
for (char i:B){
System.out.print(i+" ");// 因為陣列B的元素是字元,所以i必須宣告成char
}
System.out.println('\n');
}
}
數字陣列
1 2 3 4 5 6 7 8 9
字元陣列
H a p p y
數字陣列
1 2 3 4 5 6 7 8 9
字元陣列
H a p p y
-----------------------
publicclass first_Java {
publicstaticvoid main(String[] ages){
int A[][]=newint[2][3]; //宣告多維陣列
for (int i=0;i<2;i++){ //設定陣列中的值,並且讀取陣列值
for (int j=0;j<3;j++){
A[i][j]=i+j;
System.out.print(A[i][j]+" ");
}
}
System.out.println('\n');
for (int i[]:A){ // 改用for-each迴圈讀取陣列資料
for (int j:i){
System.out.print(j+" ");
}
}
System.out.println('\n');
}
}
0 1 2 1 2 3
0 1 2 1 2 3
-------------
publicclass first_Java {
publicstaticvoid main(String args[])
{
int score = 88;
int level = 0;
//巢狀if..else敘述
System.out.println("利用if..else控制敘述判斷");
if (score >= 60)
{
if(score >= 75)
{
if(score >= 90)
{
System.out.println("成績" + score + " 是甲等!!");
level = 1;
}
else
{
System.out.println("成績" + score + " 是乙等!!");
level = 2;
}
}
else
{
System.out.println("成績" + score + " 是丙等!!");
level = 3;
}
}
else
System.out.println("成績" + score + " 不及格!!");
// switch..case敘述
System.out.println("利用switch..case控制敘述判斷");
switch(level)
{
case 1:System.out.println("成績" + score + " 是甲等!!");break;
case 2:System.out.println("成績" + score + " 是乙等!!");break;
case 3:System.out.println("成績" + score + " 是丙等!!");break;
default:System.out.println("成績" + score + " 是丁等!!");break;
}
}
}
利用if..else控制敘述判斷
成績88 是乙等!!
利用switch..case控制敘述判斷
成績88 是乙等!!
-----
publicclass first_Java {
publicstaticvoid main(String args[])
{
int totalSum = 0;
int var1 = 1;
int var2 = 1;
int var4 = 50;
//while迴圈
while(var1 <= var4)
{
totalSum += var1;
var1 += 1;
}
System.out.println("while迴圈作1至50累加總和為" + totalSum);
totalSum = 0;
//do..while迴圈
do
{
totalSum += var2;
var2 += 1;
}while(var2 <= var4);
System.out.println("do..while迴圈作1至50累加總和為" + totalSum);
totalSum = 0;
//for迴圈
for (int var3 = 1; var3 <= var4; var3++)
totalSum += var3;
System.out.println("for迴圈1至50累加總和為" + totalSum);
}
}
while迴圈作1至50累加總和為1275
do..while迴圈作1至50累加總和為1275
for迴圈1至50累加總和為1275
-----
作業:
每一組從這些程式碼中(也可以上網找其他程式碼)
挑出幾個你認為重要的或是有學到東西的
詳細說明 心得,哪裡重要,學到什麼
字數不限 幾個程式碼不限
此外
第一組:
(1)設計一個程式可以判別所輸入的是值是否為7的倍數
(2)設計一個程式可以輸入兩個數字,並將二數中較小者的一數的立方值印出
設計一個程式介於100到200中所有奇數之總和
(3)設計一個程式可以輸入兩個數字,並將兩數作AND運算,將其結果顯示出來,再做位元右移並顯示出來
第二組:
(1)設計一個程式可以判別所輸入的是值是否為5的因數
(2)設計一個程式可允許輸入一個數值number,當所輸入的值小於1,會出現錯誤提示並要求再輸入一次
若正確則累加1到number範圍間的奇數總和
(3)設計一個程式可以輸入兩個數字,並將兩數作OR運算,將其結果顯示出來,再做位元左移並顯示出來
第三組:
(1)設計一個程式可以判別所輸入的是值是否為偶數
(2)設計一個程式可允許輸入一個數值number,並計算其階乘值(如 5! = 120)
(3)設計一個程式可以輸入兩個數字,將兩數做位元左移並顯示出來,再將兩數作XOR運算,將其結果顯示
程式作業需註解,執行結果需附圖
留言列表