第四章 字符串与基本数据类型的转换(1.3)
3.1、基本数据类型转换为String型
基本类型的数据转换成字符串类型有通常有两种方法:
- 通过字符串连接(使用“
+
”符号)将基本类型转换为string型; - 通过string类型提供的
vlalueof
(基本类型数据 变量名)方法将基本数据类型转换为字符串类型。
例1:
Pubic class Text{
Public static void mian(String[] args){
//通过字符串连接将基本类型转换为String型。
Int num = 2020;
Boolean bool = true;
String str1 ="" + num;
String str2 = "" + bool;
}
}
例2:
Public class Text {
Public static void main(String[] args){
//通过string类型提供的vlalueof(基本数据类型 变量名)方法将基本数据类型转换为字符串类型。
Int num = 2020;
Boolean bool = true;
String str1 = string.vlalueOf(num);
String str2 = string.vlalueOf(bool);
}
}
例 3:
String string = "123";
int num1 = 10;
int num2 = 20;
System.out.println(string+num1+num2);
System.out.println(num1+num2+string);
// 结果:
1231020
30123
解释:
string+num1+num2
结果为1231020
,由于string+num1
先运算,使其转换为字符串类型,接着再与num2
连接,最终形成1231020
字符串。(此时的+
是连接符);num1+num2+string
结果为30123
,num1+num2
先进行加法算数运算,接着与string
进行字符串连接。(第一个+
为加号,第二个+
为连接符)
3.2、String型转换为基本数据类型
将字符串类型转换为基本类型,需要使用基本类 型的包装类。Java为每一种基本类型都提供了对应的包装类,包装类提供了一些常用的操作,其中就包括将字符串类型转换成基本类型。基本类型的包装类及其转换方法如下表:
基本类型 | 包装类 | 方法名称 | 作用 |
---|---|---|---|
byte | Byte | parseByte(String s) | 将字符串转换为byte类型 |
short | Short | parseShort(String s) | 将字符串转换为short类型 |
int | Integer | parseInt(String s) | 将字符串转换为int类型 |
long | Long | parseLong(String s) | 将字符串转换为long类型 |
float | Float | parseFloat(String s) | 将字符串转换为float类型 |
double | Double | parseDouble(String s) | 将字符串转换为double类型 |
boolean | Boolean | parseBoolean(String s) | 将字符串转换为boolean类型 |
解释;
字符串与char类型的转换可以通过字符串的charAt(int index )
方法来实现。
注意:
1、Integer与int的区别
- Integer是int的包装类,int则是java的一种基本数据类型
- Integer变量必须实例化后才能使用,而int变量不需要
- Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值 。
- Integer的默认值是null,int的默认值是0
int 是基本数据类型
Integer是其包装类,注意是一个类。
2、为什么要提供包装类呢???
一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。
比如,现在int要转为String
int a=0;
String result=Integer.toString(a);
在java中包装类,比较多的用途是用在于各种数据类型的转化中。
我写几个demo
//通过包装类来实现转化的
int num=Integer.valueOf("12");
int num2=Integer.parseInt("12");
double num3=Double.valueOf("12.2");
double num4=Double.parseDouble("12.2");
//其他的类似。通过基本数据类型的包装来的valueOf和parseXX来实现String转为XX
String a=String.valueOf("1234");//这里括号中几乎可以是任何类型
String b=String.valueOf(true);
String c=new Integer(12).toString();//通过包装类的toString()也可以
String d=new Double(2.3).toString();
再举例下。比如我现在要用泛型
List<Integer> nums;
这里<>
需要类。如果你用int。它会报错的
例1:
Public class Text {
Public static void main(String[] args){
String str1 = “2020”;
String str2 = “3.14”;
String str3 = “true”;
Int num = integer.parseInt(str1);
Double doub = double.parseDouble(str2);
Boolean bool = boolean.parseBoolean(str3);
}
}
例2:
Public class Text {
Public static void main(String[] args){
String str = “2020年新春快乐。”;
Char char =str.charAt(4);
}
}