20120702 J2EE 程式設計二

1.HTML 進階 -- 表格
<table>:畫表格
<tr>:第一橫列(row)
<td>:第一欄 (column)
<!--  註解 -->

範例 1:


<html>
<head>
</head>
<body>
HTML 表格 <a href='../index.html'> 回上一頁 </a>
<hr>
<center><b>第一個表格</b></center>
<table border='1' width='80%' align='center'>
<tr align='center'>
  <td>Row1 C1</td>     <!-- 第一橫列第一格-->
  <td>Row1 C2</td>     <!-- 第一橫列第二格-->
  <td>Row1 C3</td>     <!-- 第一橫列第三格-->
</tr>
<tr align='center'>   <!-- 置中 -->
  <td align='left'>Row2 C1</td>             <!-- 橫列第一格,靠左 -->
  <td bgcolor='yellow'>Row2 C2</td>   <!-- 橫列第格,黃色背景,(預設為置中) -->
  <td align='right'><font color='red'><b>Row2 C3</b></font></td>   <!-- 橫列第三格,靠右,紅色粗體-->
</tr>
</table><br><br>

<table border='5' width='80%' align='center'>
<right><font color='red'><b>第二個表格</b></font></right>
<tr align='right'>
  <td>Row1 C1</td>
  <td>Row1 C2</td>
  <td>Row1 C3</td>
</tr>
<tr align='center'>
  <td align='left'>Row2 C1</td>
  <td bgcolor='orange'>Row2 C2</td>
  <td align='right'><font color='blue'><b>Row2 C3</b></font></td>
</tr>
</table>
</body>
</html>



進階:
<td rowspan='2'>橫列第</td>:合併直欄位
<td colspan='2'> 第三橫列第二格 </td>:合併橫列欄位

課外補充:Frame:窗格(視窗分割)
範例 2:主窗格(index.htm)


<HTML>
<HEAD>
<TITLE>視窗分割範例</TITLE>
</HEAD>
<FRAMESET ROWS='1,8,1' FRAMESPACING='0' NAME='allFrame' border='0'>
<!-- Frameset 設定窗格 -->
<!-- ROWS='1,8,1' 代表將窗格切成上中下3列,以1:8:1顯示 -->
<!-- Framespacing='0' 代表將 窗格 的欄框寬度 -->
  <FRAME SRC='top_win.htm'>
<!-- 第一個窗格,並給予目的端檔案名稱 -->
  <FRAMESET COLS='1,9'>
<!-- 將第二個窗格切成左右2個,以1:9顯示 -->
    <FRAME SRC='center_left_win.htm'>
    <FRAME SRC='' NAME='center_right_win'>
<!-- 第窗格的右窗格, SRC=''顯示,命名為 center_right_win (對應到後面center_left_win.htm 的 target) -->
<!-- 如果這裡不是 SRC='',而是SRC= '../images/1.gif',則會以該圖形的原有像素大小顯示;請參照下方的"應用:表格嵌入到窗格"程式碼 (center_right_win.htm),將 1.gif 做成背景-->
  </FRAMESET>
  <FRAME SRC='bottom_win.htm'>
</FRAMESET>
</HTML>


範例 3:左窗格(center_left_win.htm)

<html>
<head>
</head>
<body>
<a href='http://www.pcschool.com.tw' target='center_right_win'> 巨匠 </a> </br></br>
<!-- 將該連結顯示右窗格,以 target 指定名稱 (對應到前面的NAME) -->
<a href='http://www.tenlong.com.tw' target='center_right_win'> 天瓏 </a> </br></br>
<a href='http://www.winjow.net' target='center_right_win'> 吳老獅 </a> </br></br>
<a href='http://www.winjow.net/butu169' target='center_right_win'> 命相網 </a> </br></br>
</body>
</html>



應用:自行將上面做的表格(table) 嵌入到窗格(frame)中
程式碼 (index.htm):

<HTML>
<HEAD>
<TITLE>視窗分割範例</TITLE>
</HEAD>
<FRAMESET ROWS='1,8,1' FRAMESPACING='0' NAME='allFrame' border='0'>
  <FRAME SRC='top_win.htm'>
  <FRAMESET COLS='1,9'>
    <FRAME SRC='center_left_win.htm'>
     <!-- 將表格(table)嵌入到中間窗格(frame:'center_right_win.htm')中 -->
    <FRAME SRC='center_right_win.htm' NAME='center_right_win'>
  </FRAMESET>
  <FRAME SRC='bottom_win.htm'>
