String类和包装类的转换
- public class Testbaozhuang {
- public static void main(String[] args) {
- int i=new Integer(100);
-
- System.out.println(i);
- //输入 字符串===》封装类
- //String转化为包装类型 两种方法
- //1.类名.parseInt
- //2. .valueof()
- String s="100";
- //Integer ss=Integer.parseInt(s);
- Integer ss=Integer.valueOf(s);
- System.out.println(ss);
-
- String s2="100.123";
- Double s22=Double.parseDouble(s2);
- System.out.println(s22);
-
- String s3="true";
- Boolean s33=Boolean.parseBoolean(s3);
- System.out.println(s33);
-
- //输出 封装类===》字符串
- }
- }
String 转换编码
String类型使用 getBytes() 方法 转换编码
compareTo比较大小默认规则是abc...排序的 数字是从大到小
- public class TestCompare {
- public static void main(String[] args) throws UnsupportedEncodingException {
- String s1,s2,s3;
- s1="abc";
- s2="adb";
- //compareTo 比字符串大小
- System.out.println(s1.compareTo(s2));
- //getBytes取编码值
- s3="中国人";
- String ss=new String(s3.getBytes("gbk"), "gbk");
- System.out.println(ss);
- }
- }
在 Java 程序中,不同的基本数据类型的数据之间经常需要进行相互转换。
基本数据类型转换原则:从低精度向高精度转换byte 、short、int、long、float、double、char
例如:
代码中 int 型变量 score1 可以直接为 double 型变量 score2 完成赋值操作,运行结果为: 82.0
这种转换称为自动类型转换。
当然自动类型转换是需要满足特定的条件的:
1. 目标类型能与源类型兼容,如 double 型兼容 int 型,但是 char 型不能兼容 int 型
2. 目标类型大于源类型,如 double 类型长度为 8 字节, int 类型为 4 字节,因此 double 类型的变量里直接可以存放 int 类型的数据,但反过来就不可以了
相信小伙伴们也发现了,尽管自动类型转换是很方便的,但并不能满足所有的编程需要。
例如,当程序中需要将 double 型变量的值赋给一个 int 型变量,该如何实现呢?
显然,这种转换是不会自动进行的!因为 int 型的存储范围比 double 型的小。此时就需要通过强制类型转换来实现了。
语法:( 数据类型 ) 数值
运行结果:
可以看到,通过强制类型转换将 75.8 赋值给 int 型变量后,结果为 75,数值上并未进行四舍五入,而是直接将小数位截断。