基本数据类型:
整型: byte --1个字节
short--2个字节
int--- 4个字节
long----8个字节
浮点型:double--8个字节
float---4个字节
布尔型:Boolean ---1/8个字节
字符类型:char---1或2个字节(视具体情况而定)
char c='a';
System.out.println(c.getBytes().lenth()),得到的是1(字节)
但汉字就完整地使用了16位(2字节)的Unicode,所以
char c='中';
System.out.println(c.getBytes().lenth()),得到的是2(字节)
int nubmer =(int)3.11 强转
强转也有要求,不然数据会失真
byte<short=char<int<long<float<double,同级之间相互转换也需要强制转换
变量
1.什么是变量?
程序中可以改变的量叫变量,与之相对的就是常量.
2.变量的作用?
变量的作用,存放可以修改的数据.
3.为什么用变量存储数据?
方便程序员通过命名变量以代替十六进制地址来找到所需要修改的数据.
创建字符串的方式
创建字符串的方式归纳起来有两类:
(1)使用""引号创建字符串;
String s1= "abc";
String s1= "abc";
(2)使用new关键字创建字符串。
String s3 = new String("abc");
String s4 = new String("abc");
(1)单独使用""引号创建的字符串都是常量,编译期就已经确定存储到String Pool中;
(2)使用new String("")创建的对象会存储到heap中,是运行期新创建的;
new创建字符串时首先查看池中是否有相同值的字符串,如果有,则拷贝一份到堆中,然后返回堆中的地址;如果池中没有,则在堆中创建一份,然后返回堆中的地址(注意,此时不需要从堆中复制到池中,否则,将使得堆中的字符串永远是池中的子集,导致浪费池的空间)!
(3)使用只包含常量的字符串连接符如"sss" + "sss"创建的也是常量,编译期就能确定,已经确定存储到String Pool中;
(4)使用包含变量的字符串连接符如"sss" + str1创建的对象是运行期才创建的,存储在heap中;