青藤程式設計營——提高組基礎專題一(列舉)
阿新 • • 發佈:2020-12-13
Java基礎語法
JDK新特性,數字之間可以用下劃線分割,如1_0000_0000。不影響數值。
JAVA中的三種註釋
書寫註釋是一個非常好的規範
- 單行註釋
//單行註釋
- 多行註釋
/*多行註釋
多行註釋
多行註釋*/
- 文件註釋
/**
*
*
*
*
* */
識別符號和關鍵字
關鍵字
識別符號
-
Java所有的組成部分都需要名字。類名、變數名、方法名都被稱為識別符號。
-
所有識別符號都應該以字母,美元符($),下劃線(_)組成
-
首字母之後可以是字母,美元符,下劃線或數字的任何字元組合
-
識別符號大小寫敏感
-
不能使用關鍵字作為變數名或者方法名
-
儘量使用英文
資料型別
- JAVA是一種強型別語言,要求變數的使用要嚴格符合規定,所有變數都必須先定義在使用
JAVA資料的基本型別(primitive type)
數值型別
-
整數型別
- byte:1個位元組
- short:2個位元組
- int:4個位元組
- long:8個位元組//數字後面加L
-
浮點型別(小數)
- float:4個位元組
- double:8個位元組
-
字元型別
-
char:2個位元組
-
String:非關鍵字
-
布林型別
- boolean:佔一位,其值為true或者false
拓展:
-
進位制(二進位制0b、十進位制、八進位制0、十六進位制0x)
int i=10 ; int i2=010;//八進位制0 int i3=0x10;//十六進位制0x System.out.println(i); System.out.println(i2); System.out.println(i3); /* 10 10 10 */
-
float表示字長有限、離散,具有舍入誤差性質。
最好完全避免使用浮點數進行比較
銀行系統一般使用BigDecimal數學工具類
float f = 0.1f; double d = 1.0/10; System.out.println(f==d); //output false
float d1 = 212121121212121212; float d2 = d1 + 1; System.out.println(d1==d2); //output true
-
強制型別轉換(所有的字元本質都是數字)
char c='a'; System.out.println((int)c); //output 97
-
Unicode編碼(U0000-UFFFF)
char c='\uoo61'; System.out.println(c); //output a
-
轉義字元
\t //製表符 \n //換行
-
布林值擴充套件
boolean flag = true; if(flag==true){} if(flag){} //行2與行3,意義相同,完全等價
JAVA資料的引用型別(reference type)
-
類
- 關於物件的思考
String a= new String("Hi"); String b= new String("Hi"); System.out.println(a==b); //output flase
-
介面
-
陣列
型別轉換
-
JAVA為強型別語言,所以運算需要進行型別轉換
-
優先順序由低到高
byte,short,char<int<long<float<double
-
自動型別轉換(低容量到高容量)
-
強制型別轉換(高容量到低容量)
(需要的型別)原型別
-
強制型別轉換中可能存在記憶體溢位、精度問題
int i=128; byte b = (byte)i; //記憶體溢位 //output -128
System.out.println((int)23.7); System.out.println((int)-45.89f); //output 23 -45 //精度丟失
-
不能對布林值進行轉換
-
不能轉換不相干的型別
變數
-
每個變數都有型別,可以是基本型別,也可以是引用型別
-
變數名必須是合法的表示符
type varName = value;
-
常量(關鍵字final)
public class Hello { static final int PI=3.14;//在類中定義靜態常量 //main方法 public static void main(String[] args) { System.out.println(PI); } }
變數的作用域
-
區域性變數
public class Hello { //main方法 public static void main(String[] args) { int i = 10;//區域性變數,定義於方法內部,作用於方法內部 System.out.println(i); } }
-
例項變數
public class Hello { String name;//例項變數:從屬於物件;預設值為0、0.0、null、flase int age; //main方法 public static void main(String[] args) { } //其他方法 public void add(){ //呼叫例項變數前需要執行以下操作 Hello hello = new Hello(); System.out.println(hello.name);//輸出例項變數 } }
-
類變數
public class Hello { static int a=10;//類變數,關鍵詞static //main方法 public static void main(String[] args) { System.out.println(a);//在方法內可直接呼叫 } }
變數的命名規範
- 所有變數、方法、類名:見名知意
- 類成員變數、區域性變數、方法名:首字母小寫和駝峰原則、nameAdd
- 常量:大寫字母和下劃線:MAX_VALUE
- 類名:首字母大寫和駝峰原則
運算子
- 算術運算子進行算術運算時,當有long時結果為long型別,否則為int型別
- 自增自減運算子:a++程式碼執行後;++a程式碼執行前
- 冪運算:Math.pow(a,b),借用Math工具類中的pow方法
- 邏輯運算子
- 與:兩個變數都為真,結果才為真
- 或:兩個變數都為假,結果才為假
- 非:若真為假,若假為真
- 短路運算
- 在與運算中,若第一個變數為假,則不用看第二個變數,程式短路,直接判斷為假。
- 位運算
- 按位進行與或非運算
- 異或運算:相同為0,不同為1
- <<左移相當於*2;>>右移相當於/2;例:2<<3 == 8
- a+=b 相當於a=a+b
- 當+旁邊出現String型別,則為連線符
- x?y:z相當於:如果x為真,則結果為y,否則為z
包機制
- 一般用公司的域名倒置作為包名,com.baidu.www
- 匯入包:import com.xxx.xxx.*; // *為萬用字元,匯入包中所有
JavaDoc
package com.xia.base;
/**
* @author xia
* @version 1.0
* @since 1.8
*/
public class Demo01 {
String name;
/**
* @param name
* @return
* @throws Exception
*/
public String test(String name) throws Exception{
return name;
}
}
- IDEA生成:Tools