动力节点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本身就是类,不存在包装类的概念。 在进行简单数据类型之间的转换(自动转换或强制转换)时,可以利用包装类进行中间过渡。一般情况下,首先声明一个变量,然后生成一个对应的包装类,就可以利用包装类的各种方法进行类型转换了。
|