21xrx.com
2024-09-20 00:55:43 Friday
登录
文章检索 我的文章 写文章
Java程序的两种类型及应用场景
2023-06-14 09:46:47 深夜i     --     --
Java程序类型 控制台程序 图形界面程序

Java作为一种面向对象的编程语言,可以根据其程序执行的方式分为两种类型:基于控制台的程序和基于图形界面的程序。控制台程序往往不进行用户界面的设计,而是利用控制台和命令行进行输入输出,并且适用于一些特定的应用场景,例如批量处理数据或者后台任务等。而图形界面程序则主要用于进行人机交互,设计出丰富的用户界面,例如电商网站的登录界面、文本编辑器的界面等。

接下来,给出一个简单的Java控制台程序的例子,实现一个计算器的功能:


import java.util.Scanner;

public class Calculator {

  public static void main(String[] args) {

    Scanner input = new Scanner(System.in);

    System.out.print("请输入操作数1: ");

    double num1 = input.nextDouble();

    System.out.print("请输入操作数2: ");

    double num2 = input.nextDouble();

    System.out.print("请输入运算符(+, -, *, /): ");

    String operator = input.next();

    double result = 0;

    switch (operator) {

      case "+":

        result = num1 + num2;

        break;

      case "-":

        result = num1 - num2;

        break;

      case "*":

        result = num1 * num2;

        break;

      case "/":

        result = num1 / num2;

        break;

      default:

        System.out.println("不支持的运算符!");

    }

    System.out.println("计算结果为: " + result);

  }

}

运行此程序后,会依次提示用户输入操作数和运算符,并输出计算结果,如下所示:


请输入操作数1: 5

请输入操作数2: 3

请输入运算符(+, -, *, /): *

计算结果为: 15.0

为了更好地适应不同的应用场景,Java也提供了许多GUI库,例如Swing、JavaFX、Java AWT等。下面是一个简单的JavaFX图形界面程序,实现了一个简单的计算器功能:


import javafx.application.Application;

import javafx.event.ActionEvent;

import javafx.event.EventHandler;

import javafx.geometry.Pos;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.control.Label;

import javafx.scene.control.TextField;

import javafx.scene.layout.GridPane;

import javafx.stage.Stage;

public class CalculatorFX extends Application {

  TextField num1 = new TextField();

  TextField num2 = new TextField();

  TextField result = new TextField();

  Button plus = new Button("+");

  Button minus = new Button("-");

  Button multiply = new Button("*");

  Button divide = new Button("/");

  Label label = new Label("结果:");

  @Override

  public void start(Stage primaryStage) {

    GridPane pane = new GridPane();

    pane.setHgap(5);

    pane.setVgap(5);

    pane.setAlignment(Pos.CENTER);

    pane.add(new Label("操作数1"), 0, 0);

    pane.add(num1, 1, 0);

    pane.add(new Label("操作数2"), 0, 1);

    pane.add(num2, 1, 1);

    pane.add(label, 0, 2);

    pane.add(result, 1, 2);

    pane.add(plus, 0, 3);

    pane.add(minus, 1, 3);

    pane.add(multiply, 0, 4);

    pane.add(divide, 1, 4);

    plus.setOnAction(new EventHandler () {

      public void handle(ActionEvent e) {

        double n1 = Double.parseDouble(num1.getText());

        double n2 = Double.parseDouble(num2.getText());

        result.setText(Double.toString(n1 + n2));

      }

    });

    minus.setOnAction(new EventHandler () {

      public void handle(ActionEvent e) {

        double n1 = Double.parseDouble(num1.getText());

        double n2 = Double.parseDouble(num2.getText());

        result.setText(Double.toString(n1 - n2));

      }

    });

    multiply.setOnAction(new EventHandler () {

      public void handle(ActionEvent e) {

        double n1 = Double.parseDouble(num1.getText());

        double n2 = Double.parseDouble(num2.getText());

        result.setText(Double.toString(n1 * n2));

      }

    });

    divide.setOnAction(new EventHandler () {

      public void handle(ActionEvent e) {

        double n1 = Double.parseDouble(num1.getText());

        double n2 = Double.parseDouble(num2.getText());

        result.setText(Double.toString(n1 / n2));

      }

    });

    Scene scene = new Scene(pane, 300, 200);

    primaryStage.setTitle("计算器");

    primaryStage.setScene(scene);

    primaryStage.show();

  }

  public static void main(String[] args) {

    launch(args);

  }

}

此程序使用JavaFX库集成了一些GUI组件,包括文本框、标签和按钮,并注册了按钮的事件处理程序,当用户点击按钮时计算并更新结果文本框。运行程序后界面如下所示:

![](https://img-blog.csdnimg.cn/20200809143140540.png)

从上面两个例子中可以看出,Java程序虽然有着不同的类型,但是都可以满足不同的应用需求,成为现代软件开发不可或缺的一部分。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复