JAVA基础:单元测试;注解;枚举;网络编程 (学习笔记)

news2024/11/25 16:44:46

单元测试

  •    操作步骤:

       a.导包import org.junit;
       b.三个注解  @Test @Before @After
       c.点击@Test 运行就可以了
   用在不需要控制台输入的情境下:javaweb,框架项目,微服务项目 供开发人员自己做测试。

package com.page.test;

import com.page.entry.DVD;
import com.page.service.DvdService;
import com.page.service.impl.DvdServiceImpl;
import com.page.controller.DvdController;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@SuppressWarnings("all")
public class DVDTest {

    @Test
    public void test1(){
        DvdController controller=new DvdController();
        controller.menu();
    }
    DvdService service=null;
    @Before
    public void  testB(){
        service=new DvdServiceImpl();
    }

    @Test
    public void test2(){
        int i= service.getDataCount(new DVD());
        System.out.println("一共有"+i+"条数据");
    }

    @Test
    public void test3(){
        int i= service.getDataCount(new DVD());
        System.out.println("一共有"+i+"条数据");
    }

    @After
    public  void testA(){
        System.out.println("测试结束!");
    }


}

注解

一,注解的分类

1,jdk中的常用注解:

                  @SuppressWarnings("all")   抑制警告
                  @Deprecated  标记过时
                  @Override    表示重写方法

2,单元测试里的注解:

                @Test
                @Before
                @After

3,javadao注释里的注解;

4,框架、javaweb里的注解。

5,元注解:修饰注解的注解就是元注解。

其中注意:

Ø @param @return和@exception这三个标记都是只用于方法的。

Ø @param的格式要求: @param 形参名 形参类型 形参说明

Ø @return的格式要求: @return 返回值类型返回值说明,如果方法的返回值类型是void就不能写

Ø @exception的格式要求: @exception 异常类型异常说明

Ø @param和@exception可以并列多个

枚举

一,创建

package page.enumdemo;

public enum DVDType {
    恐怖,搞笑,穿越,古装
}

二,使用

package page.test;

import page.entry.DVD;
import page.enumdemo.DVDType;

import java.util.Scanner;

public class EnumTest {
    public static void main(String[] args) {
        //赋值,取值,转换,枚举
        DVD dvd=new DVD();
        //1,直接赋值
        dvd.setDvdType(DVDType.古装);
        //2,控制台输入赋值
        Scanner input=new Scanner(System.in);
        String s=input.next();
        DVDType dvdType=DVDType.valueOf(s);
        dvd.setDvdType(dvdType);
        System.out.println(dvd.getDvdType());
    }
}

三,Enum类常用方法

package com.msb.enum03;

public class TestSeason {
    //这是一个main方法,是程序的入口:
    public static void main(String[] args) {
        //用enum关键字创建的Season枚举类上面的父类是:java.lang.Enum,常用方法子类Season可以直接拿过来使用:
        //toString();--->获取对象的名字
        Season autumn = Season.AUTUMN;
        System.out.println(autumn/*.toString()*/);//AUTUMN
        System.out.println("--------------------");
        //values:返回枚举类对象的数组
        Season[] values = Season.values();
        for(Season s:values){
            System.out.println(s/*.toString()*/);
        }
        System.out.println("--------------------");
        //valueOf:通过对象名字获取这个枚举对象
        //注意:对象的名字必须传正确,否则抛出异常
        Season autumn1 = Season.valueOf("AUTUMN");
        System.out.println(autumn1);
    }
}

网络编程

  • 客户端
    package page.socketdemo;
    
    /**
     * 客户端:发送信息给服务器  问  “中午吃啥了?”
     */
    
    import java.io.*;
    import java.net.Socket;
    import java.util.Scanner;
    
    public class Asocket {
        public static void main(String[] args) throws IOException {
            while (true) {
                Scanner input = new Scanner(System.in);
                //设置一个socket对象,锁定服务器的IP和端口
                Socket socket = new Socket("127.0.0.1", 8888);
                //2.获得输出节点流
                OutputStream outputStream = socket.getOutputStream();
                DataOutputStream dos = new DataOutputStream(outputStream);
                //3.写入数据
                /*   dos.writeUTF("中午吃啥了?");*/
                System.out.println("请输入你要发送的信息:");
                dos.writeUTF(input.next());
                //4.接受服务器端回复的消息
                InputStream inputStream = socket.getInputStream();
                DataInputStream dis = new DataInputStream(inputStream);
                System.out.println("服务器回复:" + dis.readUTF());
                //4.关闭流资源
                dis.close();
                dos.close();
            }
        }
    }
  • 服务器端
    package page.socketdemo;
    
    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.util.Scanner;
    
    /**
     * 服务器端
     */
    public class SSocket {
        public static void main(String[] args) throws IOException {
              Scanner input = new Scanner(System.in);
              ServerSocket ss = new ServerSocket(8888);
              while (true) {
                    System.out.println("服务器已启动!");
                    //通过系统类,一直关注一个端口号,判断是否有客户端发送请求
    
                    //2.接收发送过来的请求:
                    Socket socket = ss.accept();//accept();---可以阻塞线程
                    //3.获得输入流
                    InputStream inputStream = socket.getInputStream();
                    DataInputStream dis = new DataInputStream(inputStream);
    
                    //4.读出
                    String s = dis.readUTF();
                    System.out.println("客户端发来了的消息:" + s);
    
                    //5.回复
                    OutputStream outputStream = socket.getOutputStream();
                    DataOutputStream dos = new DataOutputStream(outputStream);
                    System.out.println("请回复客户:");
                    dos.writeUTF(input.next());
    
                    //5.关闭资源
                    dos.close();
                    dis.close();
              }
        }
    }
    

    cmd

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

四个TikTok万能爆单选品法,第1个超过75%卖家会用!

做TK想爆单至关键的一步就是选品!7分靠选品、3分靠运营,一开始你要把品选错了,再怎么运营都是在浪费时间。接下来分享一些万能选品思路,不管做什么类目的商家都可以参考! 一、热卖品榜单选品 这是一种很常见&#xf…

Linux开发工具——make/Makefile

目录 一、什么是makefile? 二、为什么要有makefile? 三、makefile的使用 1.依赖关系与依赖方法 2.伪目标 3.定义变量 4.特殊符号 四、makefile的执行逻辑 一、什么是makefile? Makefile是一种自动化构建工具,make是一条指…

开发中使用UML的流程_01概述

目录 CIM-1:定义业务流程 CIM-2:分析业务流程 ​CIM-3:定义系统范围 ​PIM-1:分析系统流程 PIM-2:分析业务规则 PIM-3:定义静态结构 PIM-4:定义操作和方法 开发中使用UML的流程,主要分为7部分,具体如下: CIM-1:定义业务流程 定义及分析业务流程是为了尽快理…

前端开发模板Pear Admin Layui

目录 基本资料学习笔记04-Pear-Admin-Layui模板运行05-Pear-Admin-Layui-GIT方式代...06-Pear-Admin与Vue对比 & 07-Pear-Admin与Vue对比补充09-Pear-Admin-CRUD练习-数据库表创建12-Pear-Admin-CRUD练习-引入其它依赖 & 13-Pear-Admin-CRUD练习-三层架构以及常见配置 …

[MySQL#10] 索引底层(1) | Page | 页目录

目录 1. 初识索引 2. 认识磁盘 3. MySQL与磁盘交互基本单位 4. 索引的理解 1. 重谈Page 2. 为什么IO交互要用Page 3. 有主键的表插入数据时的排序 4. 单个Page与多个Page 4.1 单个Page 4.2 多个Page 目录 单Page目录 多Page目录 在看本文之前,可以回顾…

.net c# 使用 MailKit库接收139邮箱邮件

开发工具 vs2022,新建-控制台应用。项目完整代码下载: 要安装MailKit库 using MailKit; using MailKit.Net.Imap; using MimeKit; using System.Text; namespace MailKit_mail {internal class Program{static void Main(string[] args){//需要使用 Ma…

Centos开机自启动脚本示例

本文建议创建一个sh文件管理自启动的各项内容,再将sh文件设置开机启动 在/root/autoshell下创建一个autostart.sh,内容如下 #!/bin/bash # description:开机自启脚本# 启动mongodb sh /root/software/mongodb-linux-x86_64-rhel70-4.0.6/bin/mongod --c…

虚拟现实和增强现实技术,如何打造沉浸式体验?

内容概要 在这个科技飞速发展的时代,虚拟现实(VR)与增强现实(AR)技术的结合就像调皮的小精灵,一下子把我们的生活变得神奇又有趣。想象一下,你正在游戏中与精灵搏斗,突然间身边的客…

计算机网络 TCP/IP体系 数据链路层

一. 数据链路层的基本概念 数据链路层主要负责节点之间的通信,确保从物理层接收到的数据能够准确无误地传输到网络层。 数据链路层使用的信道主要有以下两种类型: 点对点信道: 这种信道使用一对一的点对点通信方式。广播信道: 这种信道使用一对多的广播通信方式,…

数据结构————链表

一、引言 1. 中间/头部的插入删除,时间复杂度为O(N) 2. 增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。 3. 增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到200&#x…

【网络原理】深入理解关于HTTP协议和报文的格式以及重要的属性

前言 🌟🌟本期讲解关于HTTP协议的重要的机制~~~ 🌈感兴趣的小伙伴看一看小编主页:GGBondlctrl-CSDN博客 🔥 你的点赞就是小编不断更新的最大动力 🎆那么废话不…

【MyBatis源码】CacheKey缓存键的原理分析

文章目录 Mybatis缓存设计缓存KEY的设计CacheKey类主体CacheKey组成CacheKey如何保证缓存key的唯一性 Mybatis缓存设计 MyBatis 每秒过滤众多数据库查询操作,这对 MyBatis 缓存键的设计提出了很高的要求。MyBatis缓存键要满足以下几点。 无碰撞:必须保证…

面试题:JVM(二)

1. 面试题 简述 Java 类加载机制?(百度) JVM类加载机制 (滴滴) JVM中类加载机制,类加载过程,什么是双亲委派模型? (腾讯) JVM的类加载机制是什么? &#x…

数据库的使用02:SQLServer的连接字符串、备份、还原、SQL监视相关设置

目录 一、连接字符串 【本地连接字符串】 【远程连接字符串】 二、备份 三、还原 (1)还原数据库-bak、btn文件 (2)附加数据库mdf文件 四、SQL监视器的使用 一、连接字符串 【本地连接字符串】 server DESKTOP-FTH2P3S; Da…

【2024工业图像异常检测文献】UCAD: 使用对比学习提示的无监督连续异常检测方法

Unsupervised Continual Anomaly Detection with Contrastively-learned Prompt 1、Background 无监督异常检测(UAD)专注于在没有先验知识或标记实例的情况下识别数据中的不寻常模式或异常值,仅依赖于“正常”数据的内在分布(Cha…

【算法】Floyd多源最短路径算法

目录 一、概念 二、思路 三、代码 一、概念 在前面的学习中,我们已经接触了Dijkstra、Bellman-Ford等单源最短路径算法。但首先我们要知道何为单源最短路径,何为多源最短路径 单源最短路径:从图中选取一点,求这个点到图中其他…

[C++]——哈希(附源码)

目录 ​编辑 ​编辑 一、前言 二、正文 2.1 unorder系列关联式容器 2.1.1 unordered_map 2.1.1.1 unorderer_map的介绍 ①unordered_map的构造 ②unordered_map的容量 ③unordered_map的迭代器 ④unordered_map的元素访问 ⑤unordered_map的查询 ⑥unordered_map的修改操…

使用Ubuntu快速部署MinIO对象存储

想拥有自己的私有云存储,安全可靠又高效?MinIO是你的理想选择!这篇文章将手把手教你如何在Ubuntu 22.04服务器上部署MinIO,并使用Nginx反向代理和Let’s Encrypt证书进行安全加固。 即使你是新手,也能轻松完成&#xf…

Maven 下载配置 详解 我的学习笔记

Maven 下载配置 详解 我的学习笔记 一、Maven 简介二、maven安装配置三、maven基本使用四、idea配置mavenidea配置maven环境maven坐标idea创建maven项目配置Maven-Helper插件 五、依赖管理 一、Maven 简介 Apache Maven 是一个项目管理和构建工具,它基于项目对象模型…

一文带你了解,全国职业院校技能大赛老年护理与保健赛项如何备赛

老年护理与保健,作为2023年全国职业院校技能大赛的新增赛项,紧密贴合党的二十大精神,致力于加速健康与养老产业的蓬勃发展,并深化医养康养结合的服务模式。此赛项不仅承载着立德树人的教育使命,更通过竞赛的引领作用&a…