听视频的时候有如下代码,将60转换为16进制,但结果不是3c,而是3 67,强转的原因,我想问:强转是永远由低向高转,还是和谁运算就就自动变成谁,自动转换高低顺序和规则是什么?比如int 和double 运算,结果是double,那么char 和int 呢?
class OperateDemo3
{
public static void main (String[] args)
{
int num=60;
//获取60的最低4位,通过&15
int n1=num & 15;
System.out.println(n1>9?(char)(n1-10+'A'):n1);
//要获取下一组四位,将60右移4位。
int temp =60 >>>4;//负数>>最高位补1;
int n2 =temp & 15;
System.out.println(n2>9?(char)(n2-10+'A'):n2);
//结果不完整,没有学if,强转有问题。
}
} |
|