十一過(guò)了一大半,接連兩天貓?jiān)谶@個(gè)小屋里,陪伴我的,我的電腦,不出門(mén)一步。沒(méi)有言語(yǔ),感覺(jué)不錯(cuò),安靜,安靜,繼續(xù)下去不錯(cuò),我喜歡安靜,安安靜靜的,安安靜靜的,頭疼,頭疼的厲害,呵呵,睡覺(jué),看書(shū),看新聞,看電影,吃。呵呵
今天是十一前的最后一天上課,講了java的JDBC,和在C# 中學(xué)的ado.net差不多,所以感覺(jué)還比較簡(jiǎn)單。
中午和老師呆了一中午,哈哈,他說(shuō)我不夠用功,呵呵,我也不知道,是不是,他說(shuō)我是這個(gè)班第一的,但是下的力氣還不夠,
呵呵夸獎(jiǎng)了,我也就這點(diǎn)能耐了。
希望十一沒(méi)有什么事發(fā)生。。。。
痛苦啊,我的一切都變了,變得蒼白,哎,說(shuō)這有什么用呢〉?想啊 想啊,沒(méi)有辦法,沒(méi)有出路。。。。
晚上回來(lái)給家打了電話,說(shuō)不回去了,我知道娘還是很想讓我回去,我想了很久,路上,上課時(shí),老走思,真的不想回去,我怕,我怕看到他們,不知道說(shuō)些什么,不知道怎么回答他們的問(wèn)題,甚至都害怕打電話,想發(fā)個(gè)短信算了,看到那些幸福的人,確實(shí)會(huì)有兩秒鐘的羨慕,呵呵,也許我真的冷了,不是也許,真的,我究竟為了什么,沒(méi)有了方向,沒(méi)有了憧憬,呵呵,又老調(diào)重彈了,哎....
有時(shí)候她跟我說(shuō)起我們的事,我們的回憶,我們的曾經(jīng),我一看就想哭,我知道她給我發(fā)短信時(shí)也一定哭了,可我不能哭,人家會(huì)以為我是神經(jīng)病,騎車從一堆等公交的人群中經(jīng)過(guò),不知道又沒(méi)有人注意我,呵呵,她在跟我說(shuō)這些的時(shí)候,我又能說(shuō)些什么呢,我又能怎么樣呢?嗚嗚,她說(shuō)這些話只能跟我說(shuō),可我沒(méi)人能跟誰(shuí)說(shuō),我跟誰(shuí)說(shuō)呢,自己往肚子里咽吧,她說(shuō)我冷血,變了,可我又能怎么樣呢,我整天面對(duì)這些事我會(huì)活不下去的,我只能轉(zhuǎn)移注意力,想點(diǎn)別的,當(dāng)我想哭的時(shí)候,就使勁的讓自己想些別的,想些別的,是啊,這一切又是我一手造成的,哈哈,又能怪誰(shuí)呢,自己憋著吧,不知道我能承受多久,活的好累,只是可憐可憐的她。
我的皇上太上皇,你們讓我以后活在心債里無(wú)法自拔,我無(wú)臉見(jiàn)我的朋友同學(xué),他們會(huì)罵我是狼心狗肺,禽獸不如,我想終有一天,你們會(huì)認(rèn)識(shí)到你們的認(rèn)識(shí)是錯(cuò)誤的,是錯(cuò)誤的,可到那時(shí),可能什么都晚了,請(qǐng)?jiān)徍屠斫馕覍?duì)你們的冷淡,我也不想,可我...,我不想讓任何人傷心,我想讓任何人都覺(jué)得我很乖很聽(tīng)話很可靠,可我 ...,我以為她不會(huì)那么的....,可我...,......................................我究竟為了什么?/。
好了,又借此機(jī)會(huì)發(fā)了一通牢騷,是啊,說(shuō)出來(lái)些,心里會(huì)舒服一些,早就想寫(xiě)寫(xiě)了因?yàn)闆](méi)有人可說(shuō)也不會(huì)說(shuō),因?yàn)闆](méi)時(shí)間,呵呵,順著太陽(yáng)起落,伴著隨風(fēng)起舞漫無(wú)目的的蒲公英飛阿飛阿,它也不知道它會(huì)飛多久,飛到哪去,落在哪,成為一個(gè)低級(jí)動(dòng)物。
今天挺無(wú)聊的,講了些集合的相關(guān)類,map,list,set,有點(diǎn)不知道他們的具體用途,下午講了基本的一些sql語(yǔ)句,沒(méi)意思!
今天沒(méi)什么新東西,做了一天記事本,真不知道老師是怎么計(jì)劃的,基本功能都實(shí)現(xiàn)了,剛剛把查找弄了個(gè)差不多,想了半天怎么在FindDialog類里面操作記事本Frame類里面的TextArea,首先想用FindDialog的perent來(lái)調(diào)用,因?yàn)镕indDialog的父窗口式Frame,結(jié)果行不通,還是用最初想到的,在初始化FindDialog的時(shí)候給它的構(gòu)造函數(shù)一個(gè)Frame里TextArea的一個(gè)引用,然后再FindDialog里操作它,果真這樣能行,不知道還有沒(méi)有更好的辦法。
發(fā)現(xiàn)java一些更深入的東西老師都沒(méi)講,老師太注重實(shí)戰(zhàn),理論講的不夠深入,只是講這東西怎么用,至于它的原理機(jī)制就涉及到的很少了,只能回去自己看書(shū)了。
有一天過(guò)去了,今天真正認(rèn)識(shí)了Jbuilder2005的面目,上來(lái)就給我了個(gè)下馬威,自動(dòng)提示功能不能用,在老師的建議下沖撞Jbuilder,結(jié)果還是不行,再重裝,還不行,哈哈,無(wú)意中發(fā)現(xiàn)是輸入法的問(wèn)題,狂暈。
上面全是英文,然后金山詞霸還不能用,真是讓我有些頭疼,看來(lái)要想駕馭它還是得好好學(xué)英文了,跟著老師對(duì)這家伙作了一些設(shè)置,給的感覺(jué)就是跟VS.Net的易用性差遠(yuǎn)了,天上地下,代碼自動(dòng)生成不夠智能,丟代碼,試圖頁(yè)面不正常顯示,切換不靈活,添加控件不方便的很,控件屬性修改也不好使,唉我就不說(shuō)了,再有就是這東西吃內(nèi)存太厲害,512有點(diǎn)吃力了,看來(lái)我是急需買(mǎi)內(nèi)存了,嗚嗚!
通過(guò)昨天晚上和今天的努力,把貪吃蛇游戲基本上做出來(lái)了,按照軟件設(shè)計(jì)的一般思路,構(gòu)建合理的類,有Frame類,Panel類,Snake類,F(xiàn)ood類,各負(fù)其責(zé)。當(dāng)然了,實(shí)現(xiàn)的只是基本功能,不能跟實(shí)際的游戲相比,了解的是一種思路,這就是經(jīng)驗(yàn)。
2006-9-26 星期二
今天又接著學(xué)習(xí)了一些swing里的控件,都是以前在C#里熟悉的,用起來(lái)還比較順手,老師讓我更注意一些變成風(fēng)格,低耦合高內(nèi)聚,好專業(yè)的詞匯,剛剛理解了一些它的含義。
上午迫不及待的打開(kāi)JBuilder2005瀏覽了一番,看了看它自動(dòng)生成的代碼,突然想到,java里沒(méi)有委托么???反正在目前所見(jiàn)到的代碼里面沒(méi)有這東西,在C#里是利用委托實(shí)現(xiàn)事件關(guān)聯(lián)的,在java里是用繼承監(jiān)聽(tīng)適配器或?qū)崿F(xiàn)監(jiān)聽(tīng)器接口,然后用addActionListener方法添加給按鈕之類的控件,而這個(gè)addActionListener方法其又是怎樣實(shí)現(xiàn)的呢???
今天又接著學(xué)習(xí)了一些swing里的控件,都是以前在C#里熟悉的,用起來(lái)還比較順手,老師讓我更注意一些變成風(fēng)格,低耦合高內(nèi)聚,好專業(yè)的詞匯,剛剛理解了一些它的含義。
上午迫不及待的打開(kāi)JBuilder2005瀏覽了一番,看了看它自動(dòng)生成的代碼,突然想到,java里沒(méi)有委托么???反正在目前所見(jiàn)到的代碼里面沒(méi)有這東西,在C#里是利用委托實(shí)現(xiàn)事件關(guān)聯(lián)的,在java里是用繼承監(jiān)聽(tīng)適配器或?qū)崿F(xiàn)監(jiān)聽(tīng)器接口,然后用addActionListener方法添加給按鈕之類的控件,而這個(gè)addActionListener方法其又是怎樣實(shí)現(xiàn)的呢???
Java高級(jí)第一天,呵呵
今天初步接觸了swing
感覺(jué)swing里的那些組建才更像C#.net里的那些,用法阿,功能,特點(diǎn)阿
Awt有些笨拙難看,swing也不好。
難道這樣是為了在各種系統(tǒng)中兼容〉?/ ,呵呵,要是這樣只能求其最小公分母了。
感覺(jué),的確是C# 要更勝一籌,可能是C#站在java的肩膀上進(jìn)行了改進(jìn)進(jìn)行了增補(bǔ)修改,越來(lái)越完善越來(lái)越強(qiáng)大嘛。
話說(shuō)回來(lái),java更底層一些,所有要實(shí)現(xiàn)的東西越來(lái)越抽象,抽象到要實(shí)現(xiàn)一個(gè)效果只需要調(diào)用一個(gè)現(xiàn)成的方法就可以了,用戶也不用明白其是怎么實(shí)現(xiàn)的,越來(lái)越傻瓜式變成,在這方面C# 要先進(jìn)些。
多了解一些底部的東西,以后好容易進(jìn)步,知其然更知其所以然,哈哈。
今天初步接觸了swing
感覺(jué)swing里的那些組建才更像C#.net里的那些,用法阿,功能,特點(diǎn)阿
Awt有些笨拙難看,swing也不好。
難道這樣是為了在各種系統(tǒng)中兼容〉?/ ,呵呵,要是這樣只能求其最小公分母了。
感覺(jué),的確是C# 要更勝一籌,可能是C#站在java的肩膀上進(jìn)行了改進(jìn)進(jìn)行了增補(bǔ)修改,越來(lái)越完善越來(lái)越強(qiáng)大嘛。
話說(shuō)回來(lái),java更底層一些,所有要實(shí)現(xiàn)的東西越來(lái)越抽象,抽象到要實(shí)現(xiàn)一個(gè)效果只需要調(diào)用一個(gè)現(xiàn)成的方法就可以了,用戶也不用明白其是怎么實(shí)現(xiàn)的,越來(lái)越傻瓜式變成,在這方面C# 要先進(jìn)些。
多了解一些底部的東西,以后好容易進(jìn)步,知其然更知其所以然,哈哈。
今天繼續(xù)學(xué)習(xí)java的swing,打開(kāi)文件,保存文件的類和方法,練習(xí)又快又好的編碼。今天沒(méi)什么好說(shuō)的,呵呵,現(xiàn)在都是手動(dòng)寫(xiě)代碼,能夠了解它的結(jié)構(gòu)和思想,寫(xiě)java的那些天才程序員簡(jiǎn)直太厲害了,呵呵。
用學(xué)到的知識(shí)實(shí)現(xiàn)了打開(kāi)文件,保存文件,感覺(jué)設(shè)計(jì)一個(gè)好的結(jié)構(gòu)簡(jiǎn)直太重要了,不知道JBuilder自動(dòng)生成的代碼什么樣子,呵呵!
哦忘了說(shuō)了,今天下雨了,給我的感覺(jué)就是車堵的更厲害了,占滿了路的每一個(gè)角落,該想想辦法了,瞎操心,呵呵。
還是那樣的郁悶,沉重,就好像那些遞歸方法,漢諾塔?不容易理清,不容易走出來(lái),呵呵,我現(xiàn)在是在while(true){}里面,找不到合適的條件走出來(lái),在里面掙扎,掙扎,結(jié)果會(huì)是什么?
為了什么?
用學(xué)到的知識(shí)實(shí)現(xiàn)了打開(kāi)文件,保存文件,感覺(jué)設(shè)計(jì)一個(gè)好的結(jié)構(gòu)簡(jiǎn)直太重要了,不知道JBuilder自動(dòng)生成的代碼什么樣子,呵呵!
哦忘了說(shuō)了,今天下雨了,給我的感覺(jué)就是車堵的更厲害了,占滿了路的每一個(gè)角落,該想想辦法了,瞎操心,呵呵。
還是那樣的郁悶,沉重,就好像那些遞歸方法,漢諾塔?不容易理清,不容易走出來(lái),呵呵,我現(xiàn)在是在while(true){}里面,找不到合適的條件走出來(lái),在里面掙扎,掙扎,結(jié)果會(huì)是什么?
為了什么?
Java基礎(chǔ)最后一天
學(xué)些了網(wǎng)絡(luò)編程,java中的一些類和方法,用套接字Socket編程。
新接觸的東西,有意思。
做了個(gè)小程序,用一臺(tái)機(jī)子做服務(wù)器,實(shí)現(xiàn)多個(gè)人聊天,哈哈,一個(gè)小的聊天室。
接下來(lái)要學(xué)swing了。
學(xué)些了網(wǎng)絡(luò)編程,java中的一些類和方法,用套接字Socket編程。
新接觸的東西,有意思。
做了個(gè)小程序,用一臺(tái)機(jī)子做服務(wù)器,實(shí)現(xiàn)多個(gè)人聊天,哈哈,一個(gè)小的聊天室。
接下來(lái)要學(xué)swing了。
今天是java基礎(chǔ)課的倒數(shù)第二天,學(xué)習(xí)流,當(dāng)初學(xué)C++的時(shí)候,流這部分只是潦草的看了一下,今天學(xué)習(xí)java的流,好家伙,它的類真是多阿,有點(diǎn)理不清,感覺(jué)常用的也就是字節(jié)流和字符流,如果用字節(jié)流就用FileInputStream(FileOutputStream),BufferedInputStream(BufferedOutputStream),用FileReader,FileWriter(BufferedReader,BufferedWriter)可以直接寫(xiě)入字符串。
記得用C#做自動(dòng)生成靜態(tài)頁(yè)面的時(shí)候用到了流的類,當(dāng)時(shí)只是照貓畫(huà)虎實(shí)現(xiàn)了,現(xiàn)在理解的更深入一些。
作了個(gè)小程序,用遞歸的方法實(shí)現(xiàn)給定文件夾內(nèi)的所有文件夾和文件的遍歷
明天最后一天,接觸網(wǎng)絡(luò)編程。
記得用C#做自動(dòng)生成靜態(tài)頁(yè)面的時(shí)候用到了流的類,當(dāng)時(shí)只是照貓畫(huà)虎實(shí)現(xiàn)了,現(xiàn)在理解的更深入一些。
作了個(gè)小程序,用遞歸的方法實(shí)現(xiàn)給定文件夾內(nèi)的所有文件夾和文件的遍歷
明天最后一天,接觸網(wǎng)絡(luò)編程。
今天說(shuō)這個(gè)周日要上課,說(shuō)是為了跟十一假期錯(cuò)開(kāi),想起馬上就要十一了,真不想回家,不想回,郁悶!
不知道這樣下去會(huì)是個(gè)什么樣的結(jié)局,怕,恐懼,不想想這些。
誰(shuí)會(huì)了解,我是個(gè)什么樣的心情。
我都不怎么清楚。
心疼了好久了。深吸氣會(huì)舒服些。
她更可憐,我知道,可我又有什么辦法呢?/嗚嗚......
今天學(xué)習(xí)了applet,java的小應(yīng)用程序,給我的印象它就好像javascript,只不過(guò)要強(qiáng)大一些,呵呵,可以嵌在網(wǎng)頁(yè)里,由瀏覽器執(zhí)行,就像腳本一樣嘛,哈哈
只不過(guò)還不清楚在實(shí)際應(yīng)用中,它具體用在哪。
這可能就是java中特別的部分吧。好好學(xué).
接著學(xué)習(xí)線程。
線程的同步和對(duì)象鎖的概念和使用。
Object類的三個(gè)方法wait()、notify()、notifyAll(),使線程之間通訊。
對(duì)線程還不是能深入的了解,回去看看《java編程思想》的線程章節(jié)。
昨天晚上通過(guò)修改畫(huà)線段的代碼實(shí)現(xiàn)了線段的自動(dòng)移動(dòng),并且通過(guò)方向鍵來(lái)改變方向,就像貪吃蛇的樣子,主要思路就是,通過(guò)將兩個(gè)點(diǎn)組成一條線段,將這些線段加入到ArrayList中,當(dāng)ArrayList的大小達(dá)到設(shè)置的長(zhǎng)度后,每向ArrayList中加入一條線段則從尾部移除一條線段,這樣實(shí)現(xiàn)了線段的移動(dòng)。
接下來(lái),考慮將這條線段,也就是蛇,寫(xiě)成一個(gè)類,它有長(zhǎng)度,控制方向的事件以及移動(dòng)的方法。蛇類的對(duì)象將成為Frame的一個(gè)屬性。考慮中…
另一個(gè)程序,就是抽獎(jiǎng),從十個(gè)數(shù)中隨機(jī)取數(shù),每次取一個(gè),不能重復(fù),這里的關(guān)鍵就是怎樣不重復(fù),就是隨機(jī)生成的數(shù)為數(shù)組的下標(biāo),而后將下標(biāo)對(duì)應(yīng)的值將末尾一個(gè)值調(diào)換,一次類推,隨機(jī)生成數(shù)的范圍將每次縮小1。
由于昨天晚上沒(méi)有休息好,今天的狀態(tài)不是很好,老困,中午吃完飯,抓緊時(shí)間睡,哈哈,下午精神多了。
好了回家。呵呵
接下來(lái),考慮將這條線段,也就是蛇,寫(xiě)成一個(gè)類,它有長(zhǎng)度,控制方向的事件以及移動(dòng)的方法。蛇類的對(duì)象將成為Frame的一個(gè)屬性。考慮中…
另一個(gè)程序,就是抽獎(jiǎng),從十個(gè)數(shù)中隨機(jī)取數(shù),每次取一個(gè),不能重復(fù),這里的關(guān)鍵就是怎樣不重復(fù),就是隨機(jī)生成的數(shù)為數(shù)組的下標(biāo),而后將下標(biāo)對(duì)應(yīng)的值將末尾一個(gè)值調(diào)換,一次類推,隨機(jī)生成數(shù)的范圍將每次縮小1。
由于昨天晚上沒(méi)有休息好,今天的狀態(tài)不是很好,老困,中午吃完飯,抓緊時(shí)間睡,哈哈,下午精神多了。
好了回家。呵呵
今天是新的一周開(kāi)始,通過(guò)上一周的學(xué)習(xí),掌握了一些java最基礎(chǔ)的應(yīng)用。
上午學(xué)習(xí)了異常處理
Java中如果想在一個(gè)方法中拋出異常,必須在方法聲明后加上throws Exception或者具體異常名稱,調(diào)用該方法的方法可以對(duì)異常進(jìn)行處理也可以接著向上拋出。
作了三個(gè)練習(xí),其中漢諾塔的問(wèn)題用遞歸實(shí)現(xiàn)理解起來(lái)比較復(fù)雜:
public class Hanoverian
{
public Hanoverian()
{}
public void calculate(int i,char a,char b,char c)
{
if(i == 1)
{
remove(a,c);
}
else
{
calculate(i-1,a,c,b);
remove(a,b);
calculate(i-1,b,a,c);
}
}
private void remove(char m,char n)
{
System.out.println(m + "->" + n);
}
public static void main(String[] args)
{
Hanoverian myhanoverian = new Hanoverian();
myhanoverian.calculate(10,'a','b','c');
}
}
留下代碼,供以后參考,呵呵!
下午初步學(xué)習(xí)了線程,這是以前接觸比較少的,有很多新知識(shí)
當(dāng)Java程序啟動(dòng)時(shí),一個(gè)線程立刻運(yùn)行,該線程通常叫做程序的主線程(main thread),因?yàn)樗浅绦蜷_(kāi)始時(shí)就執(zhí)行的 。可以把main方法的內(nèi)容理解為主線程的線程體。而其它子線程的線程體是Runnable接口的run方法。Thread類實(shí)現(xiàn)了Runnable接口,我們可以擴(kuò)展Thread類或自寫(xiě)一個(gè)類來(lái)實(shí)現(xiàn)Runnable接口來(lái)完成多程序程序。
我們不會(huì)調(diào)用run方法來(lái)啟動(dòng)線程,必須用start方法
調(diào)用Thread的interrupt()方法可發(fā)送中斷請(qǐng)求,如果線程在休眠或等待狀態(tài)可觸發(fā)一個(gè)異常從而實(shí)現(xiàn)中止線程。
今天是剛剛詳細(xì)接觸線程的有關(guān)知識(shí),還需要更深入的理解。
剛才做了個(gè)例子。如果想使用線程,必須實(shí)現(xiàn)Runnable接口或者繼承Thread類,重寫(xiě)Run方法來(lái)實(shí)現(xiàn),自己的理解。
明天接著學(xué)習(xí)線程。
有了線程就可以做更多事了,哈哈。