1. 變量和基本數(shù)據(jù)類型
數(shù)據(jù)類型定義:一組數(shù)值和定義在數(shù)值上的操作肛宋。
1.1 8種基本數(shù)據(jù)類型
- 1.整數(shù)
- byte (1 byte): -128 ~ +127
- short (2 bytes): -32768 ~ +32767
- int (4 bytes): -2147438648 ~ +2147438647
- long (8 bytes)
- unsigned byte (1 byte): 0 ~ 255
- unsigned short (2 bytes): 0 ~ 0~65535
- unsigned int (4 bytes): 0~4294967295
- unsigned long (8 bytes)
- 2.浮點(diǎn)數(shù)
- float (4 bytes): 3.4E-38 - 3.4E+38
- 精度: 8, 23
- double (8 bytes): 1.7E-308 ------ 1.7E+308
- 精度: 11, 52
- float (4 bytes): 3.4E-38 - 3.4E+38
- 3.字符
- char
‘1’, ‘2’, ‘a(chǎn)’, ‘%’
- char
- 4.boolean 類型
- true
- false
1.2 操作符
優(yōu)先級:單目運(yùn)算高于雙目運(yùn)算阳掐,數(shù)學(xué)運(yùn)算>關(guān)系運(yùn)算>邏輯運(yùn)算闺鲸,賦值運(yùn)算最低。有印象即可督勺,不清楚的用()解決一起
+: int a = 1 + 5;
- : long b = 3 - 5;
* : long c = 5 * 4;
/ : unsigned d = 15 / 3;
% : unsigned e = 5 % 3;
>, <, >=, <=, ==
bool
1.3 數(shù)組
- 格式
int array[100];
int [] array = new int[100];
array[0] = 5;
int length = array.length();
int[] arr = {11, 22, 33, 44, 55}
2.表達(dá)式和賦值
- 1.基本的數(shù)學(xué)計(jì)算
“1 + 2”, “3 / 5”, “3 > 5”, “1 == 2”
每個(gè)表達(dá)式都有?個(gè)返回值
- 2.?法調(diào)?
“sqrt(1)”, “dog.walk()”
?法調(diào)?可以有返回值,也可以沒有返回值 (或者說是返回值為空 void)榴都。表達(dá)式和語句都以 “;” 表示結(jié)束
3. 控制語句
3.1 邏輯控制語句
- if
if (condition) { action; }
- if … else …
if (condition) { action1; } else { action2; }
- 代碼塊
- 使? “{}” 包括起來的單個(gè)或者多個(gè)語句或表達(dá)式
3.2 循環(huán)和控制語句
- for
for (initial; condition; iteration) {}
for (T iterator : Collection<T>) {} // 增強(qiáng)for循環(huán)
- while
while (condition) {}
- 執(zhí)?控制語句
return <返回值>: 從?法中返回
break: 退出當(dāng)前循環(huán)契吉,即退出整個(gè)循環(huán)
continue: 跳出當(dāng)前循環(huán),執(zhí)行下次循環(huán)
throw: 拋出異常
- 構(gòu)造語句
- new: ?成?個(gè)對象
- Integer a = new Integer(3);
- new: ?成?個(gè)對象
4. java方法
- 格式:
<返回類型> ?法名(<參數(shù)類型> 參數(shù)名, …)
{代碼; return <返回值>;}
- ?個(gè)?法由 “?法名 + 參數(shù)類型” 確定屑迂,即方法簽名
- 重載:
- 相同?法名,不同參數(shù)類型, 是不同的?法 (重載override)浸策。即方法名相同,參數(shù)列表不同(參數(shù)個(gè)數(shù)或參數(shù)類型不同)惹盼,與返回值類型無關(guān)
注意:java的方法是平級的庸汗,不可嵌套定義,一個(gè)方法不可以做為另外一個(gè)方法的參數(shù)手报。
5. JAVA類型模型
5.1 基本概念
- 類:類是?個(gè)模板蚯舱,它描述?類對象的?為和狀態(tài)
- 語義上表達(dá)的是?類實(shí)體(對象)的抽象
- 對象:對象是類的?個(gè)實(shí)例改化,有具體的狀態(tài)
- 語義上是表達(dá)?個(gè)java類的實(shí)體
- Java?的常量和變量都可以對應(yīng)于?個(gè)對象,這個(gè)對象的?為和具有的屬性是由類來定義的
- Java程序的基本結(jié)構(gòu)就是?系列類的定義枉昏,類之間的關(guān)系和具體類的對象之間的互相操作
5.2 類
- 注意:
- 在Java中的慣例是?個(gè)?件中存放?個(gè)public類陈肛,文件名與類名相同
- 格式
class Person { String name; int age; public void speak(){ System.out.println("speak English"); } }
5.3 對象
- 對象是?般情況下Java語??的”?等公?”
- 對象可以賦值到?個(gè)變量
- 對象是通過new語句進(jìn)?創(chuàng)建
Person p = new Person();
5.4 JAVA?法和成員變量
- 成員變量:類中定義的該類的實(shí)例對象所具有的狀態(tài),其作?域在類中,或?qū)ο笾?/li>
- 成員?法:類中定義的該類的實(shí)例對象所具有的?為兄裂,用來操作成員變量
- 靜態(tài)?法: ?屬于類本身的?法
5.5 權(quán)限修飾符
- 修飾符?于控制變量, 類 的作?域和?些訪問限制
- 訪問權(quán)限修飾符: public, protected, private, default(即不設(shè)置)
權(quán)限修飾符 | 同一個(gè)類 | 同一個(gè)包 | 不同包的子類 | 不同包的非子類 |
---|---|---|---|---|
Private | √ | |||
Default | √ | √ | ||
Protected | √ | √ | √ | |
Public | √ | √ | √ | √ |
5.6 狀態(tài)修飾符
- static: 把?法或者成員變量設(shè)置為類共享句旱,具有static修飾的?法和變量的類, 我們稱之為”靜態(tài)類”
- final
- final <類>; —> 防?類被繼承
- final <變量>; —> 防?變量被修改引?到另外?個(gè)對象, 可稱為 “常量”
- final <?法>; —> 防??法被重載(override)
6. 包和層次結(jié)構(gòu)
- 為什么要有包
- 將字節(jié)碼(.class)進(jìn)行分類存放,包其實(shí)就是文件夾
- 好處
- 方便管理類晰奖,避免一個(gè)文件夾中有太多的類難以管理谈撒。
- “包”: ?來表示具有層次結(jié)構(gòu)的命名空間,防止重復(fù)類名出現(xiàn)沖突
- 定義包的格式
package 包名;
- 定義包的注意事項(xiàng)
- package語句必須是程序的第一條可執(zhí)行的代碼
- package語句在一個(gè)java文件中只能有一個(gè)
- 如果沒有package匾南,默認(rèn)表示無包名