一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - java編程數據類型全面詳解教程新手必入

java編程數據類型全面詳解教程新手必入

2022-02-25 00:35高郵吳少 Java教程

這篇文章主要為大家介紹了java編程數據類型全面詳解教程,強烈推薦新手入,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

 

前言

大家好呀!這是筆者的java板塊,今天起筆者開始了java部分的相關學習,會不定期更新java的文章。
提示:以下是本篇文章正文內容,下面案例可供參考

 

變量和類型

變量指的是程序運行時可變的量,相當于開辟一塊內存空間來保存一些數據。
類型則是對變量的種類進行了劃分,不同的類型的變量具有不同的特性。
我們討論的“變量”和我們的“內存”這樣的硬件設施密切相關

java編程數據類型全面詳解教程新手必入

(圖片來自比特就業課)

變量相當于一個箱子,可以存放一些數據
類型相當于箱子的種類,不同類型,意味著箱子種類不一樣,種類不一樣,箱子存儲的東西自然是不一樣的

 

1 整形int

public class TestDemo {
    public static void main(String[] args) {
     int a=10;
        System.out.println(a);//打印10
        System.out.println(Integer.MAX_VALUE);//打印2147483647,Integer是java的一個包裝類,是一個簡單類型,你可以理解Integer就是int
        System.out.println(Integer.MIN_VALUE);//打印-2147483648
     //和c語言一樣,整形int不管你系統是16位、32位還是64位,int類型統一占4字節
        //區別c語言,java里的整形int是沒有無符號類型的,數字統一都有符號
        //int是4字節,也就是32比特位,32位中的最高位是符號位(1為負,0為正)
        //除去32位中的符號位剩余的31位分別對應1和0兩種情況,所以最大是2^31-1=2147483647
        //ps:為什么2^31要-1,因為符號位是0的2^31種情況中有0這種情況,正數要-1
        //最小的是-2^31=-2147483648
        //變量的命名:小駝峰->由數字、字母、下劃線、美元符號組成
        int 錢=100;//有意思的是java可以用中文來做變量名
        System.out.println(錢);//打印100,不會報錯
    }
}

java編程數據類型全面詳解教程新手必入

整形數據范圍示意圖

 

2 長整形long

數據范圍這里和上面整形思路一樣,long是8個字節,64比特位,最高位符號位,所以最大值2^ 63-1, 最小值-2^63

public static void main(String[] args) {
        long a=10;//ps:寫long a=10L或者long a=10l(小寫的L)結果都是一樣的
        System.out.println(a);//打印10
        System.out.println(Long.MAX_VALUE);//打印2^63-1=9223372036854775807
        System.out.println(Long.MIN_VALUE);//打印-2^63=-9223372036854775808
    }

注意:java中沒有long long類型

 

3 雙精度浮點型(重點)

double類型占8個字節

public static void main(String[] args) {
        double d=3.1415926;//double是8個字節
        System.out.println(d);//打印3.1415926
        int a=1;
        int b=2;
        System.out.println(a/b);//打印0,java中int除int還是int型,如果要得到小數必須除數或被除數至少有一個是double型
        int c=1;
        double f=2;
        System.out.println(c/f);//打印0.5
    }

 

4 單精度浮點型

float類型占4個字節

public static void main(String[] args) {
        //float a=1.1;
        // 1.1java默認是一個double類型,對于c語言來說double型到float型是可以通過的,只是會報警告
        //但對于java來說只要類型不匹配,就不能運行,一定會報錯
        float a=1.1f;//要想1.1是float類型,后面要跟一個f或者F
    }

 

5 字符型

char(java中占2個字節)
1.java中使用單引號+單個字母的形式表示字符字面值
2.計算機中的字符本質是一個整數,在C語言中用ASCII表示字符,而java中使用的是Unicode表示字符。因此一個字符占用兩個字節,表示的字符種類更多,包括中文

public static void main(String[] args) {
        char ch="a";
        System.out.println(ch);//打印a
        char dh="嘿";//一個漢字2個字節,char是2個字節,所以這里也是可以賦值的
        System.out.println(dh);//打印“嘿”
        char eh=97;
        System.out.println(eh);//打印a,賦值是整數給char類型的話,會自動轉換為數字對應的字符
    }

 

