Java面试题之变量与常量(二)

零、单选

  1. 以下字符型字面值中,不合法的是?
    A. ‘@’
    B. ‘&’
    C. “M”
    D. ‘课’

答案与解析:本题考查字符型字面值的表示,字符型字面值是用单引号引起来的,并且单引号里面只能有一个字符,可以是汉字。因此ABD选项的内容是正确的。用双引号引起来的是字符串字面值,因此C选项的内容是不合法的,本题选不合法的字符型字面值表示,所以选C。

  1. 以下哪个选项是字符型字面值的正确表示方式?
    A. F
    B. ‘F’
    C. ‘EF’
    D. “AB”

答案与解析:本题考查字符型字面值的表示方式,其正确表示是:用单引号引起来,并且只能有一个字符,因此B选项正确。A选项没有单引号,C选项单引号引起来的有两个字符,D选项用双引号引起来两个字符,是字符串的表示方式。

  1. 下列的变量定义中,错误的是?
    A. int a;b;
    B. float a,b1=1.23f;
    C. char ch1=‘a’,ch2=’\n’;
    D. int n=100,m=2,k;

答案与解析:本题考查变量的定义,同时定义多个变量时,变量名间用逗号分隔,因此A选项的说法是错误的。其他几个选项都是正确的变量定义形式。

  1. 下列的变量定义中,正确的是?
    A. boolean b=”false”
    B. float f=5.6;
    C. byte x=343;
    D. double d=5.3f;

答案与解析:本题考查变量的定义。A选项错误,布尔类型的字面值,不能加双引号。B选项,float f=5.6;该条语句错误,5.6是double类型字面值,赋值给float类型会报错。C选项,343超出了byte类型的数据表示范围,因此byte x=343会发生编译错误。把float类型的字面值赋值给double类型的变量是可以的,因此D选项double d=5.3f是正确的。

一、多选

  1. 以下哪两个是合法的字符串字面值?
    A. “”
    B. ‘ab’
    C. ‘a’
    D. “\u0067”

答案与解析:本题考查字符串字面值的表示,字符串字面值应该用双引号引起来。BC选项用的是单引号,所以不正确。A选项是表示空字符串。D选项是字符串里只有一个Unicode表示的字符,也就是相当于字符串中只有一个字符的情况。

  1. 以下哪两条语句是正确的?
    A. char ch=65539;
    B. int n=5.6f;
    C. double d=1.2f;
    D. double d=1.23;float f=(float)d;

答案与解析:本题考查数据类型的转换。A选项,65539超出了字符型所表示的数据范围,因此该条语句是错误的。B选项,将float类型的数据赋值给int类型也会报错。C选项,可以将float类型数据赋值给double类型变量,会进行自动类型转换。D选项将double类型数据赋值给float类型变量,进行了强制类型转换是可以的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章