java实现无符号数转换、字符串补齐、md5、uuid、随机数示例

Java实现无符号数转换

在Java中,整数类型默认为带符号整数,即可以表示正数、负数和0。而有时候我们需要处理无符号整数,即只能表示非负整数。这时候可以使用Java中的位运算进行转换。

将有符号整数转换为无符号整数需要进行以下操作:

  1. 将有符号整数的二进制表示转换为补码表示。
  2. 将补码表示的二进制字符串左移一位,并将右侧补一个0,这样可以去掉一个符号位。
  3. 将左移后的二进制字符串转换为无符号整数。

示例代码:

public class UnsignedConversionExample {

    public static long signedToUnsigned(int signed) {
        // 将有符号整数转换为无符号整数
        return signed & 0x0FFFFFFFFL;
    }

    public static int unsignedToSigned(long unsigned) {
        // 将无符号整数转换为有符号整数
        return (int) unsigned;
    }

    public static void main(String[] args) {
        int signed = -123456;
        long unsigned = signedToUnsigned(signed);
        System.out.printf("%d的无符号整数为%d%n", signed, unsigned);
        signed = unsignedToSigned(unsigned);
        System.out.printf("%d的有符号整数为%d%n", unsigned, signed);
    }

}

字符串补齐

在Java中,常常需要将字符串按照一定的长度进行补齐。这时可以使用Java中的方法进行操作。

示例代码1:补齐空格

public class StringPaddingExample {

    public static void main(String[] args) {
        String str = "Java";
        String paddedStr = String.format("%-10s", str);
        System.out.printf("原字符串为%s,补齐后的字符串为%s%n", str, paddedStr);
    }

}

示例代码2:补齐0

public class StringPaddingExample {

    public static void main(String[] args) {
        int i = 123;
        String paddedNum = String.format("%03d", i);
        System.out.printf("原数字为%d,补齐后的字符串为%s%n", i, paddedNum);
    }

}

md5

在Java中,可以使用Java Security中的MessageDigest类实现md5加密。

示例代码:

import java.math.BigInteger;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

public class Md5Example {

    public static String md5(String input) {
        MessageDigest md = null;
        try {
            md = MessageDigest.getInstance("MD5");
            byte[] messageDigest = md.digest(input.getBytes());
            BigInteger no = new BigInteger(1, messageDigest);
            String hashText = no.toString(16);
            while (hashText.length() < 32) {
                hashText = "0" + hashText;
            }
            return hashText;
        } catch (NoSuchAlgorithmException e) {
            throw new RuntimeException(e);
        }
    }

    public static void main(String[] args) {
        String input = "Hello World!";
        String hash = md5(input);
        System.out.printf("输入字符串为%s,md5值为%s%n", input, hash);
    }

}

uuid

在Java中,可以使用Java的UUID类生成UUID。

示例代码:

import java.util.UUID;

public class UuidExample {

    public static void main(String[] args) {
        UUID uuid = UUID.randomUUID();
        System.out.printf("生成的UUID为%s%n", uuid);
    }

}

随机数

在Java中,可以使用Java的Math类和Random类生成随机数。

示例代码1:使用Math类生成随机数

public class RandomExample {

    public static void main(String[] args) {
        double randomDouble = Math.random();
        System.out.printf("生成的随机数为%f%n", randomDouble);
    }

}

示例代码2:使用Random类生成随机数

import java.util.Random;

public class RandomExample {

    public static void main(String[] args) {
        Random random = new Random();
        int randomInt = random.nextInt(100);
        System.out.printf("生成的随机数为%d%n", randomInt);
    }

}

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现无符号数转换、字符串补齐、md5、uuid、随机数示例 - Python技术站

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

相关文章

  • 简单实现nginx+tomcat的反向代理与动静分离

    首先我们先来简单了解一下nginx和tomcat以及反向代理和动静分离的概念。 Nginx是一种高性能Web服务器,反向代理服务器和电子邮件(IMAP / POP3)代理服务器。 它主要用于Web应用反向代理,负载均衡,缓存和静态文件服务。Nginx是一种可扩展的Web服务器,可以以非常低的资源消耗为高性能提供服务。 Tomcat是一个开源Web服务器,被认…

    Java 2023年5月19日
    00
  • SpringMVC编程使用Controller接口实现控制器实例代码

    在 SpringMVC 中,控制器是用于处理 Web 请求的组件。SpringMVC 提供了多种方式来实现控制器,其中一种方式是使用 Controller 接口。本文将详细讲解如何使用 Controller 接口实现控制器,包括编写控制器、处理请求、返回响应等。 编写控制器 要使用 Controller 接口实现控制器,我们需要编写一个类,并实现 Contr…

    Java 2023年5月18日
    00
  • Jersey框架的统一异常处理机制分析

    Jersey框架是JavaEE官方提供的RESTful web服务框架,它提供了丰富的功能和易用的API,帮助开发人员快速构建RESTful web服务。在实际应用中,由于外部请求的多变性,我们难以避免出现各种异常情况。为了提高应用程序的健壮性和可维护性,Jersey框架提供了完善的异常处理机制。下面将结合具体案例,给大家详细讲解Jersey框架的统一异常处…

    Java 2023年5月19日
    00
  • Springboot处理异常的常见方式

    在Springboot中,异常处理是一个非常重要的话题。对于Web应用程序来说,它尤其重要,因为在 Web 应用程序中,您需要处理各种类型的异常,并向客户端发送有意义的响应。本文将为您介绍在Springboot中处理异常的常见方式。 异常处理的概念 异常处理:所谓异常处理,就是在应用程序执行出错时,能够捕获到错误并对其进行处理,让应用程序继续运行的一种技术。…

    Java 2023年5月27日
    00
  • redis scan命令导致redis连接耗尽,线程上锁的解决

    下面我会详细讲解Redis Scan命令导致Redis连接耗尽和线程上锁的解决攻略。 问题背景 Redis Scan命令是Redis用于迭代key的一种方法。Scan命令的工作原理是对已有keys的集合进行分批迭代。但是,由于Scan需要通过多次迭代才能完成全部数据的扫描,所以会比较耗时和占用Redis的连接资源。 同时,当多个线程同时对Redis进行Sca…

    Java 2023年5月19日
    00
  • JSP实现登录功能之添加验证码

    JSP实现登录功能之添加验证码的完整攻略可以分为以下几步: 1. 引入验证码依赖库 首先需要引入验证码相关的依赖库,常用的验证码依赖库有Kaptcha和Google的ReCaptcha。 以Kaptcha为例,需要在项目的pom.xml文件中添加以下依赖: <dependency> <groupId>com.github.penggl…

    Java 2023年6月15日
    00
  • 解决spring data jpa 批量保存更新的问题

    当我们要批量插入或更新数据时,使用Spring Data JPA的saveAll()方法可能会出现性能问题。 原因是saveAll()内部是将数据一条一条插入或更新到数据库,这样会导致插入或更新的性能较低,尤其在数据量较大的情况下。 为了解决这个问题,我们可以使用以下两种方式: 方式一:批量插入或更新实例列表 使用批量插入或更新实例列表的方法可以提高性能,不…

    Java 2023年5月20日
    00
  • JSON复杂数据处理之Json树形结构数据转Java对象并存储到数据库的实现

    下面是详细的攻略: JSON复杂数据处理之Json树形结构数据转Java对象并存储到数据库的实现 背景介绍 JSON是一种轻量级的数据交换格式,常用于Web应用中的数据传输。在实际开发中,我们常常需要将JSON数据转换为Java对象,并将这些对象存储到数据库中。而JSON数据可能比较复杂,包含嵌套的数据结构,如树形结构数据。因此,本篇攻略将介绍如何使用Jav…

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