Java文件与类动手动脑实例详解

下面是“Java文件与类动手动脑实例详解”的完整攻略。

1. 什么是Java文件与类?

Java文件是以.java为扩展名的文件,它包含Java程序的源代码。而Java类则是这些源代码中定义的一个个类,它们是Java程序的基本构建块。

Java文件命名规范与类名一致,比如,名为MyClass的类,应该存在名为MyClass.java的Java文件中。

2. 编写Java文件与类的步骤

2.1. 编写Java类

一个Java类通常包含如下三部分:

  1. 类的修饰符(public、private等)
  2. 类名(要与文件名一致)
  3. 类的主体(包含成员变量、成员方法等)

下面是一个简单的Java类示例:

public class MyClass {
    int age;
    String name;

    public void printInfo() {
        System.out.println("My name is " + name + ", I'm " + age + " years old.");
    }
}

2.2. 编译Java文件

编写完Java文件后,需要使用Java编译器(javac)将源代码编译成Java字节码,生成.class文件。在命令行中执行以下命令:

javac MyClass.java

2.3. 运行Java类

使用Java虚拟机(java)运行编译后的Java字节码,例如:

java MyClass

3. 示例1:计算器程序

下面是一个简单的计算器程序,它包含两个类:CalculatorMain。其中,Calculator类封装了计算器的逻辑,Main类则是程序的入口。

3.1. Calculator类代码

public class Calculator {
    private double result;

    public void setResult(double result) {
        this.result = result;
    }

    public void add(double num) {
        result += num;
    }

    public void subtract(double num) {
        result -= num;
    }

    public void multiply(double num) {
        result *= num;
    }

    public void divide(double num) {
        if (num == 0) {
            throw new IllegalArgumentException("num can't be zero.");
        }
        result /= num;
    }

    public double getResult() {
        return result;
    }
}

3.2. Main类代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Calculator calculator = new Calculator();

        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.println("请输入要进行的操作(1.加 2.减 3.乘 4.除 5.退出):");
            int op = scanner.nextInt();

            if (op == 5) {
                break;
            }

            System.out.println("请输入操作数:");
            double num = scanner.nextDouble();

            switch (op) {
                case 1:
                    calculator.add(num);
                    break;
                case 2:
                    calculator.subtract(num);
                    break;
                case 3:
                    calculator.multiply(num);
                    break;
                case 4:
                    calculator.divide(num);
                    break;
                default:
                    System.out.println("无效的操作。");
            }

            System.out.println("当前值为:" + calculator.getResult());
        }
    }
}

运行上述代码,在控制台中输入操作符和操作数,即可进行计算,并输出计算结果。

4. 示例2:图形面积计算程序

下面是另一个示例程序,它可以计算矩形和圆形的面积,包含三个类:ShapeRectangleCircle。其中,Shape类是所有形状的父类,RectangleCircle是它的子类。

4.1. Shape类代码

public abstract class Shape {
    public abstract double getArea();
}

4.2. Rectangle类代码

public class Rectangle extends Shape {
    private double width;
    private double height;

    public Rectangle(double width, double height) {
        this.width = width;
        this.height = height;
    }

    public double getArea() {
        return width * height;
    }
}

4.3. Circle类代码

public class Circle extends Shape {
    private double radius;

    public Circle(double radius) {
        this.radius = radius;
    }

    public double getArea() {
        return Math.PI * radius * radius;
    }
}

4.4. Main类代码

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        while (true) {
            System.out.println("请输入要计算的图形(1.矩形 2.圆 3.退出):");
            int op = scanner.nextInt();

            if (op == 3) {
                break;
            }

            switch (op) {
                case 1:
                    System.out.println("请输入矩形的长和宽:");
                    double width = scanner.nextDouble();
                    double height = scanner.nextDouble();

                    Rectangle rectangle = new Rectangle(width, height);
                    System.out.println("矩形的面积为:" + rectangle.getArea());
                    break;

                case 2:
                    System.out.println("请输入圆的半径:");
                    double radius = scanner.nextDouble();

                    Circle circle = new Circle(radius);
                    System.out.println("圆的面积为:" + circle.getArea());
                    break;

                default:
                    System.out.println("无效的操作。");
            }
        }
    }
}

