顯示具有 java 標籤的文章。 顯示所有文章
顯示具有 java 標籤的文章。 顯示所有文章

2015-02-25

Check JDK version within Win7

Command: javac -version


2014-03-06

Java print UTF8 in Traditional Chinese

Compile Java source in Command Prompt Mode (Dos mode)

Command:
# javac -encoding UTF8 JungleTest1.java
# java JungleTest1



//===== Example Code =======



2014-03-05

Java assignment operator

Code Example1
//===============================
public class AssignTest {
public static void main(String [] args) {
int a = 1;

System.out.println( a += 2 );
System.out.println( a -= 1 );
System.out.println( a *= 22 );
System.out.println( a /= 7 );
System.out.println( a %= 3 );
}
}
//===============================

Output
//===============================
3          // a=1, 1 與等號右邊的 2 相加後的值指派給變數 a, 此時 a 為 3.
2          // a=3, (3-1=2), 所以此時 a 為 2.
44        // a=2, (2*22=44), a = 44.
6          // a=44, (44/7=6), a = 6.
0          // 餘數???
//===============================

Note: 單一等號 (=) 為表示指派, 連續兩個等號 (==) 表示相等性.


Code Example2
//===============================
public class ForDemo1 {
public static void main( String [] args ) {
int sum = 0;
int i;

for ( i = 1; i <= 10; i++ ) {
sum += i;
}
   System.out.println("1+2+...+99+10=" + sum);
}
}
//===============================

Output
//===============================

1+2+...+9+10=55

//===============================

算式拆解 ( sum += i )

???



2014-03-04

Java Reserved Word (保留字/關鍵字)


abstract continue for new switch
assert*** default goto* package synchronized
boolean do if private this
break double implements protected throw
byte else import public throws
case enum**** instanceof return transient
catch extends int short try
char final interface static void
class finally long strictfp** volatile
const* float native super while

2014-02-27

Java example code for "For Loop"

編解碼的轉換

公式:
y = a * x + b
m = y % n
r = m + diff


y: a * x + b
x: 字元的原始編碼.
a: 為 unicode 編碼 97 ( Variable a ), 隨機整數 0~9.
b: 依次遞增 1 ( Variable b ), 隨機整數 0~9.

m: 餘數, 由 y 除以 n 的餘數取得, 值應在 0~25 之間的整數.
n: 所要轉換的字元數量, 值為 26 (英文字母數). n 為重複 26次.

r: 結果
diff: unicode 編碼系統的差值 97, 因為英文字由 a 取得開始.

由上, 因此餘數 0 的字元會為 a, 餘數 1 的字元會為 b, 餘數 2 的字元為 c, ...., 依此類推.
到餘數 25 字元應為 z.








Java 的二三事 - 迴圈 loop

迴圈要項
  • 設定控制變數 Control Variable
  • 條件 Condition
  • 調整控制變數值 Control Value
Example for While:
//========== -begin- =============
public class WhileTest {
   public static void main (String [ ] args) {
         int i  = 10;                                                 //==> 設定控制變數
         while (i > 0) {                                            //==> 條件
              System.out.println (i);
              i --;                                                      //==> 調整控制變數 (由 i 值遞減)
          }
    }
}
//========== -end- ==============

Example for For:
//========== -begin- =============
public class ForTest {
     public static void main ( String [ ] args ) {
           for ( int i = 10; i > 10; i-- ) {                    //==> 要項全寫在小括弧內.
                System.out.println ( i );
           }
      }
}
//========== -end- ==============

Example output:
10
9
8
7
6
5
4
3
2
1

習慣於 While 與 For 的使用

for 迴圈通常用於具有明確重複次數的迴圈.
      因為全部的控制機制都放在 for 之後的小括弧中.

while 迴圈用法為較不明確的重複次數.
        程式通常被設計成一直等待使用者的輸入, 迴圈才會結束.




2014-02-25

Java 的二三事 - 運算子 operator

07- 等號 ( = ), 屬於指派運算子, 就是把等號右邊的值給左邊的 variable (變數), 如果右邊是 object (物件) , 變數就會得到物件的參考.

  • int a = 11;
  • a += 33;  // 11+33, a 等於 44.
  • a -= 22;  // a 為 44, 故 44-22=22, a 等於 22.
  • a *= 11;  // a 為 22, 故 22 * 11 = 242 , a 等於  242.
  • a /= 44;  // a 為 242, 故 242 / 44 = 5.5, a 取得的整數為 5.
  • a %= 55;  / a 等於 5 (% 是餘數, 但不曉得怎求得 ???)

06- boolean 與 關係運算子的 true & false
  • int a = 11;
  • int b = 22;
  • boolean c = a >= b; // a 非小於或等於 b, 所以 c 等於 false.
  • boolean d = a <= b; // a 是小於或等於 b, 所以 d 等於 true.
  • boolean e = c == d; // c 是 false, 而 d 是 true,  故 c 不等於 d, 所以 e 等於 false.
  • boolean f = a != b; // a 確實是不等於 b, 所以 f 等於 true.
