进制转换的方法
十进制转换其他
十进制转成二进制
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型变量中就不能存储这个特殊汉字。