java語言基礎,java語言
輸出錯誤資訊與調試資訊
package com;
public class Msj {
public static void main(String[] args) {
System.out.println("main()方法開始運行了。");
// 輸出錯誤資訊
System.err.println("在運行期間手動輸出一個錯誤資訊:");
System.err.println("\t該軟體沒有買保險,請注意安全");
System.out.println("PrintErrorAndDebug.main()");
System.out.println("main()方法運行結束。");
}
}
結果:
從控制台接收輸入字元
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);// 建立輸入資料流掃描器
System.out.println("請輸入你的社會安全號碼:");// 提示使用者輸入
String line = scanner.nextLine();// 擷取使用者輸入的一行文本
// 列印對輸入文本的描述
System.out.println("原來你社會安全號碼是" + line.length() + "位元字的啊");
}
}
結果:
重新導向輸出資料流實現程式日誌
package com;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
try {
PrintStream out = System.out;// 儲存原輸出資料流
PrintStream ps=new PrintStream("./log.txt");// 建立檔案輸出資料流
System.setOut(ps);// 設定使用新的輸出資料流
int age=18;// 定義整形變數
System.out.println("年齡變數成功定義,初始值為18");
String sex="女";// 定義字串變數
System.out.println("性別變數成功定義,初始值為女");
// 整合兩個變數
String info="這是個"+sex+"孩子,應該有"+age+"歲了。";
System.out.println("整合兩個變數為info字串變數,其結果是:"+info);
System.setOut(out);// 恢複原有輸出資料流
System.out.println("程式運行完畢,請查看記錄檔。");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
結果:
自動類型轉換與強制類型轉換
package com;
public class Msj {
public static void main(String[] args) {
byte b = 127;
char c = 'W';
short s = 23561;
int i = 3333;
long l = 400000L;
float f = 3.14159F;
double d = 54.523;
// 低類型向高類型自動轉換
System.out.println("累加byte等於:" + b);
System.out.println("累加char等於:" + (b + c));
System.out.println("累加short等於:" + (b + c + s));
System.out.println("累加int等於:" + (b + c + s + i));
System.out.println("累加long等於:" + (b + c + s + i + l));
System.out.println("累加float等於:" + (b + c + s + i + l + f));
System.out.println("累加double等於:" + (b + c + s + i + l + f + d));
// 高類型到低類型的強制轉換
System.out.println("把long強制類型轉換為int:" + (int) l);
// 高類型到低類型轉換會遺失資料
System.out.println("把int強制類型轉換為short:" + (short) l);
// 實數到整數轉換將捨棄小數部分
System.out.println("把double強制類型轉換為int:" + (int) d);
// 整數到字元類型的轉換將擷取對應編碼的字元
System.out.println("把short強制類型轉換為char:" + (char) s);
}
}
結果:
加密可以這樣簡單(位元運算)
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("請輸入要加密字串");
String password = scan.nextLine();// 擷取使用者輸入
char[] array = password.toCharArray();// 擷取字元數組
for (int i = 0; i < array.length; i++) {// 遍曆字元數組
array[i] = (char) (array[i] ^ 20000);// 對每個數組元素進行異或運算
}
System.out.println("加密結果如下:");
System.out.println(new String(array));// 輸出加密資訊
password=new String(array);
array = password.toCharArray();// 擷取字元數組
for (int i = 0; i < array.length; i++) {// 遍曆字元數組
array[i] = (char) (array[i] ^ 20000);// 對每個數組元素進行異或運算
}
System.out.println("解密結果如下:");
System.out.println(new String(array));// 輸出解密資訊
}
}
結果
用三元運算子判斷奇數和偶數
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);// 建立輸入資料流掃描器
System.out.println("請輸入一個整數:");
long number = scan.nextLong();// 擷取使用者輸入的整數
String check = (number % 2 == 0) ? "這個數字是:偶數" : "這個數字是:奇數";
System.out.println(check);
}
}
結果:
不用乘法運算子實現乘法
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);// 建立掃描器
System.out.println("請輸入一個整數");
long number = scan.nextLong();// 擷取輸入的整數
System.out.println("你輸入的數字是:"+number);
System.out.println("該數字乘以2的運算結果為:"+(number<<1));
System.out.println("該數字乘以4的運算結果為:"+(number<<2));
System.out.println("該數字乘以8的運算結果為:"+(number<<3));
System.out.println("該數字乘以16的運算結果為:"+(number<<4));
}
}
結果:
實現兩個變數的互換(不藉助第3個變數)
package com;
import java.util.Scanner;
public class Msj {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);// 建立掃描器
System.out.println("請輸入變數A的值");
long A = scan.nextLong();// 接收第一個變數值
System.out.println("請輸入變數B的值");
long B = scan.nextLong();// 接收第二個變數值
System.out.println("A=" + A + "\tB=" + B);
System.out.println("執行變數互換...");
A = A ^ B;// 執行變數互換
B = B ^ A;
A = A ^ B;
System.out.println("A=" + A + "\tB=" + B);
}
}