<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 數據類型 Java 是一種強數據類型的語言,就是指在變量進行定義的時候,就指定了變量的數據類型是什么。 **變量的概念:把一堆數據起了個名字。** 數據類型其實就是在內存中用不同的結構對數據進行存儲和運算。 **內存:運行中的程序都會占用內存空間,因為程序在運行過程中,需要開辟包括方法棧區、變量....,廣泛的理解,在程序運行結束后內存空間會被釋放,但是定義的變量、方法等,都是有「生命周期」的,一旦變量銷毀了,內存也是會釋放的。** 在 Java 中,有垃圾自動回收機制 GC ,對于釋放的或者無效的變量會自動回收,不像 C 、C++ 要手動的去釋放。 **數據類型的分類** **基本數據類型** * 數值型 * 整數型:byte(-128-127)、short(15次方)、int(31次方)、long(63次方) * 浮點型:float(38次方)、double(308次方) * **在實際開發中,我們一般使用 int、double** * 字符型 * char:用單引號表示,Java 中使用16位的 Unicode 字符集作為編碼方式, * 表示方式 * 直接通過單個字符表示:'a'、‘9' 等; * 通過轉義字符表示:'\\t'、'\\n'、'\\r'、'\\''; * 直接使用 unicode 表示:'\\uxxxx'。 > 1. 在 Java 中是沒有表現多個字符的基本數據類型的,但是在 Java 中提供了一個 String 類,去表現字符串。 > 2. 轉義字符的使用:當你要打印無法列出的字符,比如換行符等等,要用轉義字符,還有就是一些在字符串內要搞錯的字符,總之是對編譯器來說具有特殊意義的字符。 * 布爾型 * boolean:表示邏輯中的真和假,值只有 true / false。 > 在基本數據中,是可以進行類型之間的強制轉化的,但是要注意,如果從低精度的轉化為高精度時不會有問題,但是從高精度轉化為低精度時,可能出現精度缺失。 引用數據類型(類類型):后續講解。 **補充點:** 1. 在Java中,數據類型分為基本數據類型和引用數據類型(類類型)。 作為強類型語言,Java在編譯時,會進行嚴格的語法檢查,每個變量在編譯時,就確定了其類型。所有變量必須顯式地聲明類型,而且必須聲明后使用。 2. 數據類型分類圖示: ![](https://img.kancloud.cn/0d/41/0d417fe968b0c28d6a3ad466651225fd_527x251.png) 3. 浮點類型的使用 * 因為Java浮點數使用二進制數據的科學計數法來表示,因此不能精確的表示一個浮點數。如5.2345556f賦值給float類型的變量,輸出的時候會發生變化,即使用精度更高的double類型,有時這個問題依然會出現。如果開發者希望精確的保存一個浮點數,可以使用BigDecimal類。 * Java語言默認的浮點類型時double。如果希望把一個數當做float類型處理,應該在浮點值后面緊跟f或F,double類型可以d或D,但是沒有必要。 4. 基本類型的類型轉換 在Java程序中,不同的基本類型的值,經常需要進行互相轉換。Java語言中提供的7種數值類型之間可以互相轉換,有兩種類型轉換模式:自動類型轉換和強制類型轉換。 * 自動類型轉換 把某種基本數據類型的值,直接賦值給其他基本數據類型的值。 > 如果把范圍小的數據,賦值給范圍大的數據時,不會出現精度的缺失;反之,則可能會出現精度的缺失。 ![](https://img.kancloud.cn/36/84/368479df5eabc11340660eadfe832566_521x99.png) ~~~ class Client1 { public static void main(String[] args) { int i = 100; double di = i; //int a = di; System.out.println(di); } } ~~~ 注意: > ~~~ > 1.上方代碼左邊轉為右邊的數據類型是沒有問題的; > 2.當把任何基本數據和字符串,進行連接運算的時候,基本數據類型將自動轉換為字符串類型。 > > ~~~ * 強制數據類型轉換 如果需要把上方代碼中的右邊,轉換為左邊時,則成為強制類型轉換。 語法:(targetType)value 強制類型轉換時,需加上()運算符。 **強制類型轉換也許會出現精度的缺失或溢出的情況。** ~~~ 示例: int i = 150; byte b = (byte)i; System.out.println(b); int i2 = 100; byte b2 = (byte)i2; System.out.println(b2); String s = "56"; int si = Integer.parseInt(s); System.out.println(si); ~~~ **如果希望把String類型的數據,強制轉為基本數據類型,可以使用基本數據對應的包裝類實現。** 5.表達式的自動提升 當一個表達式中包含多個基本數據類型的值時,整個算術表達式的數據類型將發生自動提升。 提升規則: 所有的byte/short/char類型將被提升到int; 整個算術表達式的數據類型,將被提升到與表達中最高等級操作數相同的類型。 ~~~ 示例: char t1 = 'a'; short t2 = 100; int t3 = 45; double t4 = 10.5; System.out.println(t1 + t2 + t3 + t4); ~~~ **如果表達式包含字符串,應當把+號,當做字符串連接運算符,而不是加法運算符。** **作業**: 1. 分別為如下值,找到合適的類型來定義 ~~~ 3.14 2.769343 365 12 '吃' false "不可描述" ~~~ 比如3.14就使用double `double a = 3.14;` 2. 練習-類型轉換 ~~~ short a = 1; short b = 2; ~~~ 那么`a+b`是什么類型?
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看