星期六, 5月 28, 2011

20110527 Java 練習小記


package Chapter4;


public class Sample1 {
public static void main(String[] args)
{
//使用括號 ( ) 將運算式 框起來
System.out.println("1+2等於"+(1+2));
System.out.println("3+4等於"+(3+4));
}
}


package Chapter4;

public class Sample2 {

public static void main(String[] args) {
int num1 = 2;
int num2 = 3;
int sum = num1 + num2;
System.out.println("變數 num1 的值是"+num1);
System.out.println("變數 num2 的值是"+num2);
System.out.println("num1+num2 的值是"+sum);
//等號並不是相等的意思, 而是指定的意思
num1 = num1 + 1;
System.out.println("變數 num1 的值加1後是"+num1);


}

}


package Chapter4;
import java.io.*;
public class Sample3 {

public static void main(String[] args) throws IOException 
{
System.out.println("請輸入兩個整數:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
int num1 = Integer.parseInt(str1);
int num2 = Integer.parseInt(str2);
System.out.println("相加的結果是"+(num1+num2));

}

}


package Chapter4;

public class Sample4 {

public static void main(String[] args) {
int num1 = 10;
int num2 = 5;
System.out.println("num1 與 num2 的各種運算");
System.out.println("num1+num2等於"+(num1+num2));
System.out.println("num1-num2等於"+(num1-num2));
System.out.println("num1*num2等於"+(num1*num2));
System.out.println("num1/num2等於"+(num1/num2));
// % 為餘數的運算子
System.out.println("num1%num2等於"+(num1%num2));

}

}


package Chapter4;

public class Sample5 {

public static void main(String[] args) {
int a = 0;
int b = 0;
System.out.println("a的值為"+a);
System.out.println("b的值為"+b);
//使用後置遞增運算子, 先指定變數, 再增加
b = a++;
//因為是先指定 b = a 之後才進行 a++ 所以出來的b值為 0, 但是 a的值為1
System.out.println("指定後置遞增運算子, b的值為"+b);
System.out.println("a的值為"+a);
System.out.println("b的值為"+b);

b = ++a;
//使用前置遞增運算子, 先增加, 再指定變數
//因為使用 ++a 所以會先將 a +1 所以出來的值 b為 2 (剛剛的a值為 1, 1+1 = 2)
System.out.println("指定前置遞增運算子, b的值為"+b);
System.out.println("a的值為"+a);
System.out.println("b的值為"+b);

}

}


package Chapter4;
import java.io.*;
public class Sample6 {
//這邊在使用 BufferedReader 時候老是忘記加上  throws IOException 要記住
public static void main(String[] args) throws IOException
{
System.out.println("請輸入3個整數:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
String str3 = br.readLine();
int sum = 0;
System.out.println("目前的sum 值為"+sum);
sum += Integer.parseInt(str1);
System.out.println("目前的sum 值為"+sum);
sum += Integer.parseInt(str2);
System.out.println("目前的sum 值為"+sum);
sum += Integer.parseInt(str3);
System.out.println("3個整數合計的值為"+sum);


}

}


package Chapter4;

public class Sample7 {

public static void main(String[] args) {
//這邊有使用括號, 所以會被處理運算 1+2
System.out.println("1+2等於"+(1+2));
//這邊因為沒有使用括號 1 還有 2 會被視為文字串接
System.out.println("1+2等於"+1+2);
System.out.println("3*4等於"+3*4);

}

}


package Chapter4;

public class Sample8 {

public static void main(String[] args) {
int inum = 160;
System.out.println("身高是:"+inum+"公分");
System.out.println("指定成double型態之後");
//將原本資料型態較小的 integer 轉換到 double
double dnum = inum;
System.out.println("身高是:"+dnum+"公分");

}

}


package Chapter4;

public class Sample9 {

public static void main(String[] args) {
double dnum = 160.5;
System.out.println("身高"+dnum+"公分");
System.out.println("轉換為 int 的型態後");
//大的型態沒有辦法直接轉成小的型態, 如果要這樣要透過 cast 運算子 明確清楚的指示轉換的資料型態
// 括號內就是明確指定 型態類別
int inum = (int) dnum;
System.out.println("身高為"+inum+"公分");

}

}


package Chapter4;

public class Sample10 {

public static void main(String[] args) {
int d = 2;
double pi = 3.14;
System.out.println("直徑是"+d+"的圓");
//在 java 中如果有資料型態不同的狀況要運算, 
//會將型態較小的先轉成型態較大的型態, 再進行運算
System.out.println("其圓周是"+(d*pi));

}

}


package Chapter4;

public class Sample11 {

public static void main(String[] args) {
int num1 = 5;
int num2 = 4;
//因為預期 5/4 為 1.25 所以先指定為 double 型態
//但是 因為 num1 與 num2 都是int 所以 出來的結果 1.25 只有 1屬於 int
double div = num1 / num2;
//所以這樣顯示結果為 1
System.out.println("5/4為"+div);
//如果要正確的輸出結果, 必須要在兩個其中一個先指定 double 型態 (利用 cast)
double div2 = (double) num1 / num2;
System.out.println("5/4為"+div2);

double div3 = num1 / (double) num2;
System.out.println("5/4為"+div3);

}

}


package Chapter4;

public class Homework4_2 {
public static void main(String[] args) {
System.out.println("0-4="+(0-4));
System.out.println("3.14*2="+(3.14*2));
double ans3 = (double) 5/3;
//突然發現也可以在 System.out.println 直接使用 (cast) ^__^
System.out.println("5/3="+(double) 5/3);
System.out.println("5/3="+ ans3);
System.out.println("30/7的餘數為"+30%7);
System.out.println("(7+32)/5="+(double)(7+32)/5);

}

}


package Chapter4;
import java.io.*;
public class Homework4_3 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入正方形的邊長:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
int num = Integer.parseInt(str);
System.out.println("正方形的面積是"+num*num);

}

}


package Chapter4;
import java.io.*;
public class Homework4_4 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入三角形的底與高");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
int int1 = Integer.parseInt(str1);
int int2 = Integer.parseInt(str2);
System.out.println("三角形面積為"+(double)(int1*int2)/2);

}

}


package Chapter4;
import java.io.*;
public class Homework4_5 {

public static void main(String[] args) throws IOException
{
System.out.println("請輸入1 - 5 科目的得分");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str1 = br.readLine();
String str2 = br.readLine();
String str3 = br.readLine();
String str4 = br.readLine();
String str5 = br.readLine();
//天阿, 我竟然用最笨的方法
double dnum1 = Double.parseDouble(str1);
double dnum2 = Double.parseDouble(str2);
double dnum3 = Double.parseDouble(str3);
double dnum4 = Double.parseDouble(str4);
double dnum5 = Double.parseDouble(str5);
//是可以使用
// int sum = 0;
//sum += Integer.parseInt(str1);
//sum += Integer.parseInt(str2);
//sum += Integer.parseInt(str3);
//sum += Integer.parseInt(str4);
//sum += Integer.parseInt(str5);
//System.out.println("5種科目總分為"+sum);
System.out.println("5種科目總分為"+(int)(dnum1+dnum2+dnum3+dnum4+dnum5));
//System.out.println("5種科目平均為"+sum/ (double)5);
System.out.println("5種科目平均為"+(dnum1+dnum2+dnum3+dnum4+dnum5)/5);

}

}

沒有留言: