1. Junit

白盒测试 黑盒测试 自行baidu了解

java单元测试

package com.msb01;

import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test; /**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 21:14
* @Description: com.msb01
* @version: 1.0
*/
public class CalculatorTest { @Before
public void beforeMethod(){
System.out.println("Before method");
} @After
public void afterMethod(){
System.out.println("After method");
} @Test
public void testAdd(){
Calculator cal = new Calculator();
int res = cal.add(1, 3);
Assert.assertEquals(4, res); } @Test
public void testMinus(){
Calculator cal = new Calculator();
int res = cal.minus(9, 12);
Assert.assertEquals(-3, res); }
}
package com.msb01;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 21:13
* @Description: com.msb01
* @version: 1.0
*/
public class Calculator { public int add(int a, int b){
return a+b;
} public int minus(int a, int b){
return a-b;
}
}

2. 注解 annotation

注解是比较重要的内容 后续还会深入学习 这里是是引入

注解其实就是代码里的特殊标记,这些标记可以在编译,类加载,运行时被读取,并执行相应的处理。通过使用注解,程序员可以在不改变原有逻辑的情况下,在源文件中嵌入一些补充信息

一定程度上可以说 :框架=注解+反射+设计模式。

后续会学习各种框架

3. 枚举

星期一--星期天

春夏秋冬

男女

有限的取值

 package com.msb.enum01;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:00
* @Description: com.msb.enum01
* @version: 1.0
*/
public class Season {
private final String seasonName;
private final String seasonDesc; private Season(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
} public static final Season Spring = new Season("春", "春暖花开");
public static final Season Summer = new Season("夏", "夏日炎炎");
public static final Season Autumn = new Season("秋", "秋高气爽");
public static final Season Winter = new Season("冬", "冰天雪地"); public String getSeasonName() {
return seasonName;
} public String getSeasonDesc() {
return seasonDesc;
} @Override
public String toString() {
return "Season{" +
"seasonName='" + seasonName + '\'' +
", seasonDesc='" + seasonDesc + '\'' +
'}';
}
}
package com.msb.enum01;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:05
* @Description: com.msb.enum01
* @version: 1.0
*/
public class Test {
public static void main(String[] args) {
Season autumn = Season.Autumn;
System.out.println(autumn.getSeasonDesc());
System.out.println(autumn.getSeasonName()); System.out.println(autumn);
}
}

枚举类

package com.msb.enum02;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:00
* @Description: com.msb.enum01
* @version: 1.0
*/
public enum Season {
Spring("春", "春暖花开"),
Summer("夏", "夏日炎炎"),
Autumn("秋", "秋高气爽"),
Winter("冬", "冰天雪地"); private final String seasonName;
private final String seasonDesc; private Season(String seasonName, String seasonDesc) {
this.seasonName = seasonName;
this.seasonDesc = seasonDesc;
} public String getSeasonName() {
return seasonName;
} public String getSeasonDesc() {
return seasonDesc;
} @Override
public String toString() {
return "Season{" +
"seasonName='" + seasonName + '\'' +
", seasonDesc='" + seasonDesc + '\'' +
'}';
}
}
package com.msb.enum02;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:05
* @Description: com.msb.enum01
* @version: 1.0
*/
public class Test {
public static void main(String[] args) {
Season autumn = Season.Autumn;
System.out.println(autumn.getSeasonDesc());
System.out.println(autumn.getSeasonName()); System.out.println(autumn);
}
}
        // enum关键字对应的枚举类的上层父类是 :java.lang.Enum
System.out.println(Season.class.getSuperclass().getName());

更简单的写法

package com.msb.enum03;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:00
* @Description: com.msb.enum01
* @version: 1.0
*/
public enum Season {
Spring,
Summer,
Autumn,
Winter;
}
package com.msb.enum03;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:12
* @Description: com.msb.enum03
* @version: 1.0
*/
public class test {
public static void main(String[] args) {
Season autumn = Season.Autumn;
System.out.println(autumn); Season[] values = Season.values();
for (Season value : values) {
System.out.println(value.toString());
}
Season aut = Season.valueOf("Autumn");
System.out.println(aut);
}
}

