Java 格式转换:利用格式转换实现随机数生成随机 char 字母及 string 字母串

简介: Java 格式转换:利用格式转换实现随机数生成随机 char 字母及 string 字母串

文章目录


前言

我们都知道在 Java 语言中有八种基本数据类型,而不同数据类型之间的转换你了解多少呢?今天我们通过本文带你了解利用格式转换实现 char 和 String 产生随机的小写字母及字母串的原理。

image.png


关于 Java 中产生随机数字的方法可以看我之前的帖子 Java 中产生随机数的方法

一、char 型与数值型转换规则

char 型数据可以转换成任意一种数值类型,反之亦然,其具体转换规则如下:

  • 整数转换成 char 型,只取该数据的低十六位,其余部分都被忽略。
  • 浮点值转换成 char 型,首先将浮点值转换成 int 型,然后将整型转换成 char 型。
  • char 型数据转换成数值类型时,这个字符的 Unicode 码就被转换成某个特定的数值类型。

二、随机数生成随机字母

所有的数值操作符都可以用在 char 型操作数上。如果另一个操作数是一个数字或字符,那么 char 型操作数就会被自动转换成一个数字。如果另一个操作数是一个字符串,字符就会与该字符串相连。

接下来我们通过这个原理实现随机数字生成小写随机字母,实现代码如下:

package review4_14;
public class RandomLowercase {
  public static void main(String[] args) {
    char ch = 'a';
    ch = (char)(Math.random() * 26 + 'a');
    System.out.println(ch);
  }
}

实现具体如下图所示:

image.png

三、随机数生成随机字母串

String 实际上与 System 类和 Scanner 类一样,都是 Java 库中预定义的一个类。可以声明一个空的字符串,即无参构造,而 char 仅仅是 Java 中八种基本数据类型中的一种,必须赋予其固定的值,通常可以初始化为 0。

同理,我们利用上面的规则及 for 循环生成随机字母串,实现代码如下:

package review4_14;
public class RandomLowercaseWithString {
  public static void main(String[] args) {
    String str = "";
    /*字符串中产生几个字符设置循环值为几即可*/
    for(int i = 0;i < 3;i ++) {
      str = str + (char)(Math.random() * 26 + 'A');
    }
    System.out.println(str);
  }
}

实现具体如下图所示:

image.png


总结

通过本文带你掌握了Java 中利用格式转换实现 char 和 String 产生随机的小写字母及字母串。一定要抓好基础,基础是一切。活学活用,一切皆是二进制,一切皆是互通的。

image.png


我是白鹿,一个不懈奋斗的程序猿。望本文能对你有所裨益,欢迎大家的一键三连!若有其他问题、建议或者补充可以留言在文章下方,感谢大家的支持!



相关文章
|
9月前
|
Java UED
Java中String强转int:一种常见的错误和解决方法
在Java中将非数字字符串转换为整数会导致`NumberFormatException`。要解决这个问题,可以使用`try-catch`捕获异常,正则表达式验证数字格式,或利用异常信息提供错误提示。例如,`Integer.parseInt()`会因遇到非数字字符如`&quot;123abc&quot;`而抛出异常,但通过异常处理或正则`\\d+`可确保安全转换。记得在编程时避免直接强转,以防止程序异常中断。
|
6月前
|
存储 Java Windows
java基础(9)数据类型中的char类型以及涉及到的转义字符
Java中的char类型可以存储一个中文字符,因为它占用两个字节。转义字符允许在代码中使用特殊字符,例如`\n`表示换行,`\t`表示制表符,`\\`表示反斜杠,`\'`表示单引号,`\"`表示双引号。可以使用`\u`后跟Unicode编码来表示特定的字符。
131 2
java基础(9)数据类型中的char类型以及涉及到的转义字符
|
7月前
|
前端开发 Java
成功解决:java.lang.String cannot be cast to java.lang.Integer
这篇文章记录了作者在使用Axios二次封装时遇到的一个Java类型转换问题,即前端传递的字符串参数不能直接转换为Integer类型,文章提供了正确的转换方法来解决这个问题。
成功解决:java.lang.String cannot be cast to java.lang.Integer
|
7月前
|
Java
Java系类 之 生成随机数(random()和Random类)
这篇文章介绍了Java中生成随机数的两种方法:使用`Math.random()`方法和`Random`类的实例方法,并提供了示例代码展示如何使用这些方法生成特定范围或特定条件下的随机数。
|
7月前
|
安全 Java API
Java系类 之 String、StringBuffer和StringBuilder类的区别
这篇文章讨论了Java中`String`、`StringBuffer`和`StringBuilder`三个类的区别,其中`String`是不可变的,而`StringBuffer`是线程安全的可变字符串类,`StringBuilder`是非线程安全的可变字符串类,通常在单线程环境下性能更优。
Java系类 之 String、StringBuffer和StringBuilder类的区别
|
7月前
|
Java Android开发
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
解决Android编译报错:Unable to make field private final java.lang.String java.io.File.path accessible
1016 1
|
8月前
|
Java
Java中将保留四位小数的Double转换为String的方法详解
选择合适的方法,可以使代码更加简洁、高效,同时也能满足不同场景下的需求。
193 5
|
8月前
|
安全 Java 索引
带你快速掌握Java中的String类和StringBuffer类(详解常用方法 | 区别 )
带你快速掌握Java中的String类和StringBuffer类(详解常用方法 | 区别 )
|
8月前
|
安全 Java
Java基础之StringBuffer
【7月更文挑战第1天】 Java中的`StringBuffer`是线程安全的字符串操作类,适合多线程环境,而`StringBuilder`非线程安全,速度更快,适用于单线程。两者提供`append()`、`insert()`、`delete()`等方法修改字符串,避免了频繁创建新对象的性能问题。在不需要线程安全时,推荐使用`StringBuilder`以提高效率。
46 1
|
9月前
|
存储 安全 Java
Java生成随机数的代码和方法
Java生成随机数的代码和方法
270 6

热门文章

最新文章