Java - 基本语法
駱駝式命名法與下劃線法:
?駱駝式命名法:名稱中的每一個邏輯斷點都有一個大寫字母來標記;
?下劃線法:名稱中的每一個邏輯斷點都有一個下劃線來標記;
駱駝式命名法:第一個單詞以小寫字母開始,第二個單詞的首字母大寫或每一個單詞的首字母都采用大寫字母;
小駝峰法:除第一個單詞之外,其他單詞首字母大寫;
大駝峰法:所有單詞首字母大寫;常用于類名,命名空間等;
Java語法對大小寫敏感;
Java應用程序中的全部內容都必須放置在類中;
類名的定義:
?名字必須以字母開頭,后面可以跟字母和數字的任意組合;
?長度上基本沒有限制;
?區分大小寫;
?不能使用Java保留字(自帶的關鍵字);
?標準的命名規范:以大寫字母開頭的名詞;若由多個單詞組成,每個單詞的第一個字母都應該大寫;
?注意:
? 字母:包括A-Z、a-z、$、_、和在某種語言中代表字母的Unicode字符(前面兩個在英文中代表字母,還有其他國家語言中代表字母的字符);
? 數字:0-9、和在某種語言中代表數字的任何Unicode字符;
源代碼的文件名必須與公共類的名字相同;
代碼運行流程:
?編譯:通過命令 “Java 文件名.java” ,編譯源文件,得到一個字節碼文件 “文件名.class”,與源文件在同一個目錄下;
?運行:通過命令 “Java 文件名” 運行編譯好的源文件(就是字節碼文件),Java虛擬機將從指定類的main方法開始執行;
為了代碼能執行,在類的源文件中必須包含一個main方法;
main方法的訪問修飾符必須為public;
用 {} 括起來的代碼被稱為塊;
三種注釋:
?// :快捷鍵:選中代碼(可以是單行,也可以是多行),ctrl + /(添加和刪除注釋都是用這個快捷鍵);
?/** */ :可以自動生成文檔;
?/* */ :不能嵌套;快捷鍵:選中,添加注釋:ctrl + shift + /;去掉注釋:ctrl + shift + \;
Java是一種強類型語言:就是說使用一個變量之前,必須為這個變量聲明一種數據類型;
數據類型:
?分為基本數據類型和引用數據類型;
? 基本數據類型分類(四類八種):
? ?整型:byte、short、int、long;
? ?浮點型:float、double;
? ?字符型:char;
? ?布爾型:boolean;
? 引用類型分類:
? ?數組、字符串類型(String)、對象;
Java中,所有的數值類型所占據的字節數量與平臺無關。這樣代碼在平臺移植時就不會出現諸多問題;
長整型數值加后綴L;
十六進制數值加前綴0x;
八進制數值加前綴0;
二進制加前綴0b;(Java 7 開始)
float類型的數值加后綴F;不加默認為雙精度型;(JDK 5.0 可以使用十六進制表示浮點數值)
double類型的數值加后綴D;(JDK 5.0 可以使用十六進制表示浮點數值)
表示溢出或出錯情況的三個特殊的浮點數值:
?正無窮大:Double和Float裝箱類中有三個常量表示這三個值;
?負無窮大:Double和Float裝箱類中有三個常量表示這三個值;
?NaN(不是一個數字):Double和Float裝箱類中有三個常量表示這三個值;
?判斷一個數是不是NaN的方法:
? 用 x == NaN,不行,結果永遠為false;
? 用 Double.isNaN(x); 來判斷;
Java沒有任何無符號類型(unsigned);
浮點數值不適用于禁止出現舍入誤差的金融計算中,因為會有精度錯亂問題,應該使用BigDecimal類來實現金融計算;
char類型:
?ASCII中,字母和數字對應的數值范圍要記住;
?使用單引號,不能是雙引號;
?轉義字符:記住常用的幾個;
?編碼表的知識:
變量名的定義:
?名字必須以字母開頭,后面可以跟字母和數字的任意組合;
?長度上基本沒有限制;
?區分大小寫;
?不能使用Java保留字(自帶的關鍵字);
?建議:使用駝峰命名法進行定義;
?注意:
? 字母:包括A-Z、a-z、$、_、和在某種語言中代表字母的Unicode字符(前面兩個在英文中代表字母,還有其他國家語言中代表字母的字符);
? 數字:0-9、和在某種語言中代表數字的任何Unicode字符;
變量的初始化:
?變量必須聲明;
?變量聲明之后必須顯示初始化,然后才能被使用;
?變量的聲明和初始化可以同時進行;
常量:
?使用final修飾的變量,表示這個變量只能被賦值一次,且一旦被賦值之后,就不能夠再更改了;
?習慣上,常量名使用全大寫;
?兩種常量:
? 普通(局部)常量:
? ?使用final修飾的變量;
? ?定義在某個方法內部,只有本方法可以使用;
? 類(全局)常量:
? ?使用 static final修飾的變量;
? ?為了在一個類的多個方法中都可以使用這個常量;
? ?定義在main方法的外部;
運算符:
?算數運算符:+、-、*、/、%(求余運算,求操作數相除的余數)、++、--;
?賦值運算符:=、+=、-=、*=、/=、%=;
?關系運算符:>、<、>=、<=、==、!=;
?邏輯運算符:&&、||、!;注意“短路”方式;
?位運算符:&、|、^、~、>>、<<、>>>;
?三元運算符:
數學函數與常量:
?靜態導入:不必在數學方法名和常量名前添加前綴“Math.”,只要在源文件的頂部加上這行代碼即可:“import static java.lang.Math.*;”;
數值類型之間的轉換:
?記住一張圖;
?兩個數值進行二元操作時類型轉換(兩個操作數要轉換成同一類型再進行計算)的規律:
? 如果兩個操作數中有一個是double類型,另一個操作數就會轉換為double類型;
? 否則,如果其中一個操作數是float類型,另一個操作數將會轉換為float類型;
? 否則,如果其中一個操作數是long類型,另一個操作數將會轉換為long類型;
強制類型轉換:
?為了使所占位數長的類型轉換成位數短的類型;
?可能會丟失數據,最后變成一個完全不同的值;
括號和運算符級別
枚舉類型
字符串(這里講的是不是通過new產生的字符串):
?Java沒有內置的字符串類型,而是在標準Java類庫中提供了一個預定義類:String;
?每個用雙引號括起來的字符串都是String類的一個實例;
?當將一個字符串與一個非字符串的值進行拼接時,后者被轉換成字符串;
?任何一個Java對象都可以轉換成字符串;
?是不可變字符串:定義好的字符串內容永遠在那不會變,但引用它的字符串變量可以改變(引用其它字符串);
?字符串常量保存在公共的存儲池中,只保存一份,新的字符串變量再引入相同的字符串常量時,不會重新定義,直接共享存儲池中已有的字符串常量;
?equals()比較兩個字符串(常量/變量)的內容是否相等,==比較兩個字符串的地址是否相等;
?只有字符串常量是共享的,所以使用==比較兩個內容相同的字符串常量結果為true;
空串和null串:
?空串:是一個Java對象,有自己的長度(0)和內容(空);
?null串:目前沒有任何對象與該變量關聯;
?檢查一個字符串既不是空串也不是null串的方法:
? if( str!=null && str.equals(“”)) 或者 if(str!-null && str.length()==0)
StringBuilder和StringBuffer
?StringBuilder:效率較高、通常在單線程中使用
?StringBuffer:效率較低、線程安全(允許采用多線程的方式執行添加或刪除字符的操作)
Scanner類
?不重要;
Console類
?不重要;
使用靜態的String.format()方法創建一個格式化的字符串;
讀取文件,指定文件名時,如果文件名中包含反斜杠符號,必須要在每個反斜杠之前再加一個額外的反斜杠;
塊及塊作用域:
?塊(復合語句):由一對花括號括起來的若干條簡單的Java語句;
?一個塊可以嵌套在另一個塊中,但不能在嵌套的兩個塊中聲明同名的變量;
?塊中定義的變量的作用域僅在本塊中有效;
for循環:
?三部分介紹:第一部分通常用于對計數器初始化;第二部分給出每次新一輪循環執行前要檢查的循環條件;第三部分指示如何更新計數器;
?如果在for循環內部定義一個變量,這個變量就不能在循環體外使用;所以如果希望在for循環體外使用循環計數器的最終值,就要確保這個變量在循環語句的前面且在外部聲明;
?在循環中,檢測兩個浮點數是否相等要格外小心;由于舍入的誤差,得不到想要的精確值,可能導致循環永遠不會結束;
switch選擇語句:
?可以包含的類型為:char、byte、short、int(或它們四個包裝類)四個的常量表達式、枚舉常量、字符串常量;
Java中的break和continue:
?break可以作用在:循環、switch語句、條件語句;
?continue可以作用在:循環;
?帶標簽的break、continue和不帶標簽的break、continue;
大數值:
?如果基本的整數和浮點數精度不能夠滿足需求,就是用BigInteger和BigDecimal這兩個類;
?BigInteger類實現了任意精度的整數運算;
?BigDecimal類實現了任意精度的浮點數運算;
數組:
?聲明數組和初始化數組;
?初始化數組時,數組長度可以是常量,也可以是變量(必須被初始化過);
?可以 int[] a; 也可以 int []a; 還可以 int a[];
?數組被初始化后,數字數組所有元素被初始化為0,boolean數組的所有元素被初始化為false,對象數組的所有元素被初始化為null;
?一旦創建了數組,就不能改變它的大小:
? int[] a = new int[10];
? a = new int[11]; // 可以
? a.length = 12; // 不可以,報錯
?一種簡化寫法:創建數組對象并同時賦予初始值;
?匿名數組:使用匿名數組這種寫法可以在不創建新變量的情況下重新初始化一個數組;
?在Java中,允許將一個數組變量拷貝給另一個數組變量;這時,兩個變量引用同一個數組;
Arrays.toString(數組變量);
?更加簡單的打印數組中的所有值的方法;
?返回一個包含數組元素的字符串,這些元素被放置在中括號內,并用逗號隔開;
Arrays.copyOf(源數組, 源數組長度); Arrays.copyOf(源數組, int start, int end);
?將源數組中所有元素值拷貝到新的數組中;
Arrays.sort(數值型數組);
?對數值型數組進行快速排序,結果從小到大輸出;
標識符的特點(要你自己取名字的地方:類名、屬性名、方法名):
?由字母、$、下劃線、數字組成;
?數字不能開頭;
?區分大小寫;
?不能和關鍵字一樣;
?注意:要見名知意、不要和java自帶關鍵字重復;
轉載于:https://www.cnblogs.com/kehuaihan/p/8455374.html
總結
以上是生活随笔為你收集整理的Java - 基本语法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言第五讲,语句 顺序循环选择.
- 下一篇: Spoj LCS2 - Longest