实现类

package com.msb.enum03;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:00
* @Description: com.msb.enum01
* @version: 1.0
*/
public enum Season implements SeasonShow {
Spring{
@Override
public void show() {
System.out.println("春天");
}
},
Summer{
@Override
public void show() {
System.out.println("夏天");
}
},
Autumn{
@Override
public void show() {
System.out.println("秋天");
}
},
Winter{
@Override
public void show() {
System.out.println("冬天");
}
};
}
package com.msb.enum03;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:16
* @Description: com.msb.enum03
* @version: 1.0
*/
public interface SeasonShow {
void show();
}
package com.msb.enum03;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:12
* @Description: com.msb.enum03
* @version: 1.0
*/
public class test {
public static void main(String[] args) {
Season autumn = Season.Autumn;
System.out.println(autumn); Season[] values = Season.values();
for (Season value : values) {
System.out.println(value.toString());
}
Season aut = Season.valueOf("Autumn");
System.out.println(aut);
aut.show();
}
}

实际应用

package com.msb.enum04;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:22
* @Description: com.msb.enum04
* @version: 1.0
*/
public enum Gender {
男,
女;
}
package com.msb.enum04;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:22
* @Description: com.msb.enum04
* @version: 1.0
*/
public class Person {
private int age;
private String name;
private Gender sex; public Person(int age, String name, Gender sex) {
this.age = age;
this.name = name;
this.sex = sex;
} public int getAge() {
return age;
} public void setAge(int age) {
this.age = age;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Gender getSex() {
return sex;
} public void setSex(Gender sex) {
this.sex = sex;
} @Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
", sex=" + sex +
'}';
}
}
package com.msb.enum04;

/**
* @Auther: jack.chen
* @Date: 2023/9/18 - 09 - 18 - 23:23
* @Description: com.msb.enum04
* @version: 1.0
*/
public class test {
public static void main(String[] args) {
Person p = new Person(19,"lili", Gender.男);
System.out.println(p); Gender g = p.getSex(); switch (g){
case 男:
System.out.println("男人");
break;
case 女:
System.out.println("女人");
break;
} }
}