6 字節類型

byte類型占1個字節(聯想c語言中的char)

public static void main(String[] args) {
        byte b=10;
        System.out.println(b);//這里正常打印10
        //byte c=130;//這里會報錯
        //為什么10可以130就不可以呢?
        //byte是1個字節,8比特位,除去符號位只有7比特位
        //7比特位最高是127,最低是-128
        //所以byte類型的范圍是-128-127
    }

在java中,數值類型都是有取值范圍的,存儲數據的時候,不要超過范圍,否則編譯無法通過。

 

7 短整型

short類型占2個字節

public static void main(String[] args) {
        short s=10;//short類型的取值范圍是-2^16到2^16-1
        System.out.println(s);//打印10
    }

 

8 布爾類型

public static void main(String[] args) {
        boolean flg1=true;//非0為真,0為假
        System.out.println(flg1);//java中布爾類型只有兩種情況:true或false
        boolean flg2=false;
        System.out.println(flg2);
        //JVM沒有明確規范布爾類型的大小。有些書說1bit有些書說1字節
        //布爾類型不能進行數值運算,比如flag+1這種都是不行的
    }

注意:
1.boolean類型的變量只有兩種取值,true為真,false為假
2.java的boolean類型和int不能相互轉換,不存在 1表示true,0表示false
3.boolean類型有些JVM的實現是占1個字節,有些是占1個比特位,這個沒有明確規定。

 

9 字符串類型(重點)

把一下字符放到一起構成字符串
String 變量名=“初始值”

public static void main(String[] args) {
        String str="hello";
        System.out.println(str);
        String str2="world";
        System.out.println(str+str2);//可以把兩個字符串拼接起來
        System.out.println(str+10+20);//其他數據類型與字符串類型使用+拼接,結構是一個字符串
        //打印hello1020,10跟著hello已經變成字符串了,所以不會與20相加
        System.out.println(10+30+str);
        //打印40hello,解釋:因為計算機讀這段代碼是從左到右,兩int型還沒變成字符串算起來是40
        System.out.println(str+(10+20));//如果要打印hello30,加個括號即可
        System.out.println("a="+10+",b="+20);//a=10,b=20
        String s1=""bit"";//現在要打印”bit“,只要對兩邊的雙引號轉義即可
        System.out.println(s1);
    }

 

10 變量的作用域

也就是該變量能生效的范圍,一般是變量定義所在的代碼塊,也就是大括號{}

public static void main(String[] args) {
        int a=10;
        {
            a=99;
        }
        System.out.println(a);//打印99
        {
            int b;
        }
        //System.out.println(b);//無法打印b,已經出了b的作用域
    }

 

11 變量的命名規則

 

硬性指標:

1.一個變量名只能包含數字、字母、下劃線
2.數字不能作為開頭
3.變量名是大小寫敏感的,舉例說明:num和Num是兩個不同的變量
ps:語法上雖然運行使用中文/美元符號($)命名,但是強烈不推薦這樣做

 

軟性指標:

1.變量命名要具有描述性,見名知意
2.變量名不宜使用拼音
3.變量名的詞性推薦使用名詞
4.變量命名推薦小駝峰命名法,當一個變量名由多個單詞構成時,除了第一個單詞之外,其他首字母大寫
比如maxValue

 

12 常量

常量:
1.字面值常量:比如單純一個數字,或者字符串等等
2.final修飾的變量會變成常量

ps:常量和變量的簡單區別:
常量就是程序運行時不可改變的量
變量就是程序運行時可以改變的量

public static void main(String[] args) {
        final int c=10;//final修改的變量就不能修改了,類似c語言中的const
        //c=2;//c不可修改,該句c=2會報錯
        System.out.println(c);
    }

 

13 強制類型轉換

public static void main(String[] args) {
        int a=10;//int是4字節
        long b=a;//long是8字節
        System.out.println(b);//4字節賦給8字節沒有問題
        long c=12;
        //int d=c;//8字節賦給4字節會報錯
        int d=(int)c;//強制類型轉換后才能賦值
        boolean e=true;
        //int f=(int)e;//兩個毫不相關的類型就算是強轉也不能賦值

    }

long表示的范圍更大,可以將int賦值給long,但是不能將long賦值給int。就好比我們現在把西瓜和芝麻里面掏空,你可以把空芝麻放到空西瓜里,但是不能把西瓜塞到芝麻里,如果你非要塞,好,請你把西瓜切的和芝麻一樣大,也就是把long強制轉換成int

結論:不同數字類型的變量之間賦值,表示范圍更小的類型能隱式轉換成范圍更大的類型

注意:int和boolean這種完全不相干的類型,即使強制類型轉換也是不能賦值的(boolean根本表示數值類型)

 

14 理解數值提升

public static void main(String[] args) {
        byte a=1;//byte是1個字節,也就是4bit位,那它的有效范圍應該是-128-127
        byte b=2;
        //byte c=a+b;這里會報錯:小于4字節運算時會把變量自動提升到整形,整形后賦給byte是不可以的
        byte c=(byte)(a+b);//要賦值a+b要對他們的結果強制類型轉換
        byte d=1+2;//這里為什么不報錯呢?1和2都是常量,程序編譯的時候1+2就已經編譯成3了
        //也就是說上一行代碼==byte d=3;
        int a1=10;
        long a2=20;
        //int a3=a1+a2;這里運算時,小類型會提升為大類型,這里a1會提升到long類型,直接寫會報錯
        int a3=(int)(a1+a2);//必須對結果進行強轉
        String e=String.valueOf(a1);//把int型轉換為String類型
        System.out.println(e);
        //整數變字符串法二
        String f=a1+"";//整數加字符串就變字符串了
        System.out.println(f);
    }

 

15 int和String類型的相互轉換

public static void main(String[] args) {
        int a1=10;
        String e=String.valueOf(a1);//把int型轉換為String類型
        System.out.println(e);//打印字符10
        //整數變字符串法二
        String f=a1+"";//整數加字符串就變字符串了
        System.out.println(f);
    }

 

總結

java編程數據類型全面詳解教程新手必入

本文介紹了java的所有數據類型,強制類型轉換和數值提升是本文的重點,但在實際運用中,我們還是推薦減少不同類型混用的情況,防止出錯。以上,祝讀者學習愉快,事業有成,希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/m0_57180439/article/details/120709287

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产久热香蕉在线观看 | 胸奶好大好紧好湿好爽 | 高清一区 | 午夜在线观看免费完整直播网页 | 边摸边吃奶边做爽视频免费 | 午夜精品久久久久久久99蜜桃i | 亚洲一区二区日韩欧美gif | 乳环贵妇堕落开发调教番号 | 日本中文字幕在线观看视频 | 成人永久免费福利视频网站 | 无码国产成人午夜在线观看不卡 | 四虎国产精品免费久久久 | 9自拍视频在线观看 | 日韩视频一区二区三区 | 成人国产精品一区二区不卡 | 波多野结衣中文字幕 | 边打电话边操 | 99热这里只有精品在线 | 国产视频久久 | 激情图片 激情小说 | 丰满大乳欲妇三级k8 | 午夜宅男网 | 天天夜夜草草久久伊人天堂 | 日本三级在线观看免费 | 欧美亚洲视频在线观看 | 欧美日韩一二三区免费视频观看 | 欧美男男gaygaysxxx | 超级乱淫 不详 | 久久黄色录像 | 乌克兰肥熟 | 精新精新国产自在现 | 免费xxxxx大片在线观看影视 | 香蕉人人超人人超碰超国产 | 国产午夜亚洲精品一区网站 | 无遮掩60分钟从头啪到尾 | 亚洲精品卡一卡2卡3卡4卡 | 国产网站免费在线观看 | 青青草伊人久久 | 精品福利视频一区二区三区 | 波多野给衣一区二区三区 | 火影小南被爆羞羞网站 |