代码改变世界

重头再学习java(3):数值类型的相互转换

2013-06-10 14:09  很大很老实  阅读(301)  评论(0编辑  收藏  举报

实心箭头表示无信息丢失的转换;虚箭头标识可能存在信息丢失的转换。

如:int n=123456789;float f=n;则f=1.23456792e8

 

强制类型转换:

从java5.0开始,可以自定义枚举类型,比如:

enum Size{SMALL,MEDIUM,LARGE,EXTRA_LARGE}

Size s=Size.MEDIUM;

 

字符串:

  substring用来取子串;

  +用来拼接字符串;

 String类的字符串,是不可变字符串。

 equals,检查字符串内容给是否相等。

  ==测试字符串的相等性。

 

String a,b,c;
    a="12345";
    b=a;
    c="12345";
    if(c.equals(a)) System.out.println("a字符串和c字符串内容一样");
    if(c.equals(b)) System.out.println("a字符串和b字符串内容一样");
       if(c==a) System.out.println("c=a");
       if(c==b) System.out.println("c=b");
       if(b==a) System.out.println("b=a");
       if(c!=a) System.out.println("c!=a");
       if(c!=b) System.out.println("c!=b");
       if(b!=a) System.out.println("b!=a");
      

出来的结果是:a字符串和c字符串内容一样
a字符串和b字符串内容一样
c=a
c=b
b=a

这是因为,在虚拟机里,字符串存放共享了。如果更改一下:

  if(c.substring(0,3)==a.substring(0,3))  System.out.println("c.substring(0,3)==a.substring(0,3)");
  则是不等的。

String类有50多个方法,大部分都很有用:

可以通过StringBuilder构造字符串,不断的append,然后tostring输出。