1. 程式人生 > 其它 >為什麼 Python 的 Range 要設計成左開右閉區間?

為什麼 Python 的 Range 要設計成左開右閉區間?

基本資料型別是CPU可以直接進行運算的型別。

Java定義了以下幾種基本資料型別:

  • 整數型別:byte,short,int,long
  • 浮點數型別:float,double
  • 字元型別:char
  • 布林型別:boolean
    Java定義的這些基本資料型別有什麼區別呢?要了解這些區別,我們就必須簡單瞭解一下計算機記憶體的基本結構。

計算機記憶體的最小儲存單元是位元組(byte),一個位元組就是一個8位二進位制數,即8個bit。它的二進位制表示範圍從00000000~11111111,換算成十進位制是0~255,換算成十六進位制是00~ff

記憶體單元從0開始編號,稱為記憶體地址。每個記憶體單元可以看作一間房間,記憶體地址就是門牌號。
一個位元組是1byte,1024位元組是1K,1024K是1M,1024M是1G,1024G是1T。

整型

特別注意:同一個數的不同進位制的表示是完全相同的,例如15=0xf0b1111

浮點型
浮點型別的數就是小數,因為小數用科學計數法表示的時候,小數點是可以“浮動”的,如1234.5可以表示成12.345x102,也可以表示成1.2345x103,所以稱為浮點數。

布林型別

字元型別
字元型別char表示一個字元。Java的char型別除了可表示標準的ASCII外,還可以表示一個Unicode字元:

注意char型別使用單引號',且僅有一個字元,要和雙引號"的字串型別區分開。

引用型別

常量

var關鍵字

小結
Java提供了兩種變數型別:基本型別和引用型別


基本型別包括整型,浮點型,布林型,字元型。
變數可重新賦值,等號是賦值語句,不是數學意義的等號。
常量在初始化後不可重新賦值,使用常量便於理解程式意圖。

字串陣列
如果陣列元素不是基本型別,而是一個引用型別,那麼,修改陣列元素會有哪些不同?

字串是引用型別,因此我們先定義一個字串陣列:

對於String[]型別的陣列變數names,它實際上包含3個元素,但每個元素都指向某個字串物件:

對names[1]進行賦值,例如names[1] = "cat";,效果如下:

這裡注意到原來names[1]指向的字串"XYZ"並沒有改變,僅僅是將names[1]的引用從指向"XYZ"改成了指向"cat",其結果是字串"XYZ"再也無法通過names[1]訪問到了。