資料型別詳解

2022-07-06 21:00:21 字數 2463 閱讀 6612

這裡我們先只介紹一下基本型別,引用型別這裡還沒有講,按照進度慢慢來。

首先我們要知道乙個問題,那就是什麼是位元組?

了解位元組之前,我們還要搞清楚乙個定義,那就是位(bit)。

位(bit):位是計算機內部資料儲存的最小單位,比如11001100就是乙個八位的二進位制數。

二進位制我們都耳熟能詳了,無非就是0、1的組合罷了。那麼這裡的每乙個0和1就是乙個位單位。

位元組(byte):位元組是計算機中資料處理的基本單位,習慣上用大寫的b來表示。

位是資料儲存的單位,另乙個則是資料處理的基本單位。這就好比我們人吃飯一樣,公尺的最小單位是粒,但飯得一口一口的吃,那麼這裡一口就相當於嘴巴處理食物的基本單位了。

1 b(byte,位元組)=8 bit(位)

字元:字元是計算機中使用的字母、數字、字、和符號。

int num1 = 10;  //最常用的一種型別

byte num2 = 20;

short num3 = 30;

long num4 = 30l;  //long型別要在數字後面加個l

除了耳熟能詳的十進位制,我們還有計算機語言的二進位制、八進位制以及十六進製制等等。

在程式語言中,則可以這麼表示:

int i = 10;

int i2 = 010;  //數值前加0表示為八進位制,輸出結果為8

int i3 = 0x10;  //數值前加0x表示為十六進製制,輸出結果為16。

float num5 = 50.2f  //float型別要在數字後面加個f

double num6 = 3.1415926;

那麼,在銀行的訪問款業務中,數字怎麼表示呢?

這裡面的交易有零有整,所以有人會提出說,我們可以用浮點型別float和double來表示!

我們來看這樣乙個例子:

float f = 0.1f;  //輸出結果為0.1

double d = 1.0/10;  //輸出結果為0.1

system.out.println(f==d);  //false

明明是兩個相等的數,怎麼就不等了呢?

再看乙個例子:

float d1 = 2134532456f;

float d2 = d1 + 1;

system.out.println(d1==d2);  //true

加上乙個數值之後,卻又不合理的相等了。

當你使用浮點型別的數進行比較時,就意味著有限、離散、大約、接近但是不相等,因為這裡進行了乙個捨入誤差的操作。

所以最好完全避免使用浮點數進行比較,重要的事情說三遍!

正確的答案應該是bigdecimal,這是乙個數學工具類,後面我們再做乙個詳細了解。

char c1 = 'a';

char c2 = '中';  //這裡的字元既可以是中文字元也可以是英文的

system.out.println(c1);  //a

system.out.println((int)c1);  //強制轉換,輸出結果為97。

system.out.println(c2);  //中

system.out.println((int)c2);  //強制轉換,輸出結果為20013。

所有的字元本質還是數字,基於編碼unicode表:(97 = a,65 = a)

string namea = "冷心dream";

string sa = new string("hello world");

string sb = new string("hello world");

system.out.println(sa==sb);  //false

​string sc = "hello world";

string sd = "hello world";

system.out.println(sc==sd);  //true

因為string不是乙個基本資料型別,而是乙個引用資料型別。所以在比較的時候,如果比較的物件是基本資料型別,則比較的是數值是否一致。如果比較的是引用資料型別,則比較的是物件的位址值是否一致。這就需要從記憶體的角度去考慮了

boolean flag = true; //因為只有兩個結果,要麼對要麼錯,所以用0和1來表示,只占用乙個位元組

//boolean flag = false;

非常感謝狂神老師推出的免費學習**,如果也有願意一起學習的可以看這裡點選跳轉kuangstudy官網

作為一名大三學生,對於自己的未來還是比較迷惘的。而且學的知識也非常有限,我都不知道目前的程式設計技術算不算入門。不過就像老師所說的那樣,再小的帆也能遠航。從現在開始,也許還不晚,我們有緣再見!

資料型別詳解

char 1 個位元組 128 到 127 或者 0 到 255 unsigned char 1 個位元組 0 到 255 signed char 1 個位元組 128 到 127 int4 個位元組 2147483648 到 2147483647 unsigned int 4 個位元組 0 到 4...

資料型別詳解

1.整型 unsigned char取值範圍是0 255,char取值範圍是 128 127 2.浮點型 float型通常是32位,double型通常是64位。3.型別轉換 3.1 整型提公升 integer promotion 如果原始型別的取值範圍都能用int型表示,則其型別被提公升為int,如...

SQL 資料型別詳解

1 char varchar text和nchar nvarchar ntext char和varchar的長度都在1到8000之間,它們的區別在於char是定長字元資料,而varchar是變長字元資料。所謂定長就是長度固定的,當輸入的資料長度沒有達到指定的長度時將自動以英文空格在其後面填充,使長度...