變數、運算符、表達式、輸入與輸出 tip:[start]編程是一種控制電腦的方式,和我們平時雙擊打開文件、關機、重啟沒有任何區別——閆學燦tip:[end] 1.編寫一個簡單的Java程式–手速練習 /* step1:創建一個java源文件:HelloWorld.java 將編寫的java代碼保存 ...
變數、運算符、表達式、輸入與輸出
tip:[start]編程是一種控制電腦的方式,和我們平時雙擊打開文件、關機、重啟沒有任何區別——閆學燦tip:[end]
1.編寫一個簡單的Java程式–手速練習
/*
step1:創建一個java源文件:HelloWorld.java
將編寫的java代碼保存在以".java"結尾的源文件中
*/
//第三個單詞必須和文件名一樣
public class HelloWorld {
//psvm main方法
public static void main(String[] args){
//sout 輸出語句
System.out.println("Hello World!");
}
}
2.語法基礎
2.1 變數
// 變數必須先定義,才可以使用。不能重名。
// 變數定義的方式:
public class Main {
public static void main(String[] args) {
int a = 5;
int b, c = a, d = 10 / 2;
}
}
-
內置數據類型:
類型 位元組數 舉例 byte 1 123 short 2 12345 int 4 123456789 long 2 1234567891011L float 4 1.2F double 8 1.2, 1.2D boolean 1 true, false char 2 'A' -
常量:
- 使用final修飾:
final int N = 110;
- 使用final修飾:
-
類型轉化:
- 顯示轉化:
int x = (int)'A';
- 隱式轉化:
double x = 12, y = 4 * 3.3;
- 顯示轉化:
2.2 運算符
A = 10, B = 20
運算符 | 描述 | 實例 |
---|---|---|
+ | 把兩個數相加 | A + B 將得到 30 |
- | 從第一個數中減去第二個數 | A - B 將得到 -10 |
* | 把兩個數相乘 | A * B 將得到 200 |
/ | 分子除以分母 | B / A 將得到 2 |
% | 取模運算符,向零整除後的餘數,註意餘數可能為負數 | B % A 將得到 0 |
++ | 自增運算符 | A++:先取值後加1;++A:先加1後取值 |
-- | 自減運算符 | A--:先取值後減1;--A:先減1後取值 |
+= | 第一個數加上第二個數 | A = A + B 可以簡寫為 A += B |
-= | 第一個數減去第二個數 | A = A - B 可以簡寫為 A -= B |
*= | 第一個數乘以第二個數 | A = A * B 可以簡寫為 A *= B |
/= | 第一個數除以第二個數 | A = A / B 可以簡寫為 A /= B |
%= | 第一個對第二個數取餘數 | A = A % B 可以簡寫為 A %= B |
2.3 表達式
// 整數的加減乘除四則運算:
public class Main {
public static void main(String[] args) {
int a = 6 + 3 * 4 / 2 - 2;
System.out.println(a);
int b = a * 10 + 5 / 2;
System.out.println(b);
System.out.println(23 * 56 - 78 / 3);
}
}
// 浮點數(小數)的運算:
public class Main {
public static void main(String[] args) {
double x = 1.5, y = 3.2;
System.out.println(x * y);
System.out.println(x + y);
System.out.println(x - y);
System.out.println(x / y);
}
}
//整型變數的自增、自減:
public class Main {
public static void main(String[] args) {
int a = 1;
int b = a ++ ;
System.out.println(a + " " + b);
int c = ++ a;
System.out.println(a + " " + c);
}
}
2.4 輸入
// 方式1:效率較低,輸入規模較小時使用。
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
String str = sc.next(); // 讀入下一個字元串
int x = sc.nextInt(); // 讀入下一個整數
float y = sc.nextFloat(); // 讀入下一個單精度浮點數
double z = sc.nextDouble(); // 讀入下一個雙精度浮點數
String line = sc.nextLine(); // 讀入下一行
}
}
// 方式2:效率較高,輸入規模較大時使用,註意需要拋異常。
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
System.out.println(str);
}
}
2.5 輸出
- System.out.printf()中不同類型變數的輸出格式:
int: %d
float: %f
,預設保留6位小數double: %f
,預設保留6位小數char: %c
,回車也是一個字元,用'\n'
表示String: %s
// 方式1:效率較低,輸出規模較小時使用。
public class Main {
public static void main(String[] args) throws Exception {
System.out.println(123); // 輸出整數 + 換行
System.out.println("Hello World"); // 輸出字元串 + 換行
System.out.print(123); // 輸出整數
System.out.print("yxc\n"); // 輸出字元串
System.out.printf("%04d %.2f\n", 4, 123.456D); // 格式化輸出,float與double都用%f輸出
}
}
// 方式2:效率較高,輸出規模較大時使用,註意需要拋異常。
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
public class Main {
public static void main(String[] args) throws Exception {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("Hello World\n");
bw.flush(); // 需要手動刷新緩衝區
}
}