我还是个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; }