眾所周知,Java是C風格的語言,對于學過C語言的人學Java可以快速適應。
廢話不多說,直接邊看代碼邊學。
數據類型,輸入和輸出
import java.util.Scanner;//為了使用Scanner
public class a1 {//a1是類名,就是文件名,所有的可執行代碼需要寫在這個里面
//去掉class前面的public就可以讓類名不與文件名相同public static final double PI=3.1415926;//定義常變量,Java 約定常量使用全大寫+下劃線分隔命名public static void main(String[] args) {//主函數byte a0 = 0;//-128 到 127short a1 = 0;//-32,768 到 32,767int a2 = 0;//-2,147,483,648 到 2,147,483,647long a3 = 0;//-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807float a4 = 0;//約 -3.40282347E+38 到 3.40282347E+38double a5 = 0;//約 -1.79769313486231570E+308 到 1.79769313486231570E+308char a6 = 'A';//0 到 65,535(Unicode 字符)boolean a7 = false;//true 或 false,布爾類型String a8 = "Hello java!";//字符串類型int a$12 = 1;//變量命名可以使用“$”,其他和C語言中的命名法則相同Scanner sc = new Scanner(System.in);//sc是變量名,可更改,使用時需在開頭加上“import java.util.Scanner;”int b1 = sc.nextInt();//鍵盤輸入操作,輸入一個數賦值給b1,sc是變量名,需和上一行聲明的變量名相同System.out.println(b1);//向終端輸出操作,輸出一個b1,注意,println是會自動換行的,去掉“ln”就不會自動換行System.out.print(b1 + "\n");//這行和上一行功能相同。提醒,“System.out.println”這些可在IDEA中輸入“sout”快速通過提示打出boolean b2 = true, b3 = false;System.out.println(b2 + " " + b3);//注意,打印結果是“true false”}
}
四則運算和運算符
void a1() {//在Java中,將函數稱為方法byte a0 = 0, a1 = 1, a2 = 2;//四則運算和C語言一樣的表示方式a0 = (byte) (a1 + a2);//java中計算時通常會short,byte,char這些類型自動轉成數據范圍更大的類型// 在這里a1+a2的結果是int型的,需要強轉int b1 = 0, b2 = 1, b3 = 2;++b1;//也可以--b1b1++;//b1--b2 += 1;//也可以b2-=1,b2*=1,b2/=1,b2%=1,b2&=1;b3 = b2 | b1;//位運算符,還有&,^,~,<<,>>boolean c0 = b3 > b2;//也可以b2<b3,b3>=b2,b2<=b3,b2==b3,b2!=b3// 注意,像這種邏輯關系的結果是布爾型boolean c1 = b3 > b2 | b3 == b2;//邏輯或,兩者中有真即為真,無論第一個是否為真都會去判斷第二個是否為真boolean c2 = b3 > b2 || b3 == b2;//這行和上一行是作用是相同的,不同的是只要第一個為真就結束判斷boolean c3 = b3 > b2 & b3 == b2;//邏輯與,兩者都為真即為真,當然,“&”可寫成“&&”,原理和邏輯或相似int c4 = (a0 == 0 ? 1 : 2);//三元運算符,和C語言中的用法相似}
條件語句和循環語句
void a2() {int a0 = 1;if (a0 > 0) {System.out.println("YES");}//同樣,和C語言相似,也有if...else,if...else if...if,以及switch,用法也是相似的switch (a0) {case 1 -> System.out.println("1");//JDK14之后的新寫法,等同于case 1:{System.out.println("1");break;}default -> System.out.println("2");}for (int i = 0; i < 10; i++) {a0++;//同樣,和C語言相似,也有while,do...while,用法也是相似的}//也可以通過continue,break對循環進行操作,用法和C語言相似//注意,Java 保留了 goto 關鍵字,但禁止使用其實現跳轉邏輯//在多層循環中,可以通過標簽來跳到任意外層循環tag2 ://注意,標簽通常不建議使用for (int i = 0; i < 10; i++) {tag1 :for (int j = 0; j < 10; j++) {for (int k = 0; k < 10; k++) {if(a0>100)break tag2;//直接跳出最外層循環if(a0>50)continue tag1;//跳到第二層循環的下一次迭代a0++;}}}}