Java实现无符号数转换
在Java中,整数类型默认为带符号整数,即可以表示正数、负数和0。而有时候我们需要处理无符号整数,即只能表示非负整数。这时候可以使用Java中的位运算进行转换。
将有符号整数转换为无符号整数需要进行以下操作:
- 将有符号整数的二进制表示转换为补码表示。
- 将补码表示的二进制字符串左移一位,并将右侧补一个0,这样可以去掉一个符号位。
- 将左移后的二进制字符串转换为无符号整数。
示例代码:
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技术站