05- ( ! ) 邏輯補數運算子, 會把 true 變成 false, false 變成 true.
  • boolean a = true;
  • boolean b = !a // a is true --> b becomes false
  • boolean c = !b // b becomes false --> c is true
04- 每一行程式皆以分號 ( ; ) 結尾, 以分號結尾的程式碼稱為 statement (陳述).

03- variable 變數 - 同 method 方法.

02-  method 方法 - 以英文小寫開頭, 若有多個英文單字組成, 則採取小寫駝峰型撰寫 (lower camel case). example: hellowWorld.

01- class 類別 - 以英文大寫開頭, 若有多個英文單字組成, 則採取大寫駝峰型撰寫 (upper camel case). example: HellowWorld

Java 中英文術語對照

control variable - 控制變數
condition - 條件

infinite loop - 無窮迴圈
for loop - for 迴圈
while loop - while 迴圈

expression -  運算式
operand - 運算元
operator - 運算子

declare - 宣告
identifier - 識別字
statement - 陳述
local variable - 區域變數
method invocation - 方法呼叫

class - 類別
field - 屬性
constructor - 建構子
method - 方法
string - 字串

variable - 變數
object - 物件
literal - 字面常數
subclass - 子類別
superclass - 父類別

boolean value - 布林值
integer - 整數
inherit - 繼承
inheritance - 繼承
thread - 執行緒

Java basic data types, objects

資料型態 Data Type (8)

關鍵字 (keyword) ----- 型態類型 (type) ----- 位元數 (bits) ==> Example

byte ----- 整數 ----- (8bits)
short ----- 整數 ----- (16bits)
int ----- 整數 ----- (32bits) ==> int a = 2;
long ----- 整數 ----- (64bits)

float ----- 浮點數 ----- (32bits)
double ----- 浮點數 ----- (64bits) ==> double a = 2.0;
boolean ----- 布林值 ---- (1bit) ==> boolean a = trun;
char ----- 字元 ---- (16bits) ==> char a = '2';


物件 Object (11)

回傳型態 (return types) ---- 名稱 (name) ----- 功能 (feature)

Object ----- o.clone() ----- 複製回傳 o 本身的拷貝
boolean ----- o.equals(Object obj) ------ 判斷 obj 是否與 o 相同
void ------ o.finalize() ----- 呼叫資源回收者檢查此物件是否應該被回收
Class<?> ----- o.getClass() ----- 回傳類別名稱
int ----- o.hashCode() ----- 回傳物件的雜湊碼
void ----- o.notify() ----- 喚醒等待中的單一執行緒 (thread)
void ----- o.notifyAll() ----- 喚醒等待中的所有執行緒
String ----- o.toString() ----- 回傳物件的字串表達形式
void ----- o.wait() ----- 使 o 的執行緒進行等待
void ----- o.wait(long timeout) ----- 使 o 的執行緒進行等待
void ----- o.wait(long timeout, int nanos) ----- 使 o 的執行緒進行等待


2014-02-17

JAVA 的存取修飾元


[修飾元] - [權限]

public - 皆可存取
private - 在相同的 class 才可以存取
default - 在相同的 package 的 class 才可以存取
protected - 在相同的 package 的 class 才可以存取. 不同的 package, 需有繼承關係才可.

2014-02-06

JAVA Programming Reference from Web


Serial Communication in JAVA with Example Program / Link

Ken Yang 筆記 / Link

Eclipse 簡介與教學 / Link


2013-12-02

JAVA Example - Telnet Client

Required Library: apache.commons.net


========================================

import org.apache.commons.net.telnet.TelnetClient;

import java.io.InputStream;
import java.io.PrintStream;

public class AutomatedTelnetClient {
    private TelnetClient telnet = new TelnetClient();
    private InputStream in;
    private PrintStream out;
    private String prompt = "%";

Java - Input library of "apache.commons.net" to IDE Eclipse.

1-
由下面連結下載 "commons-net-3.3-bin.zip".
http://commons.apache.org/proper/commons-net/download_net.cgi

2-
解壓縮 commons-net-3.3-bin.zip

3-
Execute Eclipse --> create a new java project

4-
Left click on project --> Build Path --> Configure Build Path...
On Libraries tab --> Add External JARs...
Browse a file "commons-net-3.3.jar" where you put on.



5-
A Library "commons-net-3.3.jar" should listed on left side Project Explorer.

2013-08-07

JAVA JVM/JRE 1.7.0_21 witin Firefox 17.0.5 on CentOS-55

# cd /usr/lib/mozilla/plugins

# ln -s /usr/java/jre1.7.0_21/lib/i386/libnpjp2.so

RELOAD FIREFOX

JAVA JRE 1.7.0_21 installation on CentOS-55


# cd /usr/java

# mv jre-7u21-linux-i586.tar.gz .

# tar xzvf jre-7u21-linux-i586.tar.gz (path: /usr/java/jre1.7.0_21)

# cd /usr/local/bin

# mv java java_old (or remove previous JRE version)

# ln -s /usr/java/jre1.7.0_21/bin/java

# cd /usr/bin

# ln -s /usr/java/jre1.7.0_21/bin/java

FINISH