# java 核心技术卷1 (原书第11版)通读 第一章:java的基本程序设计结构
前言:
我是一名前端開發人員,因為想自學java,根據網絡上的推薦順序,決定從呼聲最高的 java 核心卷 11版 讀起(PS:其實12版已經出來了,但是只有實體書,沒有電子版呀。實體書太貴了,70+。正版要100+。為了節省資源,多吃飯,就看了11版)。
目前準備好的環境如下:
- java版本:17版本。沒裝18(據說有中文亂碼bug)
- IDE:intelliJ IDEA(正式,30天無限期試用版)
先準備這些,以后再有別的需要準備的,就另行安裝。此書的前兩章稍微過了一眼,覺得并沒有什么深入了解和做筆記的必要。就直接從第三章開始了。畢竟學技術的著急呀。那么,下面就讓我們來開始吧。
第一章:java的基本程序設計結構
第一個java程序
/* *以下字段不是固定的,都是有可選項的。 *public:訪問修飾符,表示程序的應用范圍 *class:類,表明java程序中的全部內容都包含在類中 *FirstSample:類名,一般首字母會大寫 *static:靜態方法 *void:表示函數返回值 *String[] args:字符串類型的數組,名字是args。這里面的表示main方法的形參 */ public class FirstSample{public static void main(String[] args){System.out.println("hello java");//輸出hello java} }注意:
- java區分大小寫
- java文件名必須與類名一致。
- main方法必須是public的
看完之后可以使用ide 右鍵運行 來查看此段代碼的運行結果。
數據類型
- 基本類型
java提供了八種基本類型:包括(四個整數型,兩個浮點型)一個字符類型,一個布爾型
| byte(字節) | byte數據類型是8位,有符號的,以二進制補碼表示的整數 | 默認值為0,byte類型用在大型數組中節約空間,主要代替整數,因為byte變量占用的空間只有int類型的四分之一 | -123~127 |
| short(短整型) | short數據類型是16位,有符號的以二進制補碼表示的整數 | 默認值是0,一個short類型占int類型的二分之一 | -32768(-215)~32767(215 - 1) |
| int(整數型) | int數據類型是32位,有符號的以二進制補碼表示的整數 | -2,147,483,648(-231)**~**2,147,483,647(231 - 1) | |
| long(長整數型) | long數據類型是64位,有符號的以二進制補碼表示的整數 | 默認值是0L,注意需要在數字后面加上L表示 | (-263)**~**(263 - 1) |
| float(單精度,浮點型) | float是單精度,32位,符合IEEE 754標準的浮點數 | float 在儲存大型浮點數組的時候可節省內存空間;默認值是0.0f,浮點數不能用來表示精確的值,如貨幣 | |
| double(雙精度,浮點型) | double 數據類型是雙精度、64 位、符合 IEEE 754 標準的浮點數 | double類型同樣不能表示精確的值,如貨幣; | 如果需要存儲貨幣,那么使用BigDecimal類來表示 |
| boolean(布爾值) | 布爾類型表示一位的信息 | ||
| char(字符類型) | char 類型是一個單一的 16 位 Unicode 字符; | char 數據類型可以儲存任何字符; | 最小值是 \u0000(十進制等效值為 0); 最大值是 \uffff(即為 65535) |
整數和小數取值范圍大小關系:
double>float>long>int>short>byte
- 引用類型
- 引用類型指向一個對象,指向對象的變量是引用變量,變量一但聲明后,類型就不能被改變了。
- 對象、數組都是引用數據類型
- 所有引用類型的默認值都是null
- 一個引用變量可以用來引用任何與之兼容的類型
常量與變量
-
變量:
-
格式——dataType dataName;
-
帶初始化的示例:int a = 10;
-
java10之后如果變量有初始值,并且可以通過初始值來反推變量類型的時候,可以不用寫類型,直接用關鍵字 var 來聲明
var i = 10; System.out.println(i);//10 這樣是沒問題的
-
-
常量:
-
使用final關鍵字來聲明,當然這個關鍵字也可以用來聲明類和方法。都是不可改變的
final var I= 10;//10 -
常量約定為全大寫
-
數值類型之間的轉換
-
自動轉換
-
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-isa7LgXD-1660664197396)(C:\Users\11075\AppData\Roaming\Typora\typora-user-images\image-20220816131654132.png)]
-
整形、實型(常量)、字符型數據可以混合運算,運算中,不同類型的數據先轉化成同一類型,然后進行運算
數據類型轉換必須滿足如下規則:
- 不能對boolean進行轉換
- 不能把對象類型轉換成不相關類的對象
- 在把容量大的類型轉換位容量小的類型時必須使用強制類型轉換
- 轉換過程中可能導致溢出或損失精度
- 浮點數到整數的轉換是通過舍棄小數得到,而不是四舍五入
注意:必須滿足轉換前的數據類型的位數要低于轉換后的數據類型
-
實線箭頭表述無精度損失轉換,虛線則有可能損失一些精度
-
-
強制類型轉換
-
條件是轉換的數據必須是兼容的
-
格式(type) value ,type是要強制類型轉換后的數據類型
public class QiangZhiZhuanHuan{public static void main(String[] args){int i1 = 123;byte b = (byte) i1;//強制類型轉換為byteSystem.out.println("int強制類型轉換為byte后的值等于"+b);} }
-
數組
-
數組定義
1,數據類型 [] 數組名如:int[] arrayName 2,數據類型 數組名 []如:int arrayName[] 推薦使用第一種 -
數組創建
1,靜態數組:int[] arrayList = new int[]{1,2,3,4}簡寫:int[] arrayList = {1,2,3,4}如果用system.out.println(arrayList),會打印出[D@776ec8df,[D@776ec8df分為幾個部分:[-表示類型,即這是一個數組D-表示當前數組元素類型@-表示一個間隔符號,這是固定格式776ec8df-表示數組的真正的地址值2,動態數組格式:數據類型[] 數組名 = new 數據類型[數組長度] -
訪問數組元素:array[index]
-
for…each循環,因為這是后來加入的,所以格式如下
for(int element:a){System.out.println(element) } -
Arrays類中的常用方法:
方法名接收參數描述示例 fill(arr,fromIndex,toIndex) arr:原數組
fromIndex:開始索引
toIndex:結束索引填充一個數組,有開始索引,必定有結束索引 Arrays.fill(arr,0,5) sort(arr,fromIndex,toIndex) arr:原數組,數組類型需要是整數型
fromIndex:開始索引
toIndex:結束索引數字排序,如果原數組是一個字符串的話,那么就是按照先大寫后小寫來排序的 Arrays.sotr(arr); toString(arr) arr:原數組 序列化成字符串 Arrays.toString(arr) equals(arr1,arr2) arr1:數組1
arr2:數組2比較兩個數組元素是否相等 Arrays.equals(arr1,arr2) binarySearch(arr,fromIndex,toIndex,element) arr:原數組
fromIndex:開始索引
toIndex:結束索引
element:要查找的元素使用二分查找法來尋找元素,必須是排序后的數組。 int[] arr = {10,20,30,40,50}; System.out.println(Arrays.binarySearch(arr, 30)); copyOf(arr,length) arr:原數組
length:要復制的長度復制數組 int[] arr2 = Arrays.copyOf(arr,length); copyOfRange(arr,fromIndex,toIndex,) arr:原數組
fromIndex:起始索引
toIndex:結束索引復制數組 int[] arr2 = Arrays.copyOfRange(arr,3,4);
總結
以上是生活随笔為你收集整理的# java 核心技术卷1 (原书第11版)通读 第一章:java的基本程序设计结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Ubuntu下设置笔记本外接显示器(双
- 下一篇: pdf文件如何在线转换为jpg图片