跟我學java編程—認識java的整數類型

2020-12-11 米粒教育

Java語言中,基本的整型數據類型有byte、short、int、long四種類型,用於需要不同存儲空間的數據使用。整型有正整數和負整數之分,在Java語言中,規定整型的最高位為符號位,最高位為「0」表示正數,最高位為「1」表示負數,其它位表示數值。因此整型類型的數據能夠表示的最小值為:-2n-1 —2n-1-1(n為該類型所佔存儲空間的二進位位數)。

其中,byte佔用一個字節的存儲空間,可表示的最小數值為-128,最大數值為127;

short佔用二個字節的存儲空間,可表示的最小數值為-32768,最大數值為32767;

int佔用四個字節的存儲空間,可表示的最小數值為-2147483648,最大數值為2147483647;

long佔用四個字節的存儲空間,可表示的最小數值為-9223372036854775808,最大數值為9223372036854775807。

整型變量可按如下方式聲明:

在一條語句中,可以聲明多個同一類型的整型變量,每個變量之間用英文逗號分隔:

整型變量可按如下方式初始化:

在初始化變量或為變量賦值時,常常會用到一些數值,這些值通常稱為常量。Java語言中整型常量有三種不同的表示形式:十進位、八進位和十六進位。

① 八進位整型常量:在八進位數值前面加前綴數字0,其數碼取值為0—7,例如:023、0457、01329等;

② 十六進位整型常量:前綴為「0X」或「0x」,數碼取值0—9、A—F、或a—f。例如:0X2A、0XA0、0Xffff等;

③ 十進位整型常量:既無前綴也無後綴。例如:236、56、7890等。

示例1: 整型常量聲明:

當整型數據數值大小超出了可以表示的範圍,而程序中又沒有做數值範圍的檢查時,這個整型變量所輸出的值將發生紊亂,且不是預期的運行結果,這種現象稱為溢出。

示例2:int類型的溢出

在D盤Java目錄下,新建「OverFlow.java」文件。用記事本打開「OverFlow.java」文件,輸入以下代碼:

編譯「OverFlow.java」文件,在命令行窗口輸入「javac OverFlow.java」並執行命令,編譯器顯示如下信息:

編譯器給出過大的整數錯誤信息,num的數值明顯超出的int所能表示的最大值。

示例2:byte類型的溢出

在D盤Java目錄下,新建「ByteOverFlow.java」文件。用記事本打開「OverFlow.java」文件,輸入以下代碼:

編譯「ByteOverFlow.java」文件,在命令行窗口輸入「javac ByteOverFlow.java」並執行命令,編譯器顯示如下信息:

編譯器給出可能損失精度的錯誤信息,原因是byte變量的最大值為127,數值129超出了byte所能表示的範圍。編譯器將數值129賦值給byCode時,將129強制轉換為byte所能表示的範圍,因此報出損失精度的錯誤信息。

程序聲明的所有變量都要佔用程序運行存儲空間,對程序運行存儲空間比較小的單片機、手機等設備,在程序設計時,要充分考慮變量所佔的存儲空間對內存空間的影響,使用byte可以表示的數值範圍儘量不要用int類型,更不能使用long類型,在賦值時,一定要判斷數值的範圍大小,以免發生數值溢出問題。

(1)要存儲一個long型的值,需要()字節的存儲空間。

A.4

B.8

C.2

D.1

(2)程序需要存儲一個數值為128的常量,可用的佔用存儲空間最小的的數據類型為()。

A. byte

B . long

C. int

D.short

(3)在Java語言中,數值128用十六進位表示為()。

A.80H

B.0X80

C.80

D.080

