2016Java面试题精编版—类型转换

动力节点 Java培训

面试题

Whichofthefollowingwillcompilecorrectly?(D)

Ashortmyshort=99S

Bintt=”abc”.length()

Cfloatz=1.0

Dcharc=17c

解析:shortmyshort=99S这句要执行自动装箱,调用shortvalue方法,显然99S无法得到值。

将floatz=1.0;改为floatz.of;就行了,系统默认的浮点数是double型。

在Java中,length是属性,一般用来说明数组的长度;length()是方法,用来求数组中某个元素的字符串长度。

length()是字符串的方法,返回字符串的长度

S[1].length()就是”sdfgs”.length()值为5

Length是数组的属性,s.length的值为2

扩展知识:Java的数据类转换

Java的数据类分为三大类,即布尔型、字符型、和数值型,其中

,数值型又分为整型和浮点型。相对于数据类型,java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。此外,编程时还经常用到两种类变量,即string和date.

(1)数据类型转换的种类

Java数据类型的转换一般分为三种,分别是简单数据类型之间的转换、字符串与其他数据类型的转换、其他实用数据类型的转换。

(2)简单数据类型之间的转换

在Java中,整型、实型、字符型被视为简单数据类型,这些类型由第几道高级分别为(byte,short,char)—int—long—float—double。

简单数据类型之间的转换又可分为:低级到高级的自动类型转换、高级到低级的强制类型转换、包装类过度类型能够转换。

1)自动类型转换

低级变量可以直接转换为高级变量,这叫自动类型转换。例如,下面的语句可以在Java中直接通过;

如果低级别类型为char型,向高级类型(整型)转换时,会转换为对应的ASCII码值,例如

输出output:99;

对于byte、short、char三种类型而言,它们是相同级别的,因此不能相互自动转换,可以使用下述的强制类型转换。

输出:output:c;

2)强制类型转换

将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换如:

这种转换可能会导致溢出或精度的下降。

3)包装类过渡类型转换

Java的包装类就是可以直接将姜丹类型的变量表示为同一个类。Java共有6个包装类,冯别是Boolean、Character、Integer、Long、Float和Double,从字面上可以看出他们分别对应boolean、char、int、long、float和double.而string和date本身就是类,不存在包装类的概念。

在进行简单数据类型之间的转换(自动转换或强制转换)时,可以利用包装类进行中间过渡。一般情况下,首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。

你可能感兴趣的:(2016Java面试题精编版—类型转换)