疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

基本数据类型转换(3)—[疯狂java讲义]


 

        经常上网的读者可能会发现有些网页上会包含临时生成的验证字符串,那么这个随机字符串是如何生成的呢?我们先随机生成一个在指定范围内的int数字(如果希望生成小写字母,也就在97122之间),然后将其强制转换成char型,再将多次生成的字符连缀起来即可。
        下面程序示范了如何生成一个6位的随机字符串,这个程序中用到了后面的循环控制,不理解循环的读者可以参考后面章节的介绍。
程序清单:codes/03/3-5/RandomStr.java
public class RandomStr
{
public static void main(String[] args)
{
//定义一个空字符串
String result=””;
//进行6次循环
For(int i=0;i<6;i++)
{
//生产一个97~122的int型的整数
int intVal=(int)(Math.random()*26+97);
//将intValue强制转换为char后连接到result后面
result=result+(char)intVal;
}
//输出随即字符串
System.out.println(result);
}
}
        下面还有一行容易出错的代码:
//直接将5.6赋值给float型变量将出现错误,因为5.6默认是double类型
float a=5.6
        上面代码中的5.6默认是一个double型的浮点数,因此将5.6赋给一个float型变量将导致错误,必须使用强制类型转换才可以,即将上面程序改为如下形式:
float a=(float)5.6
         通常情况下,字符串不能直接转换为基本类型,但通过基本类型对于的宝座类则可以实现把字符串转换成基本类型。例如我们希望把字符串转换成int类型,则可通过如下代码:
String a=”45”;
//使用Integer的方法将一个字符串转换成int类型
int iValue=Integer.parseInt(a);
         java 为8种基本类型都提供了对应的包装类:boolean对应Boolean、byte对应Byte、short对应Short、int对应Integer、long对应Long、char对应Character、float对应Float、double对于Double,8个包装类都提供了一个parseXxx(String srt)的静态方法用于将字符串转换成基本类型。关于包装类的介绍,请参考第六章的介绍。(摘自[疯狂java讲义].李刚)