註釋 單行註釋:對某一行進行註釋,使用“/註釋內容/”標識 多行註釋:可以書寫多行,使用“/*註釋內容*//”表示 文檔註釋:這個內容對IDEA是有意義的,/**註釋內容*/ public class Hello { //單行註釋 //註釋後會被編譯器忽略,不會作為語句編譯 //每個單行註釋只能寫一 ...
註釋
-
單行註釋:對某一行進行註釋,使用“/註釋內容/”標識
-
多行註釋:可以書寫多行,使用“
/*註釋內容*/
/”表示 -
文檔註釋:這個內容對IDEA是有意義的,
/**註釋內容*/
public class Hello { //單行註釋 //註釋後會被編譯器忽略,不會作為語句編譯 //每個單行註釋只能寫一行 /* 多行註釋 這個註釋可以寫多行 */ public static void main(String[] args){ /** * @Description 這裡是文檔註釋,這段會被IDEA識別 * @author Muling */ System.out.println("Hello,World!");//這句輸出Hello,World! } }
標識符和關鍵字
-
關鍵字
java定義的一些保留字,用於區分語法,不能用於標識符
-
標識符
標識符是所有組成部分的名稱,如變數名、方法名、類名等等
數據類型
Java里的數據類型
JAVA是一種強類型語言,所有變數需要先聲明後使用。
Java數據類型分為兩個部分:基本類型和引用類型,這裡主要說明基本類型。
基本數據類型如下:
數據類型 | 占用空間(byte) | 表示範圍 | |
---|---|---|---|
整型 | byte | 1 | -128~127 |
short | 2 | -32768~32767 | |
int | 4 | -2147483648~2147483647 | |
long | 8 | -9223372036854775808~9223372036854775807 | |
浮點型 | float | 4 | |
double | 8 | ||
字元型 | char | 2 | |
布爾型 | boolean | 1 bit |
//整型
int num = 10_000_000//數字中間可以使用_分隔(便於閱讀)
byte num2 = 20;
short num3 = 30;
long num4 = 40L;//Long型後要加“L”
//浮點型
float num5 = 3.1F;//Float型後加“F”
double num6 = 3.1;
//字元
char c = 'a';
//布爾
boolean flag = true;
boolean flag = false;
進位
- 十進位
- 二進位:0b
- 八進位:0
- 十六進位:0x
浮點數精度問題
浮點數有精度問題,如果需要精確計算,可以使用BigDecimal類。
字元
字元值
char型存儲的數為Unicode值
如“a”為97,“A”為65,“好”為22909
值的範圍為0~65535
轉義字元
類型轉換
Java是強類型語言,不同類型間運算的時候需要進行類型轉換,換為同一類型後再計算。一般是從小向大進行轉換,大向小轉換會出現溢出。
- 布爾類型不能進行轉換!
- 需要註意記憶體溢出和精度問題!
- 浮點型向整型轉換會進行向下取整(向0靠近)
強制類型轉換
大到小轉換需要使用強制類型轉換
如
float a = 1.3F;
int b = (int)a;
自由類型轉換
小到大的轉換是自由類型轉換(自動轉換)
變數、常量、作用域
變數
可以變化的量,變數使用前需要聲明。
變數聲明:
type varName[=value][,varName[=value]]
作用域
-
類變數:加了static關鍵字修飾,可以直接在類內使用
-
實例變數:需要調用類使用,不初始化的基本數據類型預設值為0,其餘為null
-
局部變數:在方法內部使用,使用前需要初始化
public class Hello { //類變數:加了static修飾 static double salary = 5000; //實例變數:從屬於對象,不初始化的基本數據類型預設值為0,其餘為null String name; public static void main(String[] args){ //局部變數,必須聲明和初始化 char c = '好'; Hello hello = new Hello(); //System.out.println(name); //會報錯 System.out.println(hello.name); System.out.println(salary);//類變數直接可用 } }
常量
與變數基本相同,需要使用final修飾,不可修改。
命名原則
類名首字母大寫,其他小寫,使用駝峰寫法,常量全大寫,下劃線分隔
運算
運算符
Math類
內含非常多的數學運算方法,冪運算、絕對值等需要調用
包機制
包可以理解為文件夾,為了更好地組織類,用於區分類的命名空間
常用公司功能變數名稱倒置作為包名,如com.baidu.www
包語句格式:
package pkg1[.pkg2[.pkg3...]]
用文件夾的路徑理解就是該文件屬於pkg1\pkg2\pkg3...\文件名
導入類的格式為:
import pkg1[.pkg2[.pkg3...]].classname
- 支持通配符,如*,表示一個包內的所有類
JavaDoc
可對類、方法進行說明
在命令行使用javadoc -encoding UTF-8 -charset UTF-8 文件名
生成說明文檔,打開index.html可以查看
也可以直接在IDEA 工具->生成javadoc
Scanner
包:java.util.Scanner,用於IO
基本語法:
Scanner s = new Scanner(System.in)
使用Scanner類的next()與nextLine()獲取輸入的字元串,讀取前使用hasNext()與hasNextLine()判斷是否有輸入
public static void main(String[] args){
//創建一個掃描器
Scanner scanner = new Scanner(System.in);
System.out.println("使用next接收");
if(scanner.hasNext()) {
//判斷是否有輸入
String in = scanner.next();//接收
System.out.println(in);
}
scanner.close();//關閉掃描器
}
- next()獲取輸入:輸入從有效字元開始,空白符號之前的所有有效字元部分
- nextLine():獲得換行符前所有內容
判斷
- hasNext():是否有字元串
- hasNextLine():是否有字元串(與nextLine對應)
- hasNextInt():是否有整數
- hasNextByte():是否還有Byte
- hasNextFloat():是否還有Float
- ...
輸入
- next()
- nextLine()
- nextInt()
- nextFloat()
- ...