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还有很多特性,在这里就不一一介绍了。