我的java學習筆記(一)

來源:互聯網
上載者:User

標籤: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學習筆記(一)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.