# 基礎語言要素
## 注釋
代碼注釋是編程中非常重要的環節,往往優秀的程序員,注釋寫的比代碼都多。
> 注釋是不會被程序執行的。
注釋可能出現的位置:
* 類、方法、屬性等上部(文檔注釋:通過 javadoc 命令生成 API 文檔,方便使用的人閱讀)
* 方法體內負責業務邏輯處理過程中(一般性注釋)
**文檔注釋**
```java
/**
* 相關的注釋內容,甚至可以使用 HTML 標簽
*
*/
```
在 javadoc 中也提供了豐富的標記
* @author:指定程序的作者
* @version:指定源代碼的版本
* @param:在方法中指定參數
* @return:在方法中指定返回值
**單行注釋**
```java
// 單行注釋
```
**多行注釋**
```java
/*
第一行注釋
第二行注釋
*/
```
## JDK 幫助文檔
在學習過程中,一定要經常的閱讀 JDK 文檔,去幫助理解相關類的定義。
看 JDK 中相關類的源碼,去學習編碼規范以及設計程序的思路。
## 標識符和關鍵字
標識符包含了 Java 中默認的關鍵字以及程序員自己定義的類名、方法名、變量名等等。
**標識符的命名規范:**
* 只能包含數字、字母(大小寫,Unicode字符)、下劃線 \_、美元符`$`
* 不能以數字開頭
* demo1、~~demo-1~~、$demo、\_demo、~~1demo~~
**分隔符:**
* 花括號 `{}`:定義代碼塊,邏輯上是一個整體,包括類的主體、方法體、靜態代碼塊、條件和循環語句的執行體;
* 分號 `;`:語句的結束,如果出現在一行中有幾條語句,那么多條之間也要用 ; 隔開;
* 方括號`[]`:用于數組中;
* 圓括號 `()` :在方法中聲明形式參數,在調用方法的時候傳入實際參數,表達式優先級定義;強制類型轉換;
* 空格:單個空格、Tab 鍵、Enter 鍵,空格的出現是不會影響程序運行的,但是良好的縮進,可以提高程序的可讀性;
* 圓點 `.` :用于類/對象與其成員之間的分隔,表示調用類/對象的屬性或者方法。
> 在 Java 中,只要看見單詞首字母是大寫的,那就是類
## 數據類型
Java 是一種強數據類型的語言,就是指在變量進行定義的時候,就指定了變量的數據類型是什么。
**變量的概念:把一堆數據起了個名字。**
數據類型其實就是在內存中用不同的結構對數據進行存儲和運算。
**內存:運行中的程序都會占用內存空間,因為程序在運行過程中,需要開辟包括方法棧區、變量....,廣泛的理解,在程序運行結束后內存空間會被釋放,但是定義的變量、方法等,都是有「生命周期」的,一旦變量銷毀了,內存也是會釋放的。**
在 Java 中,有垃圾自動回收機制 GC ,對于釋放的或者無效的變量會自動回收,不像 C 、C++ 要手動的去釋放。
**數據類型的分類**
**基本數據類型**
* 數值型
* 整數型:byte\(-128-127\)、short\(15次方\)、int\(31次方\)、long\(63次方\)
> 區別在于不同類型的整型,最大值,最小值不一樣
如果試圖給byte類型的變量賦予超出其范圍的值,就會產生編譯錯誤,這個時候就需要進行類型轉換
* 浮點型:float\(38次方\)、double\(308次方\)
**注意: 默認的小數值是double類型的**
所以 float f = 54.321會出現編譯錯誤,因為54.321的默認類型是 double,其類型 長度為64,超過了float的長度32
在數字后面加一個字母f,直接把該數字聲明成float類型
float f2 = 54.321f,
這樣就不會出錯了
> **在實際開發中,我們一般使用 int、double**
* 字符型
* char:用單引號表示,Java 中使用16位的 Unicode 字符集作為編碼方式,
* 表示方式
* 直接通過單個字符表示:'a'、‘9' 等;
* 通過轉義字符表示:'\t'、'\n'、'\r'、'\\'';
* 直接使用 unicode 表示:'\uxxxx'。
> 1. 在 Java 中是沒有表現多個字符的基本數據類型的,但是在 Java 中提供了一個 String 類,去表現字符串。
> 2. 轉義字符的使用:當你要打印無法列出的字符,比如換行符等等,要用轉義字符,還有就是一些在字符串內要搞錯的字符,總之是對編譯器來說具有特殊意義的字符。
> 3. **只能存放一個字符,超過一個字符就會產生編譯錯誤**
* 布爾型
* boolean:表示邏輯中的真和假,值只有 true / false。
> 在基本數據中,是可以進行類型之間的強制轉化的,但是要注意,如果從低精度的轉化為高精度時不會有問題,但是從高精度轉化為低精度時,可能出現精度確實。
引用數據類型(類類型):后續講解。
## 關于 Eclipse 開發工具
IDE (集成開發環境):可以自動編譯(保存即編譯)、代碼提示。
**工作空間**
在 Eclipse 中可以建立多個工作空間(workspace),每個工作空間可以建立多個項目(project)
一個工作空間就是一套配置信息,在進行了工作空間切換后,之前工作空間的配置將不會生效。
程序在 project 中開發。
**使用步驟**
1. 本地創建一個文件夾作為默認的工作空間;
2. 創建 java project;
3. 在 src 中新建 class 文件;
4. 運行程序,在 class 文件中右鍵 「run as」-> 「java application」。
---
**自學部分**:
* 了解 Java 中哪些轉義字符;
* 使用 Eclipse 將項目中的類生成 javadoc 文檔;
* 收集常用的 Eclipse 快捷鍵。
**作業**:
1. 分別為如下值,找到合適的類型來定義
~~~
3.14
2.769343
365
12
'吃'
false
"不可描述"
~~~
比如3.14就使用double
`double a = 3.14;`
2. 練習-類型轉換
~~~
short a = 1;
short b = 2;
~~~
那么 `a+b` 是什么類型?
- 前言
- 計算機軟件概論
- HTML基礎
- Web原理和HTML簡介
- Web原理
- HTML概念
- HTML標簽
- 標簽
- HTML固定基本結構
- 第一個HTML頁面
- 工具的使用
- 標題
- <hr>和<p>標簽
- 路徑概念
- 超級鏈接
- 列表
- 表格
- 表單的設計與使用
- 表單域的原理
- 文本框和密碼框
- 單選框和復選框
- 下拉列表框
- 多行文本和上傳
- 提交按鈕和重置按鈕
- 為CODING COFFEE加入在線購買頁
- HTML5
- 定位服務
- CSS
- CSS的基礎使用
- CSS簡介
- CSS樣式規則和加載方式
- 選擇器
- 偽類
- CSS優先級和層疊
- CSS顏色
- 背景圖片
- 文本
- CSS列表
- DIV+CSS布局
- 內聯元素和區塊元素介紹
- Display屬性
- 盒子模型的邊距和邊框
- 浮動和清除浮動
- 用Position屬性進行定位
- 專題:居中和對齊
- CSS新特性
- CSS3邊框
- 動畫
- JavaScript基礎
- Hello World!
- 語句和變量
- 一切皆對象
- 標識符、注釋和區塊
- 基本數據類型和引用數據類型
- 語句
- 條件語句
- 循環語句
- 數據類型
- typeof
- number
- 字符串
- 布爾類型
- 函數
- 數組
- 運算符
- 加法運算符
- 算術、賦值、比較運算符
- 布爾運算符
- DOM模型
- DOM和DOM節點
- 特征相關屬性
- 節點對象的方法
- Element對象
- Attribute對象
- Text節點和CSS操作
- 事件模型
- 標準庫
- Number對象
- String對象
- Array對象
- Date、Boolean和Math對象
- JSON對象
- 面向對象編程中的 this
- Web Storage
- 錯誤處理機制
- Error對象和try..catch語句
- javascript的原生錯誤類型
- BOM模型
- window對象
- 計時事件
- jQuery基礎
- 認識jQuery
- jQuery對象和DOM對象
- jQuery選擇器
- jQuery Dom操作
- 查找節點和創建節點
- 插入節點和刪除節點
- 復制節點和替換節點
- 包裹節點和屬性操作
- 樣式操作
- 設置和獲取HTML、文本和值
- 遍歷節點和CSS操作
- jQuery 事件和動畫
- 事件綁定與冒泡處理
- jQuery動畫
- jQuery 插件
- validate 插件
- jQuery與Ajax的應用
- Ajax簡介
- jquery中的Ajax
- Bootstrap基礎
- 起步
- 柵格系統
- 排版樣式
- 表格和按鈕
- 表單和圖片
- 輔助類和響應式工具
- 圖標菜單按鈕組件
- 輸入框和導航組件
- 路徑、分頁、標簽和徽章組件
- 巨幕、頁頭、縮略圖和警告框
- 進度、條媒體對象和Well組件
- 列表組和嵌入組件
- 數據庫
- 數據庫介紹
- MySQL的安裝
- SQL
- 表基本操作
- 修改數據語句
- 數據檢索操作
- 多表數據操作
- 表結構設計
- 綜合應用
- JAVA
- JAVA 介紹
- JAVA 運行原理
- JDK 配置
- 類和對象
- 數據類型
- 變量
- 直接量
- 運算符
- 流程控制
- 數組結構
- 面向對象
- 隱藏和封裝
- 深入構造器
- 類的繼承
- 多態
- 包裝類
- final 修飾符
- 抽象類
- 接口
- 集合框架
- 常用類學習
- 設計模式-單例模式
- 異常處理
- JDBC
- JSP&Servlet
- Web應用
- Tomcat
- JSP
- Scriptlet
- Page 指令
- 包含指令
- 跳轉指令
- 用戶注冊實例
- JSP練習
- 內置對象
- Servlet
- 過濾器
- Web分層思想
- EL表達式
- JSTL
- 分頁實現
- AJAX&JSON
- 開發步驟
- 路徑問題
- Log4j
- Java高級
- 文件操作
- 泛型
- 類加載機制和反射
- 注解 Annotation
- Mybatis框架
- 框架介紹
- Mybatis簡單實現
- 表基本操作
- 優化配置文件
- 表字段名與實體類屬性名不同的解決方案
- 一對一關聯
- 一對多關聯
- Spring框架
- Spring簡介
- IOC控制反轉
- AOP面向切面編程
- SpringMVC框架
- 教學管理
- 學員名錄
- 周測統計
- 2018-04-20
- 2018-04-27
- 2018-05-11
- 2018-05-18
- 2018-06-23
- 課堂作業
- 缺勤記錄
- 默寫記錄