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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久亚洲电影www电影网 | 亚洲精品www久久久久久久软件 | 插鸡网站 | 91亚洲成人 | 日本暖暖在线视频 | 免费观看的毛片 | 肉肉小说在线阅读 | 欧美一级乱妇老太婆特黄 | 日本sss在线高清观看 | 女人pp被扒开流水了 | 欧美性黑人巨大gaysex | 五月一区二区久久综合天堂 | 超级乱淫寡妇 | 乌克兰一级毛片 | 99视频久久精品久久 | 亚洲sss综合天堂久久久 | 欧美国产日产精品免费视频 | 亚洲欧美日韩成人一区在线 | 亚洲精品国偷拍自产在线观看蜜臀 | 日本草草视频在线观看 | 网站在线播放 | 久久中文字幕乱码免费 | 国产大片免费在线观看 | 任我鲁精品视频精品 | sao虎影院桃红视频在线观看 | 无码一区国产欧美在线资源 | 亚洲天堂男人的天堂 | 欧美乱强| 国产成人精品777 | 国产成人免费视频 | 五月婷婷在线播放 | 果冻传媒在线视频播放观看 | 97影视| 国产小视频在线免费 | 欧美性4khd720 | 欧美一区二区三区免费看 | 金莲你下面好紧夹得我好爽 | 国产一区二区三区四卡 | 欧美高清在线 | 4444亚洲国产成人精品 | 国产高清在线播放免费观看 |