【一、测试基础】Java基础语法

Java 的用法及注意事项有很多,今天的目标是了解Java基础语法,且能够输出"hello world"

几个基础的概念

  • 对象:对象是类的一个实例,有状态和行为。一只猫是一个对象,猫的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃、抓老鼠等。

  • :类是一个模板,它描述一类对象的行为和状态。

  • 方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在方法中完成的

第一个Java程序

Hello World 已然成为了程序员入门必打印的一串字符,可以使用各种语言实现,下面用java来实现它

// 执行的main函数定义格式是固定的,参照格式编写就行
public static void main(String[] args) {
    System.out.println("Hello World");
}

打印一个Hello World的执行过程如下

  • 代码编写 -> javac编译生成字节码文件(.class文件) ->JVM 加载并验证字节码文件 ->运行执行

后续在测试的过程中,随着对java应用的加强,会讲到对应的方法执行过程与类加载的过程

Java基础语法

注释

相较于python,Java有一个是文档注释类型的注释。

// 单行注释使用双斜杠 "//"

/**多行注释*/

/**
 * @author: shacha
 * @date: 2023-12-15 00:00
 * @description:文档注释,解释对应类,方法的使用,以及可能存在的参数释义
 */

变量与数据类型

Java数据类型分为"基本数据类型"和"引用数据类型"

// 基本数据类型:共计有8种,byte, boolean, short, char int, float, long double
// 引用数据类型:类(Class)、接口(Interface)、数组(Array)、枚举(Enum)、字符串(String)

Java 变量主要分为三种"局部变量"、"类变量(类似于静态变量)"、"成员变量(非静态变量)"

修饰符

修饰符分为两种"访问控制修饰符"、"非访问控制修饰符"

// 访问控制修饰符 : default, public , protected, private

// 非访问控制修饰符 : final, abstract, static, synchronized

标识符使用规则

  • 标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始

  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合

  • 标识符是大小写敏感的,且不能以关键字为标识符

Java三大特性

学习Java一定要知道Java有三大特性"封装"、"继承"、"多态"

  • 封装:将具体的方法逻辑以及操作步骤封装在一个单元中,对外提供接口访问,可以有效保护数据

// 调用的工具与方法封装成为一个整体类,类中包含各种方法
public class Circle {
    private double radius;

    public double getRadius() {
        return radius;
    }

    public void setRadius(double radius) {
        if (radius >= 0) {
            this.radius = radius;
        } else {
            System.out.println("半径不能为负数!");
        }
    }

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

// 调用封装好的方法与类实现个人需求
public class Main {
    public static void main(String[] args) {
        Circle circle = new Circle();
        circle.setRadius(5.0);
        System.out.println("半径:" + circle.getRadius());
        System.out.println("面积:" + circle.calculateArea());

        circle.setRadius(-2.0);
        System.out.println("半径:" + circle.getRadius());
        System.out.println("面积:" + circle.calculateArea());
    }
}
  • 继承:是一种通过从现有类派生出新类的机制。派生类(子类)可以继承基类(父类)的属性和方法,同时可以添加自己的特定功能。

例如动物类,可以派生出食草类动物①和食肉类动物②,①和②两类子类动物都继承了动物类的能吃能睡,且增加了自己的特性,吃肉还是吃素

