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
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};
陣列長度在數值定義後固定,不可變
- 二維陣列
資料型別[][]陣列名稱=new 資料型別 [行][列]
資料型別[][]陣列名稱=new 資料型別{第一行的值},{第二行的值}}
陣列和方法互操作 1,方法接受陣列
- 方法返回陣列
- 方法修改陣列
陣列排序
Java.util.Arrays.sort(陣列名稱);支援8大基本資料型別,預設升序。
陣列部分拷貝
System.arraycopy(源陣列名稱,源陣列開始點,目標陣列名稱,目標陣列開始點,拷貝長度)
目標陣列:需要修改的陣列
源陣列:提取陣列,不變的陣列
陣列全拷貝
Java.util.Arrays.copyOf (原陣列名稱,新陣列長度) :int[]
Java類集動態擴容採用此方法