Weisente

导航

 

   上篇已经搭建好了Java开发环境,现在来写第一段Java程序:Hello, World!,以了解Java代码如何编译和执行。

   一、首先,打开文本编辑器(Windows自带的记事本或EditPlus),在U盘上新建一个文件夹,取名为MyJava(Java会严格区分英文大小写)。

   (1)输入代码:

  

public class Hello
{
public static void main(String[] args)
      {
System.out.println("Hello, World!/n");
      }
}

     (2)另存为:Hello.java(注意:编码格式:UTF-8,保存类型:所有格式)

 

    

 

 

    (3)  Win+R,cmd,再输入:cd I:\Myjava,再输dir/w/p,此时可看到刚保存的Hello.java文件。编译:javac Hello.java

     

 

 

       这时再dir会发现,MyJava文件夹下多了一个Hello.class的文件,这是java文件编译后生成的字节码文件。

  (4) 执行:java Hello,显示最终运行结果为:

    

 

   "Hello, World!"就此实现了,大家还可以动手修改源代码,再编译时很可能会出现各种报错,这时再来逐行核对原代码,就基本知道问题出在哪里了。

   二、接下来给大家演示一段稍微复杂点的代码,取名为eg001.java,希望有助于大家能将Java学习坚持下来。代码的具体规则及对应含义,先放一放再说,后续再来讲解。

 (*1)代码

import java.awt.*;
import java.awt.geom.*;
import javax.swing.*;

public class Eg001
{
	public static void main ( String[] args )
	{
		Eg001Frame frame = new Eg001Frame();
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
	}
}

/**
   A frame with a message panel
  */
class Eg001Frame extends JFrame
{
	public Eg001Frame()
	{
		setTitle("Eg001Test");
		setSize(WIDTH,HEIGHT);
	
		// add panel to frame
		Eg001Panel panel = new Eg001Panel();
		Container contentPane = getContentPane();
		contentPane.add(panel);
	}

	public static final int WIDTH = 640;
	public static final int HEIGHT = 480;
}

/**
   A panel that shows a Eg001 wave
*/
class Eg001Panel extends JPanel
{

	public Eg001Panel()
	{
		w = 6;
		old_x = 5;
		old_y = 240;
		analog = false;
	}

	public void paintComponent( Graphics g )
	{
		super.paintComponent(g);
		Graphics2D g2 = (Graphics2D)g;

		g2.draw(new Line2D.Double(0,240,640,240));
		
		for ( x=5;x<635;x++)
		{
			y = 240 + 60*Math.sin((x-30)/45);
			if ( ( analog || x%6==0 ) )
			{
				if ( analog )
				{
					if ( old_x <= x )
						g2.draw(new Line2D.Double(old_x,old_y,x,y));
					old_x = x; old_y = y;
				}
				else
				{
					if ( y < 240 )
					{
						ul_y = y;
						h = 240 - y;
					}
					else
					{
						ul_y = 240;
						h = y - 240;
					}
					g2.draw(new Rectangle2D.Double(x-2,ul_y,w,h));
				}
			}
		}

	}

	double x, y, old_x, old_y;
	double ul_y;
	double w, h;
	boolean analog;
}
(2)编译:javac Eg001.java

         

 

   (3)运行:java Eg001

        

  看上去是不是很酷?哈哈!

    (End)

 

 

 

 

    

posted on 2020-12-18 15:32  Weisente  阅读(837)  评论(0)    收藏  举报