2023.3.9-Java入門-已到達(dá)會自己造輪子的初級學(xué)習(xí)進(jìn)度
目錄
一、源碼
二、輸出
一、源碼

//以下代碼請自行復(fù)制編譯運行,完成學(xué)習(xí),或者查看“二、輸出”。
public class Main {
? ?public static void main(String[] args) {
? ? ? ?int a = 10, b=18;
? ? ? ?short x=10;
? ? ? ?byte c;
? ? ? ?x = (short)(a+b);//強(qiáng)制類型轉(zhuǎn)換long --> short
? ? ? ?a = x;//隱式類型轉(zhuǎn)換short --> long
? ? ? ?c = (byte)a;//byte->short->int->long->float->double, char->int
? ? ? ?System.out.println("x的值是:"+x);
? ? ? ?System.out.print("c的值是:"+c);//print輸出沒有換行
? ? ? ?System.out.println("");
? ? ? ?double pi = 3.14159;
? ? ? ?float f = 2.7F;
? ? ? ?int n = 15, d = 4;
? ? ? ?f=n/d;
? ? ? ?System.out.println("f="+f);
? ? ? ?int radius=10;
? ? ? ?double area=pi*radius*radius;//java的乘除是從右向左計算,所以整數(shù)的radius轉(zhuǎn)換為double和pi相乘,于是area是double的,如果從左向右,則會是整數(shù)。
? ? ? ?System.out.println("area="+area);
? ? ? ?boolean t = true;
? ? ? ?System.out.println("t的值是"+t);
? ? ? ?int xx=2;
? ? ? ?boolean yy=(xx>2);
? ? ? ?System.out.println("yy的值是"+yy);
? ? ? ?char cc='c';//單引號是字符,""是字符串。但是java不提供字符串類型定義。
? ? ? ?System.out.println(cc);
? ? ? ?char bb=(char)(cc+1);//當(dāng)然也可以用unicode的編碼去賦值。
? ? ? ?System.out.println(cc+bb);
? ? ? ?System.out.println("cc+bb是"+cc+bb);
? ? ? ?//下面看數(shù)組,Java的數(shù)組也和C一樣,一經(jīng)定義,無法改變大小。
? ? ? ?int firstArray[];//零數(shù)組,表明數(shù)組存在,但無法儲存值。
? ? ? ?int secondArray[]=new int[5];//這里給它預(yù)留了5個int的存儲空間。
? ? ? ?int intArray[]={30,20,10,-10};//一次性完成定義和賦值。
? ? ? ?System.out.println(intArray[0]);
? ? ? ?String stringArray[]={"first","second"};
? ? ? ?System.out.println(stringArray.length);
? ? ? ?System.out.println(stringArray[0]+'\n'+stringArray[1]);
? ? ? ?//高維數(shù)組,比如二維數(shù)組每個元素都是一維數(shù)組,且數(shù)組不一定等長,數(shù)組空間不是連續(xù)分配的。
? ? ? ?int[][] i = new int[2][3];//推薦使用
? ? ? ?int ii[][] = new int[2][3];//不推薦使用
? ? ? ?int[][] aaa = new int[3][];
? ? ? ?aaa[0] = new int[2];//不能空缺第一維的大小,否則報錯。
? ? ? ?aaa[1] = new int[3];
? ? ? ?aaa[2] = new int[1];
? ? ? ?String programOut="I enjoy java program world.";
? ? ? ?String preHalf=programOut.substring(0,12);
? ? ? ?String backHalf=programOut.substring(12);
? ? ? ?System.out.println(preHalf+backHalf);
? ? ? ?new Main().execute();
? ? ? ?Main main=new Main();
? ? ? ?main.execute();//這樣寫更加規(guī)范一些。
? ?}
? ?private void execute(){
? ? ? ?String s = "Hello你好";
? ? ? ?byte[] bytes=s.getBytes();
? ? ? ?System.out.println(bytes.length+"\n"+bytes[10]);//輸出11,這個和getBytes()有關(guān)。
? ? ? ?String[] ss=new String[]{"a233b","bb234s","c2233d","ad"};
? ? ? ?for(String i:ss)
? ? ? ? ? ?System.out.println(i.matches("[ab]\\d*[cd]"));
? ? ? ?String SS="Get me a cup of coffee////... 1.1";
? ? ? ?String SSS[]=SS.split("\s+");
? ? ? ?for (String sss:SSS)
? ? ? ? ? ?System.out.println(sss);
? ? ? ?//當(dāng)然還可以試一下replaceAll和其他方法。
? ?}
? ?/**
? ? * toString() 在java.lang.Object 中定義
? ? * 此處重載,用@Overrride標(biāo)注。
? ? */
? ?@Override//Java注解,Annotation
? ?public String toString(){
? ? ? ?return "Override toString";
? ?}
}
//a line implementation
/*This can be
ignored
*/
/** wow, this is different from above*/
/*
public-the main method is publicly visible
static-allows the main program to be called without creating an object (details to follow)
keywords 53 關(guān)鍵字
reserved words 14 保留字。已經(jīng)啟用了4個值,比如var.
標(biāo)識符,不能用數(shù)字開頭。
標(biāo)識符命名習(xí)慣:類、接口,大駝峰;方法、變量名,小駝峰;常量,全大寫。
數(shù)據(jù)類型:
基本數(shù)據(jù)類型(整數(shù)、浮點數(shù)等byte, short, int, long, float, double, char, boolean);
擴(kuò)展類型(類、數(shù)組、接口)。
可以用var,而不需要顯式地規(guī)范變量類型。
string是Java里的一個類,而不是基本數(shù)據(jù)類型。string類封裝了一些方法。
Java中任何的對象,都有一個toString()的方法,不用自己寫,直接調(diào)用。
比如:求子串的方法……
Java正則表達(dá)式:
[ac]\\d*[bd]
對應(yīng)為:a73b c34534d a233d c52542b ad
代碼變量作用域的問題,和C一樣,在代碼塊{...}之內(nèi)起作用。
作為良好習(xí)慣,代碼塊的開頭定義變量。哪怕在不同代碼塊,為了可讀性,也不要變量同名。
*/

二、輸出

(以下為終端輸出內(nèi)容)
D:\SoftwareSet\Java\JDK19\jdk-19.0.2\bin\java.exe "-javaagent:D:\SoftwareSet\Java\javaIDE(jetbrains)\installPath\IntelliJ IDEA Community Edition 2022.3.2\lib\idea_rt.jar=17020:D:\SoftwareSet\Java\javaIDE(jetbrains)\installPath\IntelliJ IDEA Community Edition 2022.3.2\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath D:\AllData\mess\2023_Java_lecture\test\out\production\test Main
x的值是:28
c的值是:28
f=3.0
area=314.159
t的值是true
yy的值是false
c
199
cc+bb是cd
30
2
first
second
I enjoy java program world.
11
-67
false
false
false
true
Get
me
a
cup
of
coffee////...
1.1
11
-67
false
false
false
true
Get
me
a
cup
of
coffee////...
1.1
Process finished with exit code 0