相關焦點

  • 跟我學java編程—Java的格式化輸出
    參數列表順序應與格式字符串的格式說明符的順序與數據類型保持一致。編譯「PrintfSample.java」文件,在命令行窗口輸入「javac PrintfSample.java」並執行命令,編譯通過後,在命令行窗口輸入「java PrintfSample」運行Java程序,命令行窗口顯示如下信息:
  • 一起學JAVA——數據類型
    上一篇我們提到過,java是強數據類型語言,所有在定義變量和常量時必須指定數據類型。java到底支持哪些數據類型呢?如下圖數據類型分類原始類型(基本類型)整數:byte 1個字節,最小值:-128,最大值:127short 2個字節,最小值:-32768,最大值:
  • 跟我學java編程—Java跳轉語句—continue語句
    圖 8-13 break和continue語句引起的控示例1:求整數1—100的累加值,但要求跳過所有個位為3的數。如何判斷1到100中的那些整數的個位是3呢,還是使用取餘運算符「%」,將一個正整數,除以10以後餘數是3,就說明這個數的個位為3。在D盤Java目錄下,新建「ContinueSample.java」文件。
  • 跟我學java編程—Java while循環語句
    程序聲明了兩個int類型的變量num和result,分別用來存儲數字和乘積。然後,將num初始化為1,因為打算在while循環中從1開始執行乘法運算,求出1—10的數字與10的乘積,因此將while循環的條件編寫為num<=10。這樣確保了只要num小於等於10,就執行while循環;而當此條件變為假時,即num的值達到11時,就結束此循環。
  • 跟我學java編程—Java的標準輸出
    圖 5-5 Java的標準輸出Java核心類System類成員屬性out完成向標準設備輸出數據的功能,out的類型為PrintStream,PrintStream類主要用於輸出各種類型數據的格式化形式輸出
  • 跟我學java編程—Java類方法的調用機制
    聲明方法時圓括號中的參數稱為形式參數,形式參數和實際參數在數據類型和個數上一定要匹配。3、理解main()方法語法及命令行參數main方法入口是一個數組類型的參數,也可以給main方法傳遞參數,通過命令行在運行時傳入參數即可。
  • 跟我學java編程—Java的Scanner類
    語句「import java.util.*;」,用於導入包含Scanner的類庫,Scanner包含在Java 核心類庫util中,要使用Scanner類,必須導入java.util庫,類庫導入關鍵字為import。
  • 跟我學java編程—認識Java的異常及異常處理類
    Java提供了一個Throwable類,Throwable類是Java語言中所有處理錯誤或異常的超類,只要當對象是此類或其子類之一的實例時,才能通過Java虛擬機或者java的throw語句拋出異常。類似的,只有此類或其子類之一才可以是catch子句中的參數類型。它的兩個子類的實例Error和Exception通常用於指示發生了異常情況。
  • 跟我學java編程—Java的標準輸入
    Java核心類System類成員屬性in完成從標準設備獲取用戶輸入的功能,in的類型為InputStream,InputStream類主要用於從不同的輸入源獲取用戶的輸入數據,也包括鍵盤或其它字符輸入終端。InputStream提供了三種方法從輸入源讀取數據,本節主要介紹不帶輸入參數的read方法,另外兩種帶輸入參數的read方法請參考Java API。
  • 新手學Java編程應該學那些Java基礎知識
    自己總結的一些java基礎知識,想入行java的跟新手都可以看看!  經過這麼多年的Java開發,以及結合平時面試Java開發者的一些經驗,我覺得對於J2SE方面主要就是要掌握以下的一些內容。  1.
  • 跟我學java編程—Java的switch結構
    ,或可以轉換為int的類型,如char等。在D盤Java目錄下,新建「CaseSample.java」文件。用記事本打開「CaseSample.java」文件,輸入以下代碼:代碼結構分析程序功能主要是演示switch結構的使用。
  • 跟我學java編程—複合賦值位運算符「<> =、<>=」
    二進位數是用0和1兩個數字來表示的數,一個byte類型的數據佔一個字節,是8位二進位數,一個int類型的數據佔2個字節,是16位位二進位數。例如:字符A的十進位表示是65,二進位表示是01000001。位運算符就是針對二進位位進行操作,下表列出了位運算符「<< =、>>=」的描述及例子。
  • 自學編程,是python? 還是java?
    學習編程也是一樣,零基礎的人像是在山腳下,不要怕走錯路,不要糾結python還是java,拿出一枚硬幣,正面python背面java,選完之後,咬著牙堅持走下去,等到有一定收穫之後,再回頭看看,其實之前這個決定其實並不重要。
  • 一起學JAVA——Java語法基礎
    關鍵字(51個):其實就是java語言賦予了特殊含義的單詞。例如getStudentCount()什麼是變量變量的概念:用來存儲可變數據的容器內存中的一個存儲區域該區域有自己的名稱(變量名)和類型(數據類型)
  • 「零基礎學JAVA」基礎篇 第二章 JAVA編程初體驗
    JAVA【零基礎學編程】系列今天給大家帶來基礎篇 第二章 JAVA編程初體驗本節的部分編碼操作需要先安裝JDK開發工具2.然後,通過編譯器來將我們寫的代碼「翻譯」成電腦可以聽懂的語言3.最後,再「告訴」電腦去執行我們的指令02編寫我的第一個程序
  • 菜鳥如何學java?
    Java 作為一個 20 年的老牌程式語言,依然在眾多程式語言中有著舉足輕重的地位,好多人看到別人轉行學java當上工程師,拿著上萬的月薪,內心早已蠢蠢欲動。憑啥他可以拿這麼多的工資,我就得每月三四千,日子過得緊巴巴的?我也想拿呀,那你要去學啊?難題來了,大部分同學都是零基礎。
  • 為什麼我們需要Java中的泛型類型?
    泛型類型在Java集合中廣泛使用。為什麼我們需要Java中的泛型類型?理解這個問題可以幫助我們更好地理解許多相關概念。在本文中,我將使用一個非常簡短的示例來說明Generic為什麼有用。1.當我們添加一個整數並將其強制轉換時,程序運行完全正常。但是,如果用戶不小心將字符串「 60」添加到其中,編譯器將不知道這是一個問題。程序運行時,將獲得ClassCastException。
  • 開發崗位這麼多,為什麼選Java?你學Java了嗎-開課吧
    TIOBE編程排行榜根據全球工程師、課程和搜尋引擎數量為指數得出,在一定程度上反映了程式語言的發展趨勢。其他程式語言與Java相比,Java語法相對簡單,並且是很多計算機語言的基礎。提到C++語言,很多人發現在使用過程中最容易出現的錯誤就是內存管理,而java有自動垃圾回收器,不用擔心內存。
  • 新手轉行學java難嗎?新手學java需要注意的6個方面!
    新手轉行學java難嗎?新手學java需要注意的6個方面!新手轉行在成都學java到底難不難,對於這個問題,我們專門做過一個調查,超過1000名已經在職的java從業者,其中有80%的程式設計師覺得學java不難,20%的程式設計師覺得前期有點難,其中對於50%自學的新手認為java很難學,遇到問題沒人解答,又或者是答案太多,根本不知道哪個回答是正確的。
  • Python和Java語言,新手應該先學哪個
    我先表明下自己的觀點,java和python這兩門語言,都要學習,但是,要有先後順序。強烈推薦先學習java。java是個嚴謹、高效的程式語言,出道20餘年,在編程兵器排行榜上,常年佔據前三。至於python語言,現在火得不行,全宇宙都知道的程式語言,吸引了不少人的眼球,各大培訓機構的標語都是大數據+python+人工智慧了,這些趁熱點的標語你看看就行了,別當真,當真你就輸了。python是個腳本語言,極其靈活,極其好學,既然這麼好,為啥不學呢?其實在編程界裡,語言的靈活,其潛臺詞就是失控。