先看一段代碼 public class Hello{ public static void main(String[] args){ int i = 5 , j = 2; System.out.PRintln(i+j); System.out.println(i-j); System.out.println(i*j); System.out.println(i/j); } }
編譯運(yùn)行完上面的代碼后會(huì)得到各條指令運(yùn)行的結(jié)果:7,3,10,2 這就是java里面的加減乘除運(yùn)算,為什么5除以2不等于2.5而等于2呢?這是因?yàn)檫@里做的是整數(shù)的四則運(yùn)算,5除以2的結(jié)果是2,而余數(shù)為1,我們可以在上面的代碼上加上一條指令System.out.println(i%j); 運(yùn)行這個(gè)結(jié)果就會(huì)得到余數(shù) 1,這個(gè) “%”執(zhí)行的求余,或者叫取模。 想要得到5/2=2.5這個(gè)結(jié)果,我們需要改變對(duì)i和j的定義 把 int i = 5 , j=2; 改寫(xiě)成double i =5 , j = 2; 再編譯運(yùn)行一次,會(huì)得到如下的結(jié)果: 7.0 , 3.0 , 10.0 , 2.5. 可以看到結(jié)果都發(fā)生了變化,變成了帶小數(shù)點(diǎn)的,我們稱(chēng)之為浮點(diǎn)型常量。跟前面的例子一樣,我們也使用了這樣的定義方法 int i = 5,j = 2; Scanner s = new Scanner(System.in); 前面說(shuō)過(guò),我們?cè)谶@里是定義了一個(gè)Scanner類(lèi)型的引用變量,它指向一個(gè)Scanner對(duì)象,但是這里跟以前有點(diǎn)不一樣(大概是java中僅有的幾處不一樣的地方了),我們定義了一個(gè)int型的變量i,然后把它的值賦成5(不是指向5),以后用到它的地方就相當(dāng)于在用5做計(jì)算。int是我們常用到八種基本數(shù)據(jù)類(lèi)型之一,它表示整數(shù)型。在JAVA中一共有八種基本數(shù)據(jù)類(lèi)型,他們分別是 byte、short、int、long、float、double、char、boolean。 整型 其中byte、short、int、long都是表示整數(shù)的,只不過(guò)他們的取值范圍不一樣 byte的取值范圍為-128~127,占用1個(gè)字節(jié)(-2的7次方到2的7次方-1) short的取值范圍為-32768~32767,占用2個(gè)字節(jié)(-2的15次方到2的15次方-1) int的取值范圍為(-2147483648~2147483647),占用4個(gè)字節(jié)(-2的31次方到2的31次方-1) long的取值范圍為(-9223372036854774808~9223372036854774807),占用8個(gè)字節(jié)(-2的63次方到2的63次方-1) 可以看到byte和short的取值范圍比較小,而long的取值范圍太大,占用的空間多,基本上int可以滿(mǎn)足我們的日常的計(jì)算了,而且int也是使用的最多的整型類(lèi)型了。 在通常情況下,如果JAVA中出現(xiàn)了一個(gè)整數(shù)數(shù)字比如35,那么這個(gè)數(shù)字就是int型的,如果我們希望它是byte型的,可以在數(shù)據(jù)后加上大寫(xiě)的B:35B,表示它是byte型的,同樣的35S表示short型,35L表示long型的,表示int我們可以什么都不用加,但是如果要表示long型的,就一定要在數(shù)據(jù)后面加“L”。