我還是個Java初學者,雖然有著其它語言的經驗,但我還是想好好的學一下Java。很多人都說《Thinking in Java》不適合初學者,會看不明白。我還是可以看明白的,可能是以前的經驗吧。但不管怎麼樣別人走過來的路都是有曲折的,還是聽一下他們的意見吧。還有就是基礎類書籍中《Core Java》最好,所以我也看了一下,這是第八版,可見賣的是如此之好!
前二章一如即往,和其它書沒什麼兩樣,介紹下Java曆史,然後就是配置環境什麼的。在第二章的例子中看到了一段代碼,這是我第一次見Java的這種代碼,最初判斷應該是類似foreach之類的迴圈,G了一下果真如此。
public class Welcome { public static void main(String[] args) { String[] greeting = new String[3]; greeting[0] = "Welcome to Core Java"; greeting[1] = "by Cay Horstmann"; greeting[2] = "and Gary Cornell"; for (String g : greeting) System.out.println(g); } }
還有一個看圖的小例子,這是我第一次接觸Java的傳統型程式。自己打了一下代碼,運行了一下挺不錯的,
不過圖片是旋轉在Label中的,感覺這樣不太好。
package test; import java.awt.EventQueue; import java.awt.event.*; import java.io.*; import javax.swing.*; public class ImageView { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { JFrame frame = new ImageViewerFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } }); } } class ImageViewerFrame extends JFrame { public ImageViewerFrame() { setTitle("ImageViewer"); setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); // use a label to display the images label = new JLabel(); add(label); // set up the file chooser chooser = new JFileChooser(); chooser.setCurrentDirectory(new File(".")); // set up the menu bar JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); JMenu menu = new JMenu("檔案"); menuBar.add(menu); JMenuItem openItem = new JMenuItem("開啟"); menu.add(openItem); openItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { // show file chooser dialog int result = chooser.showOpenDialog(null); // if file selected, set it as icon of the label if (result == JFileChooser.APPROVE_OPTION) { String name = chooser.getSelectedFile().getPath(); label.setIcon(new ImageIcon(name)); } } }); JMenuItem exitItem = new JMenuItem("退出"); menu.add(exitItem); exitItem.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent event) { System.exit(0); } }); } private JLabel label; private JFileChooser chooser; private static final int DEFAULT_WIDTH = 300; private static final int DEFAULT_HEIGHT = 400; }