日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JAVA入门级教学之(整数型)

發布時間:2024/7/23 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA入门级教学之(整数型) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于java語言中的整數型:

數據類型 占用空間大小 默認值 取值范圍 ======================================================================== byte 1 0 【-128-127】 short 2 0 【-32768-32767】 int 4 0 【-2147483648-2147483647】 long 8 0L 1、java語言中的**"整數型字面值"被**默認當做int類型**來處理**,要將這個"整數型字面值"被當做long類型來處理的話,需要在"整數型字面值"后面添加l或者L 例:3L【一般用大寫L因為小寫l容易看成1】 2、java語言中的整數型字面值有三種表示形式:第一種形式:十進制【是一種缺省默認的方式】第二種形式:八進制【在編寫八進制整數型字面值的時候需要以0開始】第二種形式:十六進制【在編寫十六進制整數型字面值的時候需要以0x開始】 public class DateTypeTest04 {public static void main(String[] args){//以下是java語言中的整數型字面值有三種表示形式int a=10;//缺省默認為十進制int b=010;//整數型字面值以0開頭的,后面那一串數字就是八進制形式int c=0x10;//整數型字面值以0x開頭的,后面那一串數字就是十六進制形式System.out.println(a);//輸出10System.out.println(b);//輸出8System.out.println(c);//輸出16System.out.println(a+b+c);//輸出34,可見計算機是偏向人類理解的方向輸出結果的,輸出結果是十進制//以下是整數型字面值的int類型,分兩步走//123這個整數型字面值是int類型//i變量聲明的時候也是int類型//整數型的123賦值給整數型的變量i,不存在類型轉換int i=123;System.out.println(i);//123//以下是長整型字面值的long類型//456整數型字面值被當做int類型,占用4個字節//x變量在聲明的時候是long類型,占用8個字節//int類型的字面值456賦值給long類型的變量x,存在【小轉大】的類型轉換//int類型是小容量,long類型是大容量//小容量可以自動轉換成大容量,稱為【自動類型轉換機制】long x=456;System.out.println(x);//456//以下是演示超出默認的字面值編譯報錯的例題//2147483647字面值是int類型,占用4個字節//y是long類型,占用8個字節,原則上右邊數值不超出自身的范圍下是可以自動轉換的long y=2147483647;System.out.println(y);//2147483647//以下是后面默認字面值超出自身范圍編譯報錯的例子//long y=2147483648;//超出自身默認int型的存儲范圍,int類型已經溢出,和long無關//System.out.println(z);//編譯錯誤,過大整數:2147483648//解決錯誤//2147483648字面值一上來就當做long類型來處理,在字面值后面添加L//2147483648L是8個字節的long類型//z是long類型變量,以下程序不存在類型轉換long z=2147483648L;System.out.println(z);} }

關于java中的整數型:
byte
short
int
long

public class DateTypeTest05
{
public static void main(String[] args)
{
//100L是long類型字面值
//x是long類型變量
//不存在類型轉換,直接賦值
long x=100L;

//x變量是long類型,8個字節//y變量是int類型,4個字節//以下程序可以編譯通過嗎?//結果:編譯報錯,大容量不能直接賦值給小容量//int y=x;//大容量轉換成小容量,需要進行強制類型轉換//強制類型轉換需要加"強制類型轉換符"//加上強制類型轉換符之后編譯通過了,但是在運行階段可能損失精度。//所以強制類型轉換謹慎使用,因為損失精度之后可能損失很嚴重//強轉原理://原始數據:~~00000000 00000000 00000000 0000000~~ 00000000 00000000 00000000 0100100//強轉之后的數據:【損失前面4個字節】00000000 0000000 0000000 01100100//將左邊的二進制砍掉【所有的數據強轉的時候都是這樣完成的】int y=(int)x;System.out.println(y);//編譯通過long k=2147483648L;int e=(int)k;System.out.println(e);//損失精度嚴重,結果是負數【-2147483648】/*分析以下程序是否可以編譯通過?*依據目前所學內容,以下程序是無法編譯通過的*理由:50是int類型的字面值,b是byte類型的變量*顯然是大容量轉小容量,以下程序沒有添加強轉符號,所以編譯報錯-但是,在實際編譯的時候,以下代碼編譯通過了,這說明:在java語言中,當一個整數型字面值沒有超出byte類型的取值范圍的話,該字面值可以直接賦值給byte類型的變量*/byte b=50;//可以byte c=127;//可以//編譯報錯,128這個int類型的字面值已經超過byte類型的取值范圍,不能直接賦值給byte類型的變量//byte b1=128; //System.out.println(b1);//編譯報錯//糾正錯誤,需要強制類型轉換符//但是一定會損失精度//原始數據:~~00000000 00000000 00000000~~ 10000000//強轉之后:10000000【這是存儲在計算機內部的,這是一個補碼,它的原碼是什么?】byte b1=(byte)128;System.out.println(b1);//-128//總結:只要這個整型的字面值沒超過byte類型的范圍,就可以直接編譯成功//補碼:10000000//以下是補碼轉原碼的過程//減1:10000000-1-->01111111//變反碼:10000000-->-128/*總結:計算機二進制有三種表示形式:原碼反碼補碼計算機在任何情況下底層表示和存儲數據的時候采用了**補碼形式**正數的補碼:和原碼相同負數的補碼:負數的絕對值對應的二進制碼,然后所有二進制位取反,再加1*///原始數據:00000000 00000000 00000000 11000110//強制類型轉換之后:11000110//11000110現在在計算機中存儲,它是一個補碼,將補碼轉換成原碼就是該數字//11000110-1-->11000101//00111010-->58byte m=(byte)198;System.out.println(m);//-58//以下是short短整型的講解short s=32767;//通過//short s1=32768;//編譯報錯//65535是int類型,4個字節//cc是char類型,2個字節//按照以前所學知識點來說,以下程序是編譯報錯的//但是char cc=65535;//通過cc=65536;//編譯報錯char【-32768-32767】short【0-65535】/*當一個整數型字面值沒有超出byte,short,char的取值范圍,這個字面值可以直接賦給byte,short,char類型的變量,這種機制SUN允許了,目的是為了方便程序員的編程*/}

}

總結

以上是生活随笔為你收集整理的JAVA入门级教学之(整数型)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。