[TOC]
## 包名稱
包名稱 :com(cn).igeek(公司或者組織的名字).模塊名稱(admin)
## 類名稱
* 類名稱(對現實生活中同一種(同一類)事物的一種描述,是抽象上概念上的定義)
* 一般描述類的時候,描述的就是類的屬性還有方法
## 關鍵字
* 關鍵字:就是給不同的單詞給一些定有的方法
* public 表示共有的,訪問權限修飾 private私有的 protected 受保護的 default 默認的
* static 靜態的 void 表示沒有返回值
## 保留字
保留字:當前JDK版本 不是java關鍵字 ,但是在以后版本升級中可能會成為java的關鍵字 。
## 標識符
1.命名規范:
* A-Z a-z和_以及$還有數字 不能包含空格,
* 不能使用Java關鍵字,不能以數字開頭
2.例子
test com.igeek.day01 凡是這種可以自己取名字的地方,都叫做java的標識符
## 常量
* final 修飾的變量 叫做常量,常量的值是不能發生更改的
* 常量的命名規范 :所有單詞的字母都是大寫,多個字母用_隔開
# 兩大類
## 1.基本數據類型(4類8種)
### 1.1整型:
byte 1 (-128~127) 2(7)次方 ~ 2(7)次方-1
short 2 (-32768~32767) 2(15)次方 ~ 2(15)次方-1
int 4 2(31)次方 ~ 2(31)次方-1 (java中默認的數據類型)
long 8 2(63)次方 ~ 2(63)次方-1 (需要在 后面加上L或者l)
### 1.2浮點型:
float 4 (需要在后面加上F或者f) 小數點和整數部分一共有八位
double 8 (Java 中小數默認的數據類型) 有效位數16位
### 1.3布爾類型
boolean true,false
### 1.4字符型
char 1|2 '只能放一個字符'
## 2.引用數據類型(對象類型)
string,數組,對象,enum ...
## 數據類型轉換
### 數值運算中的類型轉換
例1.
范圍小得數據類型會自動轉換成大的數據類型
```
byte a = 10;
int b = 20;
int c = a+b;//30
```
> 該事例中,byte取值范圍為-128~127,int取值范圍為2的31次方~2的31次方-1。
> 故運算中a自動轉成int型,得到結果也為int型。
例2.
強制類型轉換,可能會造成精度降低或者數據丟失。
```
int a = 1;
byte b = 127;
byte c = (byte)(a+b);//將a+b的結果強制轉換為byte型
//c = -128
```
> 該例中,byte范圍是-128~127,當值的范圍溢出時,將取值范圍理解成收尾相連的一個圓,則在上限127的基礎上再增加1,就回到下線-128
### 字符與數字運算中的類型轉換
例1.
將字符a轉成對應ascii碼的值做運算,輸出int型數字
```
char c = 'a';
int i = 10;
System.out.println(c+i);
//將a轉成對應的ascii碼 int型97,再與10相加,得int型107
```
例2.
特殊的強制轉換。
當byte、short、char三者做運算時,統一轉換成int型再運算。
```
byte b = 2;
short s =3;
char c ='A';
char result = (char) (b+s+c);//F ascii=2+3+65
```
> 在java中 == 用于比較基本數據類型 比較的是==兩邊的值是否相等。
> 當比較對象的時候 == 表示比較對象的內存地址