JAVA中关于变量的一些细节

进制转换的方法

十进制转换其他

  十进制转成二进制
  Integer.toBinaryString(int i)
  十进制转成八进制
  Integer.toOctalString(int i)
  十进制转成十六进制:
  Integer.toHexString(int i)

其他转换十进制

  二进制转十进制
  Integer.valueOf(“1010”,2).toString()
  八进制转成十进制
  Integer.valueOf(“125”,8).toString()
  十六进制转成十进制
  Integer.valueOf(“ABCDEF”,16).toString()

输出与计算的关系

这个主意点也是和java语法的特点直接相关的,因为在print中,输出内容之间是用加号连接的,之久要注意‘+’在这的作用。

char c='A';
System.out.println(c);      //A
System.out.println(c+1);    //66
System.out.println(" "+c+1);    //A1,‘+’做了连接符
System.out.println(c+1+" ");    //66,‘+’做了运算符

类型自动转换

整数的字面量默认为int,小数的字面量默认为double,这就涉及到java语言的另一个特点,变量类型会自己变,在一系列数的运算中,自动变成占位最大的类型,这么做精度就几乎不会受到影响。

byte b3=b1+b2   //报错,无论b1、b2的值,默认变量为int,这是因为java可以自动类型转换
byte b=127;     //127
byte b2=128;    //-128,byte 8位,一个符号位,剩下的是7位,表示范围是-128到127,也就是10000000到01111111之间
byte b3=129;    //-127

String要点

String实际是个类,不是基本类型,它所有的常规运算起始都需要调用方法,加法运算实际调用的是重载的加号,这个与C++里面String类相似。

String name1="zzzkkk";
String name2="zzzkkk";
System.out.print(name1==name2);//fause,由于存储的地址不同
System.out.print(name1.equals(name2));//true

char是俩字节

在java中,char占2个字节16位,char型变量是用来存储Unicode编码的字符的,unicode编码字符集中包含了汉字,所以,char型变量中当然可以存储汉字。不过,如果某个特殊的汉字没有被包含在unicode编码字符集中,那么,这个char型变量中就不能存储这个特殊汉字。

猜你喜欢

转载自blog.csdn.net/dt_zhangshuo/article/details/81089570