</FRAMESET>
</HTML>


程式碼 (center_right_win.htm):

<html>
<head>
</head>
<!-- 設定窗格( frame:'center_right_win.htm' )的背景為一個 gif 檔案 -->
<body background='../images/1.gif'>
<!-- 將表格(table)嵌入到窗格(frame)中 -->
HTML 表格 <a href='../index.html'> 回上一頁 </a>
<hr>
<center><b>第一個表格</b></center>
<table border='1' width='80%' align='center'>
<tr align='center'>
  <td>Row1 C1</td>
  <td>Row1 C2</td>
  <td>Row1 C3</td>
</tr>
<tr align='center'>
  <td align='left'>Row2 C1</td>
  <td bgcolor='yellow'>Row2 C2</td>
  <td align='right'><font color='red'><b>Row2 C3</b></font></td>
</tr>
</table><br><br>

<table border='5' width='80%' align='center'>
<right><font color='red'><b>第二個表格</b></font></right>
<tr align='right'>
  <td>Row1 C1</td>
  <td>Row1 C2</td>
  <td>Row1 C3</td>
</tr>
<tr align='center'>
  <td align='left'>Row2 C1</td>
  <td bgcolor='orange'>Row2 C2</td>
  <td><font color='blue'><b>Row2 C3</b></font></td>
</tr>
</table>
</body>
</html>




PS:JAVA關鍵字
有53個,在寫程式時不可使用
重要的幾個如下:goto, const, strictfp, volatile, native, transient



2.JAVA 補充 -- collection
虛線以上都是 interface,以下是 class
執行續安全:Vector、Stack

虛線以上都是 interface,以下是 class
執行續安全:Hashtable、Properties

3.JAVA 補充 -- 套件
1.套件宣告:最上層只有一列,可省略
   package tw.com.pcschool.account;
2.套件引用宣告:在package之下,class 之上,可以多列,亦可省略
   import java.lang.*; (預設)
   import java.util.*;
3.public calss Rerport {
}

4.JAVA 補充 -- 產生文件
執行
javadoc .\src\test -d .\docs
就會產生文件

5.JAVA 補充 -- a++  VS ++b

int a =0, b=0;
int x = a++  +  a++  +  a++;
/*
第一個a為0。
+1之後放到第二個 a,所以第二個 a 為1。
然後第二個 a 再 +1之後放到第三個 a,所以第個 a 為2。
最後加總的 X 為 0+1+2=3
*/
int y= ++b  +  ++b  +  ++b;

/*
b先+1後放到第一個 b,所以第一個 b為1
第一個b為1 +1之後放到第二個b,所以第二個b為2。
然後第二個 b 再+1 之後放到第三個 b,所以第個 b 為3。
最後加總的 Y 為 1+2+3 =6。
*/

System.out.println(a);
System.out.println(b);
System.out.println(x);
System.out.println(y);


5.JAVA 補充 -- 數字若未宣告,就預設為int
public class Test {

  public static void main ( String[] args ){
    byte age = 19;
    System.out.println("age = " +19);
    System.out.println("int max: " +Integer.MAX_VALUE);
//    long v =2147483647;  //compile err
    long v =2147483648L;   //一宣告就是 Long,所以OK
//    long v =(long)2147483648;  //compile err  //一宣告還是預設 int,所以要放到 Long 之前就錯誤了,超過 int 的數值大小,放不進去。
    System.out.println("v = " +v);

//    float pi = (float)3.14;    //強制轉型,雖然3.14預設為 int ,因為3.14小於 float,所以OK
    float pi = 3.14F;    //一宣告就是 Float,所以OK
    System.out.println("PI = " +pi);

    byte a=1, b=2;
//    byte c = a+b;  //compile err   //一宣告還是預設 int,所以要加完放到 C 就錯誤了
//    byte c=(byte)(a+b);  //ok
    byte c=0;
    if ( (a+b) <= Byte.MAX_VALUE ){ c = (byte)(a+b);    }
    System.out.println("c = " +c);
  }
}


PS:數字型態運算轉換圖

PS:數字前有0,代表八進位
int n = 017;
因為被視為八進位17,所以 n 會變成十進位的15

No comments: