一、一元算數(shù)運(yùn)算
先看下面一段簡單的代碼:
class TestOpr
{
public static void main(String [] args)
{
byte b = 6;
byte b1 = -b;
}
}
運(yùn)行之后會顯示如下信息:
其中腮郊,“ byte b = 6; ”是合法的,而“ byte b1 = -b; ”是一個(gè)問題。一元運(yùn)算符“ - ”的結(jié)果是具有int類型的纹坐,而代碼中試圖把一個(gè)int變量分配給一個(gè)byte變量,那么舞丛,編譯將會運(yùn)行失敗耘子。那么要是將“ byte b1 = -b; ”改成“ long b1 = -b; ”果漾,也就是說改成數(shù)據(jù)類型寬于int類型的如long、float谷誓、double等類型绒障,就可以編譯通過。
這雖然是一個(gè)小問題捍歪,但是細(xì)節(jié)決定成敗户辱,我學(xué)習(xí)Java的時(shí)間不太長,但是覺得把基礎(chǔ)打好糙臼,是十分有必要的庐镐,尤其是細(xì)節(jié)的東西一定要注意。因?yàn)槲矣X得Java里好多都是這種細(xì)節(jié)問題变逃”啬妫基礎(chǔ)打好了,以后深入學(xué)習(xí)才能手到擒來揽乱。其實(shí)這和我們做人是一樣的名眉,如果一個(gè)人在細(xì)節(jié)上總是出問題,那么這個(gè)人是無法成就大事的凰棉。
二璧针、高效運(yùn)算
計(jì)算機(jī)讓我們減少了很多繁重復(fù)雜而重復(fù)枯燥的事情,那么渊啰,如何讓計(jì)算機(jī)更高效的運(yùn)算呢探橱?
下面是一道測試題:如何最有效率的算出2和8的乘積?
看了視頻都知道可以使用位運(yùn)算進(jìn)行計(jì)算绘证,為什么這是最高效的呢隧膏?
大家都知道計(jì)算機(jī)底層是二進(jìn)制的運(yùn)算,位運(yùn)算同樣也是二進(jìn)制的運(yùn)算方式嚷那,由于和底層運(yùn)算方式相同胞枕,所以是十分高效的,下面是我在DOS命令行中測試的結(jié)果:
源代碼:
//測試哪種方式是高效運(yùn)算
class Benchmark1
{
public static void main(String [] args)
{
long startTime = System.currentTimeMillis(); //System類中的currentTimeMillis()方法獲取當(dāng)前時(shí)間(毫秒)
long endTime = startTime + 60000; // 1 分鐘 = 60 000 毫秒
long ind = 0; //計(jì)數(shù)器及元數(shù)據(jù)
System.out.println(startTime + "," + endTime);
while(true)
{
int m = 2 << 3;
long now = System.currentTimeMillis();
if(now > endTime){ //判斷是否一分鐘魏宽,并結(jié)束循環(huán)
break;
}
ind++;
}
System.out.println("計(jì)算機(jī)在一分鐘內(nèi)運(yùn)行了" + ind + "次循環(huán)腐泻。");
}
}
class Benchmark2
{
public static void main(String [] args)
{
long startTime = System.currentTimeMillis(); //System類中的currentTimeMillis()方法獲取當(dāng)前時(shí)間(毫秒)
long endTime = startTime + 60000; // 1 分鐘 = 60 000 毫秒
long inde = 0; //計(jì)數(shù)器及元數(shù)據(jù)
System.out.println(startTime + "," + endTime);
while(true)
{
int n = 2 * 8;
long now = System.currentTimeMillis();
if(now > endTime){ //判斷是否一分鐘,并結(jié)束循環(huán)
break;
}
inde++;
}
System.out.println("計(jì)算機(jī)在一分鐘內(nèi)運(yùn)行了" + inde + "次循環(huán)队询。");
}
}
測試結(jié)果:
結(jié)果還是有一定效果的派桩,(可能是本人電腦配置不太高啊,運(yùn)行速度還沒走在時(shí)代的最前沿吧蚌斩,嘿嘿)
希望這篇文章能夠帶給像我一樣的新手一些啟示铆惑,希望多多批評指正,謝謝!T蔽骸丑蛤!