數(shù)據(jù)類型
強(qiáng)類型語言
要求變量的使用要嚴(yán)格符合規(guī)定朱盐,變量要先定義后才能使用 如 Java c
安全性好群嗤,處理速度慢
弱類型語言
JS和VB也是弱類型語言
例如'12'+3 = 123字符串和整型可以直接計(jì)算的
python swift 寫起來是真的舒爽,大三上期安了個(gè)黑蘋果寫IOS應(yīng)用開發(fā)兵琳,就感覺自由度高的很狂秘,分號都不用寫。但最后還是覺得java這種把變量規(guī)定好的舒適度高躯肌,不會(huì)讓人摸不著頭腦者春。
Java的數(shù)據(jù)類型
基本類型(Primitive Type)
-
整數(shù)類型
byte -128-127
short -32768-32767
int -2147483648-2147483647 正負(fù)21億
long 太長了不想寫 在數(shù)字后面加L
整數(shù)拓展
進(jìn)制
int i =10; int i2 = 010; // 八進(jìn)制 0 int i3 = 0x10;// 十六進(jìn)制 0x //輸出i i2 i3 10 8 16
-
浮點(diǎn)類型
float:4個(gè)字節(jié) 在數(shù)字后面加F
? 有限 離散 有舍入誤差 大約 接近但不等于
? 所以 最好完全避免使用浮點(diǎn)數(shù)進(jìn)行比較double:8個(gè)字節(jié)
浮點(diǎn)數(shù)拓展
//銀行業(yè)務(wù)怎么表示? BigDecimal //一個(gè)數(shù)學(xué)工具類
-
字符類型
char:2個(gè)字節(jié)
字符拓展
String sa = new String("hello world"); String sb = new String("hello world"); sa≠sb String sc = "hello world"; String sd = "hello world"; sc=sd //new一個(gè)內(nèi)存就會(huì)創(chuàng)建一塊空間(字符串常量池)清女,和JVM相關(guān) 所以不相等钱烟,字符串比較要用equals() //對象 從內(nèi)存進(jìn)行分析
-
布爾類型
boolean類型:1 0 ;true false
引用類型(Reference Type)
類
String 字符串
Integer MIN_VALUE = 0x80000000 -2的31次方
MAX_VALUE= 0x7fffffff 2的31次方-1
Byte
接口Interface
數(shù)組ArrayList
JAVA的類型轉(zhuǎn)換
//容量
低------------------------------------->>高
byte嫡丙,short拴袭,char->int->long->float->double
在數(shù)據(jù)運(yùn)算中,不同類型的數(shù)據(jù)先轉(zhuǎn)化為同一類型曙博,然后再進(jìn)行運(yùn)算拥刻。
不能對布爾值進(jìn)行轉(zhuǎn)換
不能把對象類型轉(zhuǎn)換為不相干的類型
轉(zhuǎn)換的時(shí)候可能存在內(nèi)存溢出或者精度問題
強(qiáng)制類型轉(zhuǎn)換(高--低)
(類型)變量名
int i = 128;
byte b = byte(i);
//i = 128;b = -128
//============================
int(23.7);
int(-45.89f)
//i = 23; i = -45
自動(dòng)類型轉(zhuǎn)換(低--高)
int i = 128;
double b = i;
//i = 128;b = 128.0