我从一个前端的菜鸟转到java班,刚开始的第一天学的知识都比较简单好理解,一些理论和历史,但即使这样对于陌生的语言也是听得一愣一愣的,Java是一门跨平台的面向对象编程语言。然后老师带我们写了第一个java程序,public class HelloWorld{
public static void main(String[] args) {
System.out.println("Hello World");
}
}
然后带我们认识了标识符、常量、关键字、有一些我在js里面见过,作用也差不多,所以也都能理解,第二天就是数据类型的转换了,听到这里我是很懵的,因为js是弱类型语言,根本不需要进行数据转换,java的数据转换还要讲究一定的语法,
double
类型内存8个字节,int
类型内存4个字节。1.5
是double
类型,取值范围大于int
。可以理解为double
是8升的水壶,int
是4升的水壶,不能把大水壶中的水直接放进小水壶去。
想要赋值成功,只有通过强制类型转换,将double
类型强制转换成int
类型才能赋值。
-
强制类型转换:将
取值范围大的类型
强制转换成取值范围小的类型
。
比较而言,自动转换是Java自动执行的,因为自动提升后不会丢失精度,出现错误;而强制转换需要我们自己判断是否手动执行,因为可能会出现精度丢失的问题。