阅读下面程序 import java.io.*; public class TypeTransition{ public static void main(String args[]){ char a=’h’;

admin2012-12-13  24

问题 阅读下面程序    import java.io.*;    public class TypeTransition{        public static void main(String args[]){           char a=’h’;           int i=100;           int j=97;           int aa=a+i;           System.out.println("aa="+aA) ;           char bb=(char)j;           System.out.println("bb="+bB) ;        }    }    如果输出结果的第二行为bb=a,那么第一行的输出是

选项 A、aa=I
B、aa=204
C、aa=v
D、aa=156

答案B

解析 本题考查的是Java的基本数据类型及其运算。程序开始生成了一个字符型变量a和3个整型变量i、j、aa。而整型变量aa的初始值是a+i,其中a是一个字符型变量。如何进行加法运算呢?Java语言规定,char型数据可以自动转换成int类型,转换的结果就是该字符的ASCII码值。因此,整型变量aa的初始值为字符“h”的 ASCH码值加上100。如果记住h的ASCII码值是104,则直接就确定aa的初始值是 204,选项B为正确答案。
   如果记不得h的ASCII码,题目中则给出提示。题目中说“输出结果的第二行为bb=a”,也就是字符比的值为字符a,bb的生成语句是char bb;(char)j,是把整型变量j的值强制转换为字符型。同样,把ASCH码值为.j(97)所对应的字符赋值给比。显然,字符a的ASCII码值为97,字符b的ASCII码值为98,依次类推,字符h的ASCII码为104。
   因此,本题的正确答案是B。
转载请注明原文地址:https://kaotiyun.com/show/VU2p777K
0

最新回复(0)