<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          「Java 專欄」06-Java 中的基本數(shù)據(jù)類型

          共 8014字,需瀏覽 17分鐘

           ·

          2022-11-04 09:50

          你好,我是悅創(chuàng)。

          原文首發(fā):https://bornforthis.cn

          1. 目錄

          • 認識二進制
          • 數(shù)字的基本數(shù)據(jù)類型
          • 布爾和字符數(shù)據(jù)類型
          • 使用各種基本數(shù)據(jù)類型
          public class BigNumber {
              public static void main(String[] args) {
                  int bigNum = 9999999999;  // 會報錯:java: 整數(shù)太大
                  long number = 9999999999L;  // 解決方法
              }
          }

          從上面的代碼,我們引出了幾個問題:

          • long 是個什么東西?
          • L 又是什么東西?

          這就是你要學(xué)習(xí)本屆內(nèi)容的原因!

          2. 認識二進制

          2.1 十進制

          每一位可以是 0~9這 10 個值,到 10 進位。一百用十進制表示就是 100,十就是 10。

          2.2 二進制

          每一位可以是 0 和 1 這兩個值,到 2 進位。一百用二進制表示就是 1100100,十就是 1010。

          2.3 十六進制

          每一位可以是 0~F 這15個值,到 16 進位。一百用十六進制表示就是 64,十就是 A。

          2.3 bit 和 byte

          Bit 意為“位”或“比特”,是計算機運算的基礎(chǔ),屬于二進制的范疇; Byte 意為“字節(jié)”,是計算機文件大小的基本計算單位;「換算」1 Byte = 8 Bits【1B=8b】 1 KB = 1024 Bytes 1 MB = 1024 KB 1 GB = 1024 MB

          • 一個二進制的位叫做一個 bit。俗稱小 b。寬帶中的單位,都是小 b
          • 八個二進制的位,組成一個 byte,俗稱大 B。硬盤等存儲的單位,都是大 B
          • Byte 是計算機中基本的衡量存儲的單位,計算機在對外使用時不會用小 b(bit) 作為劃分存儲的單位。

          3. 數(shù)字的基本數(shù)據(jù)類型

          3.1 整數(shù)類型

          • byte 占用 1 個 byte,值域是 -128~127
          • short 占用 2 個 byte,值域是 -32768~32767
          • int 占用 4 個 byte,值域是 -2147483648~2147483647。Java 中整數(shù)缺省是 int 類型
            • 【缺省:默認情況下,沒有特殊指明類型下,Java 認為是 int】
            • 【缺省,即系統(tǒng)默認狀態(tài),意思與“默認”相同。】
            • 【“缺省”最初來源于計算機英文文檔中的單詞"default","default”有很多意思:違約、缺省、拖欠、默認,由于當(dāng)時計算機方面的翻譯水平不高,于是就把這個詞直譯成了“缺省”,其實應(yīng)該取它的引申意思“默認”。后來的人們發(fā)現(xiàn),無論怎么解釋,缺省好像都說不通,但是由于之前的人們已經(jīng)習(xí)慣了“缺省”這個用法,故依舊延續(xù)了這個用法。后來的新一輩的人們覺得說起來很拗口,就使用了"default”的引申意思,所以現(xiàn)在在大多數(shù)計算機技術(shù)文檔或者軟件里面,采用的都是意譯之后的“默認”這個用法。】
          • long 占用 8 個 byte,值域是 -9223372036854774808~9223372036854774807

          3.2 浮點(小數(shù))類型

          • float 占用 4 個 byte ,有精度,值域復(fù)雜 ±340282346638528859811704183484516925440
          • double 精度是 float 的兩倍,占用  8  個 byte。Java 中浮點數(shù)缺省是 double 類型。
          public class FloatCalc {
              public static void main(String[] args) {
                  System.out.println(1 / 3.0);  
                  // 實際來說是無限循環(huán)小數(shù),但是對 Java 來說能力有限只能顯示/計算范圍內(nèi)的結(jié)果
                  // 也可以說,計算機沒有能力把這個無限循環(huán)表達出來。在它可能的存儲空間里,只能保存到 0.3333333333333333
              }
          }

          3.3 符號位

          用 byte 來舉例子,一個 1 byte = 8 bit;2【二進制】 的 8 次方是 256,而有一個是符號位,所以最后是:128,也就是上面給出的范圍。 參考:https://bornforthis.cn/posts/14.html

          4. 布爾和字符數(shù)據(jù)類型

          4.1 布爾和字符數(shù)據(jù)類型

          • boolean 占用 4 個 byte,值域是 true,false。
          • char 占用 2 個 byte,值域是所有字符(最多 65535 個)
          public class BooleanAndChar {
              public static void main(String[] args) {
                  System.out.println(1 < 2);  // true
                  System.out.println(1 > 2);  // false

                  System.out.println("ABC");
                  System.out.println('A');  // 只能有一個字符
              }
          }

          5. 使用各種基本數(shù)據(jù)類型

          • 例程
          • L 后綴
          • 感受浮點數(shù)精度
          • 整數(shù)缺省是 int 類型,浮點數(shù)缺省是 double 類型
          • 編譯錯誤的定位和修正

          6. 代碼實操

          public class PrimaryTypes {
              public static void main(String[] args) {
                  byte byteVar = 99;
          //        byte byteVar = 128;  // 超出 byte 范圍
                  System.out.println(byteVar);

                  short shorVar = -30000;
                  System.out.println(shorVar);

                  int intVar = 300000;
                  System.out.println(intVar);

                  long longVar = 99;

          //        long bingLongVar = 9999999999;  // 缺省是 int,需要在末尾添加 L
                  long bingLongVar = 9999999999L;  // 缺省是 int,需要在末尾添加 L
          //        long bingLongVar = 9999999999l;  // 不推薦小 l,比如:11111111l,你能發(fā)現(xiàn)哪個是 1 哪個是 l 么?
                  System.out.println(bingLongVar);

                  float floatVar = 100.1f// 缺省是 double 需要在后面添加 f/F
          //        float floatVar = 100.1; // 缺省是 double 需要在后面添加 f/F
                  System.out.println(floatVar);
                  /*
                  * 解析:缺省是 double,也就是說浮點數(shù)會被自動識別為 double;
                  * 但是你前面的變量被聲明為 float 這樣就和系統(tǒng)相沖突啦,就需要標(biāo)明數(shù)字類型*/


                  double doubleVar = 100.1;
                  System.out.println(doubleVar);

                  boolean condition = true;
                  boolean fcondition = false;
                  System.out.println(condition);

                  char ch = 'A';
                  System.out.println(ch);

                  float floatVar1 = 100.1111111111f;
                  System.out.println("floatVar1:>>>" + floatVar1);
                  double dobleVar1 = 100.1111111111;
                  System.out.println("dobleVar1:>>>" + dobleVar1);
              }
          }
          "C:\Program Files\Java\jdk-11.0.2\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.2\lib\idea_rt.jar=49882:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2022.1.2\bin" -Dfile.encoding=UTF-8 -classpath D:\Java_Coder\Coder06\out\production\Coder06 PrimaryTypes
          99
          -30000
          300000
          9999999999
          100.1
          100.1
          true
          A
          floatVar1:>>>100.111115
          dobleVar1:>>>100.1111111111

          Process finished with exit code 0
          import java.math.BigDecimal;

          public class PrimaryTypes {
              public static void main(String[] args) {
                  byte byteVar = 100;
                  System.out.println(byteVar);

                  short shortVar = 30000;
                  System.out.println(shortVar);

                  int intVar = 1000000000;
                  System.out.println(intVar);

                  long longVar = 80000000000L;
                  System.out.println(longVar);

                  float floatVar = 100.0000000666F;
                  System.out.println(floatVar);

                  double doubleVar = 100.0000000666;
                  System.out.println(doubleVar);

                  boolean booleanVar = true;
                  System.out.println(booleanVar);

                  char charVar = 'a';
                  System.out.println(charVar);

              }
          }

          7. 技巧

          瀏覽 53
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久久久久久久久久网站 | 黄的全免费 | 毛片网站大全免费在线观看 | 欧美精品一级 | 水蜜桃AV无码 |