1. 程式人生 > >java se 學習筆記(1)識別符號,資料型別,陣列

java se 學習筆記(1)識別符號,資料型別,陣列

準備瞭解一下java的基本語法,以解決學習的《軟體工程》《需求工程》《軟體測試》《視覺化》課程

學校所學mfc框架較為繁瑣。

Javac 原始檔,————》.class (二進位制),給jvm閱讀

//向主方法傳入引數, 引數1 引數2...(中間用空格隔開)

Javac -encoding UTF-8 test.java

識別符號和關鍵字 單行註釋//

              多行註釋/* */

             文件註釋 /** */

識別符號

由字母,數字,“_”組成,不能數字開頭,不能使用java關鍵字

(小駝峰)

printEmployeePaychecks();

類(大駝峰):類目以大寫字母開頭,類名由多個單片語成,則每個單詞首字母大寫,原始檔檔名必須與公共類(public class)的名稱相同,eg: class FirstDemo

 常量全大寫,多個單詞以下劃線分割,eg :MY_STRING

資料型別

基本資料型別

(預設值為0)整形byte[ -128,127}  1位元組,short,int ,long ( 8位元組)

(預設值0.0)浮點型 double float

(預設值\u0000)char

(預設值false)booleam

引用型別:

陣列,類,介面(預設null)

Int整數,小數double

Long一般描述日期,時間,記憶體,檔案大小

二進位制流 byte

Char 一般用於描述中文(基本忽略)

在java程式中,任何一個整型常量都是int型別

宣告一個long型別常量,數字後面加上l或者L

大資料和小資料運算時,小資料型別自動轉換為大資料型別,無需強制轉換。

大的資料型別轉為小的資料型別必須強轉,可能會丟失內容。

整形常量賦值給byte變數時,若在byte範圍內,無需強轉

整形變數不論在不在byte型別的儲存範圍內,必須強轉

byte b1 =120 //ok

Int num1=120;

Byte b2 =num1//錯誤,要強轉

Byte b3=1300//錯誤,要強轉

小數預設為double

要宣告為float型別,需要在浮點數的後面加上f或者F,

Float f1=10.2F

Floaat f2=(float)10.2

所有的資料型別的預設值必須結合類來觀察,主方法不存在預設值。

String 和其他型別“+”,首先會把其他資料型別變為Sting後,再做拼接。

\是轉義字元,如\” 可以打出“””

| 多個表示式都需要判斷

|| 短路或 。有一個返回true,剩餘條件不再判斷。

  1. >1 =1

2<<1=4

Swtich 在java中、

Switch(字元|數值|列舉|String類)

Java方法只有值傳遞

方法過載:

定義: 方法名稱相同,引數個數或者型別不同,與返回值無關。

編碼規範:過載的方法返回值一定保持相同

方法遞迴,--num

陣列

引用資料型別,

1.陣列的動態初始化

資料型別[]陣列名稱 =new 資料型別[長度]

Eg:

 Int []data =new int [5];

陣列元素通過索引完成 ,越界,丟擲陣列越界異常(執行時異常),

動態初始化後的陣列,每個元素有其預設值。

陣列名稱.length

讀取推薦用for -each

修改陣列內容使用經典for迴圈

陣列引用傳遞

Int (*x)[]=&data;(c++)

Int []x=data;(java)

引用就是:堆記憶體的別名,引用是4個位元組,在棧上分配空間,指向一塊堆記憶體地址。

2,陣列的靜態初始化

完整格式

資料型別[]陣列名稱 = new資料類[]{值1.值2...}

int data =new int []{1,2,3,4};

陣列長度在數值定義後固定,不可變

  1. 二維陣列

資料型別[][]陣列名稱=new 資料型別 [行][列]

資料型別[][]陣列名稱=new 資料型別{第一行的值},{第二行的值}}

陣列和方法互操作 1,方法接受陣列

  1. 方法返回陣列
  2. 方法修改陣列

陣列排序

Java.util.Arrays.sort(陣列名稱);支援8大基本資料型別,預設升序。

陣列部分拷貝

System.arraycopy(源陣列名稱,源陣列開始點,目標陣列名稱,目標陣列開始點,拷貝長度)

目標陣列:需要修改的陣列

源陣列:提取陣列,不變的陣列

陣列全拷貝

Java.util.Arrays.copyOf (原陣列名稱,新陣列長度)  :int[]

Java類集動態擴容採用此方法