2018年9月12日 星期三

Views

Java使用equal和==的區別



有兩種使用上的差異:

一.字符串的使用有兩種結果

     (1)對於常量String上的宣告,例如:

     String  a1,a2,a3="abc",a4="abc"; 那麼 a1.equals(a2)  // ture,         
     因為兩個變數內容都是abc。其中a3==a4,兩個是字符串生成的變量,所以在Heap區域儲存的值就是真正的內容值。

     (2)但是在
          a1= new String("abc);
          a2 =new String("abc);   那麼a1==a2 // false 因為兩個物件變數參考不同記憶體位置。

二、非字符串使用上應注意

     (1).例如:
         A  a3= new A();
         A  a4= new A();
             在A中沒有重新定義equals這個方法,所以這個方法來自Object類別,
           而Object類別中equals是用來比較"記憶體參考位置"
              所以a3==a4和a3.equals(a4)  //兩個都是false
   
        (2)但是加上
             a3=a4; 表示將a4的記憶位址指派給a3,所以兩物件最後指向同一個記憶體空間。
              此時 a3==a4和a3.equals(a4)  //兩個都是ture        

  Java筆記參考:

2018年9月9日 星期日

Views

陣列屬性和方法



*屬性


int[] a = new int[3];


int[,] b = new int[3, 4];//3樓4戶(三列四行)

Length屬性--取得陣列中陣列元素的個數

"a的Length是:" + a.Length;//輸出3

"b的Length是:" + b.Length;//輸出12 (3*4的關係)

*方法


GetUpperBound方法--取得陣列中某一維度上限


取a的第一維上限(a本來就只有一維,有三個元素a[0],a[1],a[2],故上限是2)

"a的第一維上限是:" + a.GetUpperBound(0=(N-1))

維表示的樓層高度,b[0,1]、b[1,1]、b[2,1],故上限是2

"b的第一維上限是:" + b.GetUpperBound(0));


維表示的有幾戶,b[1,0],b[1,1],b[1,2],b[1,3],故上限是3

"b的第二維上限是:" + b.GetUpperBound(1);



2018年9月8日 星期六

Views

OCAJP7.0 IZ0-803考試心得(2018)

通過OCAJP考試心得分享


背景:

非相關科系,在電腦補習班上兩個月JAVA開發認證課程(2018/07/01),在(2018/09/07)以78%通過考試(標準及格是63%)。

雖然在補習班跟課學習,但是因為每個老師授課方式不同,因此跟認證方向還是會有些許的差距,

所以如何補足這之中差異,就是要花功夫學習的地方。網路上也有朋友分享可透過自學方式,

學習第一個程式語言。不過就以自己學習成效來說,我˙7月第一次接觸JAVA時確實有點鴨子聽雷,

但是到8月份在重新去RUN同一套課程時,突然間就順利很多,後來間接印證一句話:

第一次學哪種語言都好,但對於非本科系學習者好好打底是最重要的 !

考試時間和題目:    

150分鐘/70題,考試中可以利用Mark方式,將不懂題目標記起來,這個按鈕可以讓自己二次

檢查快速查閱,好好善加利用,會讓自己錯誤率降低很多。

用書參考:

1.猛虎出閘雙劍合璧版:

主要是做後面考古題,在803部份共有125題,但是以我這次考試比例來說,

考古題涵蓋率這本書大約只有2~3成,所以前面的各章節的觀念複習就很重要,還好自己在唸

考古題時,我的安排是以一天唸十題(依照自己學習吸收狀況調整)方式去複習觀念,

然後不懂地方,會翻到前面章節去複習觀念,再不懂為什麼,一定會實際跑語法瞭解觀念。

但今年107年底JAVA SE7就要停考,所以也不太建議買此書,我是請自己弟弟在大學圖書館借書來使用。

2.SCJP6.0認證教戰手冊:

此本書比較適合自學的人,因為範例都是以比較簡單易懂方式呈現,

上面猛虎的書,裡面章節範例就會比較難一點,若是沒有任何程式經驗的人,第一次唸會很難

啃,這本是我是用來輔佐萬一猛虎看不懂,且實際跑了語法還是不懂,這本寶典就會翻出來,

但是這本書是Java SE 6.0有點舊了,主架構還是跟著猛虎走。

論壇使用:

網路大神真得是學習任何東西好所在!!!!

1.推薦JWorld@TW  the best professional java site in Taiwan裡面有很多前輩考照經驗,可以善加利用。https://www.javaworld.com.tw/jute/index.html

2.PPT中的JAVA版,有很多前輩實務應用上的討論。

3.MagicLen的部落格,裡面有很多考古題解題的觀念,真的很棒!
https://magiclen.org/category/major-artical/

考前三天準備方式:

主要是把考古題看熟,全部都要RUN過再去考試,至少看過三次,考試費用一科就要4400元超貴(跟著補習班同學團報價),

若不是為了轉職上學習,錢還真花不下去 ,所以千萬不要浪費了自己的錢,等有把握再去考試。

另外在前三天準備,推薦超級好用幫助複習的軟體,以下是蝦米網友熱心的製作,有興趣的人可以去點擊使用!
(提醒近來考古題涵蓋比率真得不是很高,建議還是要把觀念搞熟再去應戰囉!)
http://timmymike.qov.tw/Java/javaindex.html?i=2

考古題比例:

這次自己推估應該只有五成左右,而且題目的答案會有官方新創的答案跟考古題結合,會讓你一下子判斷不出來;

至於,另外五成就是標準答案一樣,但是選項ABCD會變喔!所以千萬不要傻傻的背答案。

但也有少數朋友說遇到滿多考古題的,答案目前都是兩極化,所以就認真準備每一題就不會錯失啦!

以上就是這次IZ0-803準備上分享啦,希望一個月後自己IZ0-804考試能順利pass!

IZ0-803考試證明,考完15鐘後考試中心就會寄E-mail給我們確認!





2018年8月28日 星期二

Views

比較Java和C#的基本類型轉型


學習兩個多月程式,多多少少也有一些小收穫!

課堂中發現Java和C#的基本資料轉換有類似的概念,因此下完課,覺得有必要將兩個語法轉


換的差異紀錄下來,供以後複習能夠快速回想。


字串轉成數字的基本資料型態:


1.將 String 轉 byte

                              JAVA                               VS                                             C#


byte b = Byte.parseByte("123");              byte[] Array=System.Text.Encoding.Default;

                               JAVA                               VS                                             C#



2.將 String 轉 int

                                                             
                               JAVA                               VS                                             C#

int i = Integer.valueOf("123");                                       int  money =Int32.Parse(textBox1.Text);


int i = Integer.parseInt("123");


3.將 String 轉 float 


                              JAVA                                VS                                             C#


float f = Float.pareFloat("12345");              float rate =float.Parse(textBox2.Text);





4.將 String 轉 Double 


                              JAVA                               VS                                             C#


double a = Double.parseDouble("123");   double rate =Double.Parse(textBox2.Text);


2018年7月20日 星期五

Views

物件導向的程式設計

以生活例子去舉例!讓程式語言更貼近生活圈


主要架構

<1>類別class :在真實世界中對虛擬構想的具體描述
                         ex:設計圖、規格書 
   
       (1)建構元:設定初值

       (2)方法
___________________________________我是分隔線

<2>生成物件object
<3>物件操作

簡單練習題:建立衣服cloth設計圖類別,瞭解目前庫存狀況,並且讓顧客可以選擇設計類別和衣服類型的尺寸!

圖一



  圖一.使用3個import是在程式中,會使用的特殊功能,<1>
     所建的類別為cloth,<2>第16行就是建構元 public cloth(){};
        筆記: 因為BufferedReader讀取的是字串,若要宣告陣列存取就要是第10行的形式,數字陣列宣告為
         int A[]=new int[];
圖二 


     圖五,最後系統匯出的結果。