java基础-Junit 注解 枚举-day12的更多相关文章

  1. Java基础教程:枚举类型

    Java基础教程:枚举类型 枚举类型 枚举是将一具有类似特性的值归纳在一起的方法.比如,我们可以将周一到周日设计为一个枚举类型.彩虹的七种颜色设计为一个枚举类型. 常量实现枚举 我们通过定义常量的方式 ...

  2. Java基础教程——注解

    注解 JDK 5开始,Java支持注解. 注解,Annotation,是一种代码里的特殊标记,这些标记可以在编译.类加载.运行时被读取并执行,而且不改变原有的逻辑. 注解可以用于:生成文档.编译检查. ...

  3. 【Java基础】关于枚举类你可能不知道的事

    目录 谈谈枚举 1. 枚举类的定义 2. 枚举类的底层实现 3. 枚举类的序列化实现 4. 用枚举实现单列 5. 枚举实例的创建过程是线程安全的 谈谈枚举 如果一个类的对象个数是有限的而且是不变的,我 ...

  4. 【转载】JAVA基础:注解

    原文:https://www.cnblogs.com/xdp-gacl/p/3622275.html#undefined 一.认识注解 注解(Annotation)很重要,未来的开发模式都是基于注解的 ...

  5. Java基础加强-(注解,动态代理,类加载器,servlet3.0新特性)

    1.   Annotation注解 1.1.  Annotation概述 Annotation是JDK 5.0以后提供对元数据的支持,可以在编译.加载和运行时被读取,并执行相应的处理.所谓Annota ...

  6. Java基础加强-注解

    /*注解(Annotation)*/(注解相当于一个特殊的类,注解类@interface A) 了解注解及java提供的几个基本注解 1. @SuppressWarnings 指示应该在注释元素(以及 ...

  7. Java基础篇——注解和反射

    注解 注解Annotation可以被其他程序(编译器)读取,常见的有@override 内置注解 @Override 适用于修饰方法,表明重写父类中的一个方法 @Deprecated 用于修饰类.方法 ...

  8. java基础篇---注解(Annotation)

    一.概念 Annontation是Java5开始引入的新特征.中文名称一般叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素(类.方法.成员变量等)进行关 ...

  9. Java基础教程(15)--枚举类型

      枚举类型定义了一个枚举值的列表,每个值是一个标识符.例如,下面的语句声明了一个枚举类型,用来表示星期的可能情况: public enum Day { SUNDAY, MONDAY, TUESDAY ...

  10. java基础之注解

    包含成员变量及方法的注解称之为元数据, 不包含任何成员的注解称之为标记. 用@interface定义注解, 使用类似于接口方法的方式来定义注解的属性,其中返回值成为属性的类型,方法名为属性的名称. p ...

随机推荐

  1. FolkMQ 内存型消息中间件,v1.0.21 发布

    简介 采用 "多路复用" + "内存运行" + "快照持久化" + "Broker 集群模式"(可选)+ 基于 Sock ...

  2. Lucas定理 、斯特灵公式

    斯特灵公式是一条用来取n阶乘的近似值的数学公式. 公式为: 用该公式我们可以用来估算n阶乘的值:估算n阶乘的在任意进制下的位数. 如何计算在R进制下的位数:我们可以结合对数来计算,比如十进制就是lg( ...

  3. svelte的一些基础demo

    脚手架 Vite:vite是集成了svelte,初始化的时候选择svelte就行了. npm init vite SvelteKit:底层基于vite的更上层框架,类似于nextjs. npm cre ...

  4. VS2022 安装 .NET Framework 4.0 和 .NET Framework 4.5 的方法

    解决方法 1.下载.NET Framework框架 .NET Framework 4.5.2 .NET Framework 4.5.1 .NET Framework 4.5 .NET Framewor ...

  5. Windows系统修复(System Update Readiness Tool、SFC模式、DISM命令)可解决系统更新问题。

    安装System Update Readiness Tool 提供此更新是因为在 Windows servicing store 中发现了不一致,这可能会影响将来成功安装更新.service pack ...

  6. 如何用 vscode 捞出还未国际化的中文词条

    做国际化一个很头疼的坑就是,你不知道项目里到底还有哪些中文词条没有国际化处理 纯靠人工去检查不现实,也不靠谱,而且浪费资源 所以还是得通过脚本工具来检查,思路是: 先保存好本地代码变更,准备好一个无文 ...

  7. Pikachu漏洞靶场 Unsafe Filedownload(不安全的文件下载)

    不安全的文件下载 概述 文件下载功能在很多web系统上都会出现,一般我们当点击下载链接,便会向后台发送一个下载请求,一般这个请求会包含一个需要下载的文件名称,后台在收到请求后会开始执行下载代码,将该文 ...

  8. 在终端输入EOF

    在终端输入EOF 问题 如下是一个计算校验和的程序,其中使用了while循环,需要在标准输入中读取到EOF才能跳出循环. #include <stdio.h> int main(){ in ...

  9. HDU 2144 Evolution 后缀树/后缀数组

    HDU 2144 Evolution 后缀树/后缀数组 题意 给我们不到一百个字符串(长度不到一百)以及一个百分比q,然后如果某两个字符串的最长公共子串占比超过了q(在两个串中都超过)则两个串为一个集 ...

  10. 华为云API Explorer重磅推出API编排,开发者0代码高效构建工作流

    本文分享自华为云社区<华为云API Explorer重磅推出API编排,开发者0代码高效构建工作流(体验用户招募中)>,作者:华为云PaaS服务小智. 打破传统开发模式,API编排应运而生 ...