String s = "1";
byte b = Byte.parseByte( s );
short t = Short.parseShort( s );
int i = Integer.parseInt( s );
long l = Long.parseLong( s );
Float f = Float.parseFloat( s );
Double d = Double.parseDouble( s );
MyDate today; //将变量分配一个保存引用的空间
today = new MyDate(); // 这句话是2步,首先执行new MyDate(),给today变量开辟数据空间,然后再执行赋值操作
引用变量赋值:
MyDate a,b; // 在内存开辟两个引用空间
a = new MyDate(); // 开辟MyDate对象的数据空间,并把该空间的首地址赋给a
b = a; // 将a存储空间中的地址写到b的存储空间中
1282Java 基本数据类型
Java 里使用 long 类型的数据一定要在数值后面加上 L,否则将作为整型解析:
long g = (long)9223372036854775807;
long h = (long)-9223372036854775808;
或者
long g = 9223372036854775807;
long h = -9223372036854775808;
会出现以下报错信息:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
The literal 9223372036854775807 of type int is out of range
The literal 9223372036854775808 of type int is out of range
1286Java 基本数据类型
数据类型转换的补充
1、包装类过渡类型转换
一般情况下,我们首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。例如:
当希望把float型转换为double型时:
简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。
2、字符串与其它类型间的转换
其它类型向字符串的转换
3、字符串作为值,向其它类型的转换
1、先转换成相应的封装器实例,再调用对应的方法转换成其它类型
例如,字符中"32.1"转换double型的值的格式为:new Float("32.1").doubleValue()。也可以用:Double.valueOf("32.1").doubleValue()
2、静态parseXXX方法
3、Character的getNumericValue(char ch)方法
4、Date类与其它数据类型的相互转换
整型和Date类之间并不存在直接的对应关系,只是你可以使用int型为分别表示年、月、日、时、分、秒,这样就在两者之间建立了一个对应关系,在作这种转换时,你可以使用Date类构造函数的三种形式:
在长整型和Date类之间有一个很有趣的对应关系,就是将一个时间表示为距离格林尼治标准时间1970年1月1日0时0分0秒的毫秒数。对于这种对应关系,Date类也有其相应的构造函数:Date(long date)。
获取Date类中的年、月、日、时、分、秒以及星期你可以使用Date类的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,你也可以将其理解为将Date类转换成int。
而Date类的getTime()方法可以得到我们前面所说的一个时间对应的长整型数,与包装类一样,Date类也有一个toString()方法可以将其转换为String类。
有时我们希望得到Date的特定格式,例如20020324,我们可以使用以下方法,首先在文件开始引入:
总结:
1、只有 boolean 不参与数据类型的转换
2、自动类型的转换:
3、强制类型转换:用圆括号括起来目标类型,置于变量前
1285Java 基本数据类型
char a = 'S'; char 后面赋值要用单引号,因为是字符型数据类型
String a = "I AM FINE"; String 后面赋值要用双引号,因为是字符串数据类型
1284Java 基本数据类型
那么 a+b 是什么类型?
答:在java的世界里,如果比int类型小的类型做运算,java在编译的时候就会将它们统一强转成int类型。当是比int类型大的类型做运算,就会自动转换成它们中最大类型那个。
1283Java 基本数据类型
引用类型是一个对象类型,它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。
引用类型就不是了,只给变量分配了引用空间,数据空间没有分配,因为不知道数据是什么。
错误的例子:
引用类型变量在声明后必须通过实例化开辟数据空间,才能对变量所指向的对象进行访问。
引用变量赋值:
1282Java 基本数据类型
会出现以下报错信息:
溢出了~
解决方法在数值后面加上 L: