標籤:javase 學習 筆記 基礎學習 java
第一個java程式,還是熟悉的hello world
public class FirstSample { //類public static void main(String[] args) //方法{System.out.println("Hello World!"); //輸出語句“Hello World!” }}
輸出很無趣,就是在控制台輸出 Hello World!
程式裡值得注意的地方有就是:
1.java程式是區分大小寫,即為大小寫敏感。
2.類是構建所有java應用程式和applet的構建塊。Java應用程式中的全部內容都必須放置在類中。原始碼的檔案名稱必須與公用類的類名相同。
3.根據java語言的規範,main方法必須聲明為public。main中的方法必須是靜態。
Java是一種強型別語言。
在java中一共有8種基本類型,4種整型、2種浮點型、1種用於表示Unicode編碼的字元格的字元類型char和一種用於表示真值得boolean類型。Java中沒有任何無符號類型。
類型 |
儲存需求 |
int |
4個位元組 |
short |
2個位元組 |
long |
8個位元組 |
byte |
1個位元組 |
在java中有兩種浮點類型。
類型 |
儲存需求 |
float |
4個位元組 |
double |
8個位元組 |
Java中char類型用UTF-16編碼 一個代碼單元。
Boolean類型有兩個值:false和true,用來判斷邏輯條件。整型值和布爾值之間不能進行相互轉換。
在java中,利用關鍵字final指示常量。
final double MONEY = 50;
關鍵字final表示這個變數只能被賦值一次,一旦被賦值之後,就不能夠再更改了。
如果一個常量在一個類中的多個方法中使用,通常將這些常量成為類常量。使用關鍵字static final設定一個類常量。
Public static final double MONEY = 50;
如果一個變數被聲明為public,那麼其他類的方法也可以使用這個常量。
在java中整數被0除將會產生一個異常,而浮點數被0除將會得到一個無窮大或NaN結果。
在java中的位元運算符有: & 與 ,| 或 ,^ 異或,~非,<< 、>>左移和右移。
int a = (n & (1 << 3)) >> 3; //檢查n第四位是不是1。
>>>運算子將用0填補高位,>>運算子用符號位填補高位。沒有<<<運算。
Java字串就是Unicode字元序列。
String類的substring方法可以從一個較大的字串提取出一個子串。
String a = “hello”;String b = a.substring(0,4);//b為 hell b的長度為4-0=4
Java語言允許使用+號串連兩個字串。當將一個字串與一個非字串的值進行拼接時,後者被轉換成字串。
int age = 13;String a = “abc” + age; //a為abc13
使用equals方法檢測兩個字串是否相等。
a.equals(b); // 相等返回true ,不等返回false。
如果想要檢測兩個字串是否相等,而不區分大小寫,可以使用equalsIgnoreCase方法。
“Hello”.equalsIgnoreCase(“hello”);
空串和值為null串的檢測方法
(str != null && str.length() != 0)
首先要檢查str不為null。如果在一個null值上調用方法,會出現錯誤。
如果需要使用許多小段的字串構建一個字串,那麼應該試一試StringBuilder類
StringBulider builder = new StringBuilder();bulider.append(ch);//添加字元builder.append(str);//添加字串String all = builder.toString();//把完整的字串賦給all
在java中的輸入輸出執行個體
import java.util.*;public class InputTest {public static void main(String[] args){Scanner in = new Scanner(System.in);//構造Scanner對象System.out.print("你叫什麼名字?");String name = in.nextLine();//讀入字串System.out.print("你多大了?");int age = in.nextInt();//讀入一個整數System.out.println("Hello," + name + " 你現在已經" + age + "歲了"); }}
塊即符合語句是指有一對花括弧括起來的若干條件簡單的java語句。塊確定了變數的範圍。一個塊可以嵌套在另一個塊中。不能再嵌套的兩個塊中聲明同名的變數。
switch語句中
case標籤可以是:
1.類型為char、byte、short或int
2.枚舉
3.從javaSE7開始,case標籤還可以是字串字面量。
數組是一種資料結構,用來儲存同一類型值得集合。
數組的聲明
int[] a = new int[10];int a[] = new int[10];
建立一個數字數組時,所有元素都初始化為0.boolean數組的元素會初始化為false。對象數組的元素則初始化為一個特殊值null,這表示這些元素未存放任何對象。
如果想獲得數組中的元素個數,可以使用array.length
for(int i = 0;i < a.length;i++)System.out.println(a[i]);
遍曆數組的另一種方法
for(int element:a)System.out.println(elelment);
要想對數值型數組進行排序,可以使用Arrays類中的sort方法
Arrays.sort(a);
Math.random方法將返回一個0到1之間的隨機浮點數,就可以得到從0到n-1之間的一個隨機數。
int r = (int)(Math.random()*n);
幾個小應用例子
1.抽獎問題
import java.util.*;public class test001 {public static void main(String[] args){Scanner in = new Scanner(System.in);System.out.println("你能抽多少個數字?");int a = in.nextInt();System.out.println("最大的數字是什嗎?");int n = in.nextInt();int[] num = new int[n];for(int i = 0; i < num.length;i++){num[i] = i + 1;}int[] result = new int[a];for(int i = 0 ; i <result.length;i++){int rad = (int)(Math.random() * n);result[i] = num[rad];num[rad] = num[n-1];n--;}Arrays.sort(result);System.out.println("抽獎結果為:");for(int ele : result){System.out.println(ele);}}}
2.銀行存錢的利息問題
public class test002 {public static void main(String[] args){final double Begin = 10;final int R = 6;final int Y = 10;double[] Rate = new double[R];for(int i = 0; i < Rate.length; i++){Rate[i] = (Begin + i) / 100.0;}double[][] bala = new double[Y][R];for(int i = 0; i < bala[0].length; i++){bala[0][i] = 10000;}for(int i = 1;i < bala.length; i++){for(int j = 0; j < bala[i].length; j++){double oldbala = bala[i - 1][j];double up = oldbala * Rate[j];bala[i][j] = oldbala + up;}}for(int i = 0; i < Rate.length;i++){System.out.printf("%9.0f%%",100 * Rate[i]);}System.out.println();for(double[] r : bala){for(double b : r){System.out.printf("%10.2f",b);}System.out.println();}}}
3.使用不規則數組列印楊輝三角
public class test003 {public static void main(String[] args){final int m = 10;int[][] a = new int[m][];for(int i = 0; i<m ; i++){a[i] = new int[i+1];}for(int i = 0; i < a.length;i++){for(int j = 0; j <a[i].length; j++){int temp = 1;for(int k = 1 ; k <= j; k++){temp = temp * (i - k + 1) / k;}a[i][j] = temp;}}for(int[] r : a){for(int ele : r){System.out.printf("%4d",ele);}System.out.println();}}}
我的java學習筆記(一)