实训:Java

Java

Java是一门面向对象编程语言,吸收了C++的优点,功能强大,简单易用,具有安全性、可移植性、多线程等特点。

配置环境

首先下载Java JDK,再在环境变量中添加JAVA_HOME,变量值为Java JDK的路径,然后在PATH中添加变量值%JAVA_HOME%/bin以及在CLASSPATH中添加变量值%JAVA_HOME%/lib,最后在命令行中输入java -version,若环境变量配置正确,则显示java当前版本。

编译与运行

Java文件名后缀为.java,一个Java文件中最多只能有一个public类。在命令行中输入javac和Java文件名进行编译得到class文件,然后输入java和Java类名运行程序。

Java小程序

Java和C++非常相似,下面以Java小程序Calculator为例简单介绍Java:

// 导入package,类似于C++引用头文件
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Calculator {
  // 声明private变量
  private Font ft = null;
  private JFrame jf = null;
  private JPanel jp = null;
  private JTextField [] jtf = null;
  private JLabel [] jl = null;
  private JButton [] btn = null;

  // 类构造方法
  Calculator() {
    init();
  }

  // 生成图形界面
  public void init() {
    ft = new Font("Consolas", Font.PLAIN, 30);

    jf = new JFrame("Calculator");
    jf.setSize(800, 200);
    jf.setResizable(false);
    jf.setLocationRelativeTo(null);
    jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

    jp = new JPanel(new GridLayout(2, 5, 5, 5));

    jtf = new JTextField[3];
    for (int i = 0; i < 3; ++i) {
      jtf[i] = new JTextField();
      jtf[i].setFont(ft);
      jtf[i].setHorizontalAlignment(JTextField.CENTER);
    }
    jtf[2].setEditable(false);

    jl = new JLabel[2];
    for (int i = 0; i < 2; ++i) {
      jl[i] = new JLabel();
      jl[i].setFont(ft);
      jl[i].setHorizontalAlignment(JLabel.CENTER);
    }
    jl[1].setText("=");

    jp.add(jtf[0]);
    jp.add(jl[0]);
    jp.add(jtf[1]);
    jp.add(jl[1]);
    jp.add(jtf[2]);

    btn = new JButton[5];
    for (int i = 0; i < 5; ++i) {
      btn[i] = new JButton();
      btn[i].setFocusable(false);
      btn[i].setFont(ft);
      jp.add(btn[i]);
    }
    btn[0].setText("+");
    btn[0].addActionListener(new ActionListener () {
      public void actionPerformed(ActionEvent e) {
        jl[0].setText("+");
      }
    });

    btn[1].setText("-");
    btn[1].addActionListener(new ActionListener () {
      public void actionPerformed(ActionEvent e) {
        jl[0].setText("-");
      }
    });

    btn[2].setText("*");
    btn[2].addActionListener(new ActionListener () {
      public void actionPerformed(ActionEvent e) {
        jl[0].setText("*");
      }
    });

    btn[3].setText("/");
    btn[3].addActionListener(new ActionListener () {
      public void actionPerformed(ActionEvent e) {
        jl[0].setText("/");
      }
    });

    btn[4].setText("OK");
    btn[4].addActionListener(new ActionListener () {
      public void actionPerformed(ActionEvent ae) {
        // 异常处理
        try {
          double num1 = Double.parseDouble(jtf[0].getText());
          double num2 = Double.parseDouble(jtf[1].getText());
          if (jl[0].getText().equals("+")) {
            jtf[2].setText(String.format("%.0f",num1+num2));
          }
          if (jl[0].getText().equals("-")) {
            jtf[2].setText(String.format("%.0f",num1-num2));
          }
          if (jl[0].getText().equals("*")) {
            jtf[2].setText(String.format("%.0f",num1*num2));
          }
          if (jl[0].getText().equals("/")) {
            jtf[2].setText(String.format("%.2f",num1/num2));
          }
          if (jtf[2].getText().length() > 8) {
            jtf[2].setText("OVERFLOW");
          }
        } catch (Exception e) {
          jtf[2].setText("ERROR");
        }
      }
    });

    jf.setContentPane(jp);
    jf.setVisible(true);
  }

  // 程序入口
  public static void main(String [] args) {
    Calculator c = new Calculator();
  }
}

Java在代码中声明类,在程序运行时才创建对象,然后通过引用对象调用方法。Calculator使用swing包中的类生成图形界面,实现逻辑的代码和C++类似,除此之外,Java还有很多特性,在这里就不一一介绍了。

猜你喜欢

转载自blog.csdn.net/fast_g/article/details/79967422
今日推荐