  • 多态:多态是指同一个方法名可以在不同的对象上具有不同的行为。通常通过方法重写(override)和方法重载(overload)来实现这一特性,也就是继承或实现类与接口。

也可以使用一句话概括,即父类引用指向子类对象

例如父类Animal,子类Cat,Dog。其中Animal可以是类也可以是接口,Cat和Dog是继承或实现Animal的子类。

Animal animal = new Cat();

即声明的是父类,实际指向的是子类的一个对象。

写在后面

对于测试同学来说,Java可以多练习达到熟悉的水平,毕竟在做某些自动化测试和自动化测试平台的时候会使用java开发

同时,对于性能测试来说,java是很好的工具语言,它提供了强大的线程管理和并发库,且有对应的垃圾回收机制,并且生态系统良好,开发者社区提供了丰富的性能测试工具和框架

所以想要向着性能专职的同学可以多了解一些java的知识

作者简介:

程序员山茶,一个工作5年,并坚持探索测试之路的测试开发工程师。曾混迹于互联网大厂、IOTA行业领航企业、安全行业、大数据行业领航企业,欢迎和我一起沟通交流。


图片

欢迎关注我,我一起探索测试之路,终身成长

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/312458.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

绝地求生:【违规处罚工作公示】1月1日-1月7日

1月1日至1月7日期间,共计对113,490个违规账号进行了封禁,其中103,133个账号因使用外挂被永久封禁。 若您游戏中遇到违规行为,建议您优先在游戏内进行举报; 另外您也可以在官方微信公众号【PUBG国际版】中点击“ 服务中心 - 举报…

可运营的SSL证书在线生成系统源码,附带图文搭建教程

安装教程 运行环境 PHP8.0.2-8.2最好选用8.0 Nginx1.22.1版本 Mysql5.7 伪静态设置为Thinkphp 后台账号admin 密码123456 系统使用API申请地址:https://www.sslprogen.com/

SQL-分组查询

目录 DQL-分组查询 分组查询注意事项: DQL- 排序查询 🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL &…

OSG加载STL模型

下载了2个简单stl模型,用基本的加载代码;直接可以加载; 查一点资料; 怎样在OSG中添加支持STL格式的模型文件? 使用OSG时,如果需要导入STL格式的模型文件,需要添加STL插件。 可以通过在代码中调…

uniapp中uview组件库丰富的ActionSheet 操作菜单使用方法

目录 #平台差异说明 #基本使用 #配置顶部的提示信息和底部取消按钮 #如何知道点了第几项 #API #Props #Event 本组件用于从底部弹出一个操作菜单,供用户选择并返回结果。 本组件功能类似于uni的uni.showActionSheetAPI,配置更加灵活,所…

PDF-XChange Editor v10.2.0.384

软件介绍 PDF-XChange Editor,号称打开速度最快最强大的PDF编辑器/PDF阅读器,PDF-XChange专注于PDF文档的编辑,打开PDF文件速度快,软件小功能强大,可以自定义制作PDF电子文档,具有创建,查看&am…

用通俗易懂的方式讲解大模型分布式训练并行技术:自动并行

之前的文章已经对多种并行技术进行了讲解,如:数据并行、张量并行、流水线并行以及多种并行方式组合使用的多维混合并行。 然而大模型的分布式训练是一个非常复杂的问题,目前的绝大多数的分布式训练系统,都依赖用户人工反复尝试以…

JavaScript基础02

1 - 运算符(操作符) 1.1 运算符的分类 运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。 JavaScript中常用的运算符有: 算数运算符 递增和递减运算符 比较运算符 逻…

HiDataPlus 3.3.2-005 搭建(个人的一点心得体会 x86 平台)

HDP 集群搭建 前置安装 yum -y install createrepo yum install -y lrzsz yum install -y wget yum install -y vim修改当前集群机器的主机名 hostnamectl set-hostname XXX​ 这里的 XXX 就是要设置的当前机器的主机名称。主机名称是集群唯一的,一定不要重复&am…

少儿编程 2023年12月中国电子学会图形化编程等级考试Scratch编程三级真题解析(选择题)

2023年12月scratch编程等级考试三级真题 选择题 1、运行左图程序,想得到右图中的效果,红色框应填写的数值是 A、12 B、11 C、10 D、9 答案:D 考点分析:考查积木综合使用,从右边的图形中可以看到第一层小正方形个数为9个,而左边程序中内外层循环的次数都是一样,所以…

使用Flash_Download_Tool下载PlatformIO生成的bin程序到ESP32

使用Flash_Download_Tool下载PlatformIO生成的bin程序到ESP32 来源 当我们没有PlatformIO环境时,还要下载PlatformIO生成的程序时,可以使用Flash_Download_Tool工具下载。 说明 使用PlatformIO时,用cmd终端命令下载程序pio run -v -t upl…

架构01 - 知识体系详解

架构,又称为知识体系,是指在特定领域或系统中的组织结构和设计原则。它涵盖了该领域或系统的核心概念、基础理论、方法技术以及实践经验等。架构的主要作用是提供一个全面且系统化的视角,帮助人们理解和应用相关知识,并指导系统的…

【AI大模型应用开发】1.0 Prompt Engineering(提示词工程)- 典型构成、原则与技巧,代码中加入Prompt

从这篇文章开始,我们就正式开始学习AI大模型应用开发的相关知识了。首先是提示词工程(Prompt Engineering)。 文章目录 0. 什么是提示词(Prompt)1. 为什么Prompt会起作用 - 大模型工作原理2. Prompt的典型构成、原则与…

AcWing1210-连号区间

文章目录 题目输入格式输出格式数据范围样例输入样例1输出样例1输入样例2输出样例2样例解释 思路代码 题目 输入格式 输出格式 数据范围 样例 输入样例1 4 3 2 4 1 输出样例1 7 输入样例2 5 3 4 2 5 1 输出样例2 9 样例解释 思路 固定L,遍历R在[L,R]区域中找到最大…

【JVM】本地方法接口 Native Interface

一、JNI简介 JVM本地方法接口(Java Native Interface,JNI)是一种允许Java代码调用本地方法(如C或C编写的方法)的机制。这种技术通常用于实现高性能的计算密集型任务,或者与底层系统库进行交互。 二、JNI组…

[计算机提升] 创建FTP共享

4.7 创建FTP共享 4.7.1 FTP介绍 在Windows系统中,FTP共享是一种用于在网络上进行文件传输的标准协议。它可以让用户通过FTP客户端程序访问并下载或上传文件,实现文件共享。 FTP共享的用途非常广泛,例如可以让多个用户共享文件、进行文件备份…

python统计分析——小提琴图(plt.violinplot)

参考资料:用python动手学统计学,帮助文档 使用matplotlib.pyplot.violinplot()函数绘制小提琴图 小提琴图是将数值型数据的核密度图与箱线图融合在一起,具体来说是用核密度估计的结果替换了箱子,而形成的一个形似小提琴的图形。 …

关于文字渐变的几种效果

文字渐变色 对于色彩比较丰富的一些网站,经常会出现文字渐变的效果,比如 Vue 官网 “渐进式 JavaScript 框架” 中的 “渐进式”,就是使用了如下的渐变效果。 以上网格背景实现参考:CSS 实现网格背景[1] 它的实现很简单&#xff…

MYSQL篇--锁机制高频面试题

Mysql锁机制 1对mysql的锁有了解吗? 首先我们要知道,mysql的锁 其实是为了解决在并发事务时所导致的数据不一致问题的一种处理机制,也就是说 在事务的隔离级别实现中,就需要利用锁来解决幻读问题 然后我们可以聊到锁的分类 按锁…

9.云原生存储之ceph在k8s中应用及问题处理

文章目录 ceph应用场景ceph应用在k8s集群外使用块设备ceph客户端配置创建块挂载使用删除pool 在k8s集群内使用块设备创建块池和StorageClass使用存储 块存储映射问题处理问题现象事件分析csi-rbdplugin pod日志分析问题小结CentOS 7 编译安装 nbd 模块nbd内核模块介绍安装 nbd …
最新文章