运行上述代码,在控制台中输入要计算的图形类型和参数,即可计算出图形的面积。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java文件与类动手动脑实例详解 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Java中枚举的实现原理介绍

    Java中枚举的实现原理介绍 什么是枚举 枚举(enum)是Java中的一种数据类型,它允许将一组相关的常量组织在一起,并且可以用枚举类型的名称来引用这些常量,以提高代码的可读性和稳定性。 在使用枚举类型时,我们可以通过枚举类型的名称来访问某个枚举常量,也可以通过枚举常量的名称来获得该常量的值,枚举类型可以与switch语句一起使用,提高代码的可读性。 Ja…

    Java 2023年5月26日
    00
  • SpringBoot+slf4j实现全链路调用日志跟踪的方法(一)

    SpringBoot+slf4j实现全链路调用日志跟踪的方法(一) 在分布式系统中,日志跟踪是非常重要的,它可以帮助我们快速定位问题,提高系统的可维护性和可靠性。本文将详细讲解如何使用SpringBoot和slf4j实现全链路调用日志跟踪,包括以下内容: 日志跟踪的基本概念 SpringBoot中的日志跟踪实现方法 示例一:使用MDC实现日志跟踪 示例二:使…

    Java 2023年5月15日
    00
  • Spring实战之类级别缓存实现与使用方法

    Spring实战之类级别缓存实现与使用方法 什么是类级别缓存 类级别缓存是一种基于类级别的缓存技术,能够缓存相同参数的方法的返回结果,从而提高系统响应速度和请求处理效率。 Spring中的缓存实现 Spring Framework提供了一套完整的缓存抽象和实现,使用Spring Framework提供的缓存,我们可以将缓存所涉及的实现细节从业务逻辑代码中解耦…

    Java 2023年5月19日
    00
  • Spring Boot加载配置文件的完整步骤

    Spring Boot 加载配置文件的完整步骤 Spring Boot 是一个用于创建独立的、生产级别的 Spring 应用程序的框架。在 Spring Boot 中,我们可以使用配置文件来配置应用程序的行为。本文将详细介绍 Spring Boot 加载配置文件的完整步骤,并提供两个示例。 加载配置文件的完整步骤 Spring Boot 加载配置文件的完整步…

    Java 2023年5月15日
    00
  • RHEL5 Apache+Tomcat整合,同时支持jsp与php

    RHEL5 Apache+Tomcat整合,同时支持jsp与php 在Linux系统中,我们常常需要将Apache和Tomcat进行整合,同时支持jsp和php的运行。本文将提供一份完整的攻略来实现这一目的。以下是整合的具体步骤: 步骤一:配置Apache的mod_jk模块 首先,我们需要在Linux系统中安装Apache及其模块。使用yum工具即可完成,详…

    Java 2023年5月19日
    00
  • Angular.js中ng-include用法及多标签页面的实现方式详解

    针对“Angular.js中ng-include用法及多标签页面的实现方式详解”的主题,我来提供完整的攻略。 ng-include用法讲解 在Angular.js中,我们可以使用ng-include指令来实现将一个页面嵌入到另外一个页面的功能。以下是ng-include的使用方法: <!– 在此处加载其他模板文件 –> <div ng-…

    Java 2023年6月15日
    00
  • Java Scala实现数据库增删查改操作详解

    Java Scala实现数据库增删查改操作详解 概述 在进行Web应用程序的开发中,经常需要与数据库进行交互,主要包括增加数据,删除数据,查询数据以及修改数据等操作。本文中将介绍如何使用Java和Scala实现数据库增删查改操作。 数据库连接 在Java或Scala中,需要使用JDBC(Java Database Connectivity)来进行数据库的连接…

    Java 2023年5月19日
    00
  • springboot~关于md5签名引发的问题

    事实是这样的,我有个接口,这个接口不能被篡改,于是想到了比较简单的md5对url地址参数进行加密,把这个密码当成是sign,然后服务端收到请求后,使用相同算法也生成sign,两个sign相同就正常没有被篡改过。 问题的出现 接口中的参数包括userId,extUserId,时间,其中extUserId字符编码,中间会有+这种符号 有些用户使用签名接口正常 有…

    Java 2023年4月23日
    00
合作推广
合作推广
分享本页
返回顶部