黑马程序员技术交流社区

标题: 安卓基础班第一次考试和答案分享 [打印本页]

作者: okchenyang44    时间: 2016-5-16 23:26
标题: 安卓基础班第一次考试和答案分享
考试宣言:
同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷!
我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业!
本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。
1.下面说法正确的是()
A.        JVM就是Java虚拟机,包含java核心类库
B.  JRE就是java运行环境,包含java程序编译运行的工具环境
C.  JDK就是java开发环境,javac是其中的一个工具       
D.  功能范围:JDK > JVM > JRE


2.下面的说法正确的是(  )
A.  Java 语言是面向对象的、解释执行的网络编程语言。
B.  Java 语言具有可移植性,是与平台无关的编程语言。         
C.  Java 语言可对内存垃圾自动收集。
D.  Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。


3.给定java代码,如下:
public byte count(byte b1, byte b2){
        return ____;
}
要使这段代码能够编译成功,横线处可以填入
A.        (byte)(b1-b2)
B.   b1-b2
C.  (byte)b1+b2
D.  (byte)b1/b2


4.关于类的命名,正确说法是()
A.  可以由数字和英文拉丁字母组成,且可以任意排序
B.  命名要做到见名知意
C.  如果是由多个单词组成,每个单词首字母大写
D.  可以是Java已经定义过的关键字


5.关于main方法说法错误的是()
A.main方法是java程序执行的入口
B.main方法的方法体重至少要有一行代码
C.main必须定义在一个类中
D.  main方法的定义格式为:public static void main(String[] args){}


6.类中某方法定义如下:
double fun(int a,int b){   
return a*1.0/b;  

同一类内其它方法调用该方法的正确方式是: 
A.        double a = fun(1,2); 
B.  double a = fun(1.0,2.0); 
C.  int x = fun(1,2);  
D.  int x = fun(1.0,2.0);


7.给定java代码,如下,编译运行,结果是()
public static void main(String[] args){
        boolean flag;
        System.out.println(“flag”+flag);
}
A.        编译错误
B.  编译通过,单出现运行时错误
C.  正常运行,输出flag=false
D.  正常运行,输出flag=


8.下面哪个关键字可以定义一个类()
A.        interface
B.  class
C.  extends
D.  implements



9.byte类型的取值范围是()
A.        -256至255
B.  -255至255
C.  -128至127       
D.  -127至128


10.下面关于java中方法,描述错误的是(   )
A.必须定义在类里面
B.定义一个方法之前要明确该方法需要的参数和返回值类型
C.方法可以提高代码复用性,提高程序运行的效率
D.方法只有调用才会被执行


11.下面程序执行的结果是?(  )
class  Test
{
public  static  void  main(String[] args)
{
                System.out.println(““+’a’+1);
}
}
A.        98
B.  a1
C.  971
D.  197


12.for循环格式如下:
for(表达式1;表达式2;表达式3){
        //code
}
下面描述错误的是()
A.  表达式1处的代码会被执行多次
B.  表达式1处可以定义变量
C.  表达式3用于决定循环是否应该结束
D.  表达式2的值可以是任意类型,也可以是boolean类型


13.以下选项可以正确创建一个长度为3的二维数组的是 (   )
A.new int[2][3]
B.new int[3][]
C.new int[][3]
D.以上答案都不对


14.设以下是应用程序中定义的方法printBinary,若在其main方法中有方法调用语句printBinary(2),则输出的结果是 (   )。
static void printBinary(int i) {
        System.out.print(i + "的2进制数表示为:\t");
        for(int j = 31; j >=0; j--)
            if(((1 << j) &  i) != 0)
                System.out.print("1");
            else
                System.out.print("0");
        System.out.println();
  }
A) 00000000000000000000000000000001
B) 00000000000000000000000000000010       
C) 00000000000000000000000000001111
D) 00000000000000000000000000000000


15.下面关于return语句说法正确的是:  (  ) 
A.只能让方法返回数值 
B.方法都必须显式使用该关键字 
C.方法中可以有多句return         
D.可以用来返回数值以外的类型


16.下面程序执行的结果是?()
int i = 100;
while(true)
{
        if (i++ > 100)
        {
                break;
        }
System.out.println(i);
}

A.  100
B.  101
C.  102
D.  报错


17.下面关于Java语言跨平台说法错误的是:
A. java语言编写的程序,一次编译后,可以在多个系统平台上运行。
B. java语言垮平台依赖于java虚拟机
C. java垮平台,java虚拟机也是垮平台的(不同系统平台使用相同的java虚拟机)
D. 原理是java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。


18.下面程序的运行结果是    (  )
int a=3, b=1;
if(a==b)
{
System.out.println("a="+a);
}
A.  a=1                
B.  a=3
C.  编译错误
D.  正常运行但没有输出


19.下面程序的运行后,结果正确的是:
int a=1,b=2;
int c=(a+b>3?a++:++b);

A.  a=2,b=3
B.  a=1,b=3
C.  a=1,b=2
D.  c=2


20.定义如下的二维数组b,下面的说法正确的是(  )
        int b[][]={{1, 2, 3}, {4, 5},{6, 7, 8}}};
A.  b.length的值是3
B.  b[1].length的值是3
C.  b[1][1]的值是5       
D.  二维数组b的第一元素有3个子元素


21.下面哪种类型的文件可以在java虚拟机中运行? (   )
A..java
B..jre
C..exe
D..class


22.下面程序的运行结果
class Demo
{
        public static int fun(int c)
{
                return  c+=2;       
        }
        public static void main(String[] args)
{
                int temp = fun(2);
                System.out.println(temp);
        }
}
A.  2
B.  4
C.  6
D.  8


23.下列方法定义中,正确的是(   )。
A) int x( ){ return true; }
B) void x( ){ return true; }
C) int x( ){ char ch='a'; return (int)ch; }
D) int x( int a, int b){ return a+b; }


24.下面数组定义正确的是()
A.  int [] arr ={23,45,65,78,89};
B.  int [] arr=new int[10]{};
C.  int [] arr=new int[4]{3,4,5,6};
D.  int [] arr={"a",23 ,45,6};


25.下面程序执行的结果是?( )
int x =1,y=1;
if(x++==2 & ++y==2)
{
        x=7;
}
System.out.println("x="+x+"  ,  y="+y);
A.  x=1  y=2
B.  x=7  y=1
C.  x=7  y=2  
D.  x=2  y=2


26.JDK1.7之后,switch语句后括号里的表达式可以是以下哪种类型()
A.  char
B.  String
C.  long
D.  枚举类型


27.同一类中有两个以上方法同名称方法重载,Java语言规定(): 
A.        不允许重载
B.  重载方法的参数列表必须不同 
C.  重载方法的返回值类型必须不同
D.  重载方法的参数列表和返回值类型必须都不同。 


28.下面程序执行的结果是?( )
boolean b=true;
if(b=false)
{
        System.out.println("a");
}
else if(b)
{
        System.out.println("b");       
}
else if(!b)
{
        System.out.println("c");
}
else
{
        System.out.println("d");
}
A.        a   
B.        b  
C.        c
D.        d


29.关于选择结构下列哪个说法正确? (  ) 
A. if语句和 else语句必须成对出现 
B. if语句可以没有else语句对应 
C. switch结构中每个case语句中必须用break语句
D. switch结构中必须有default语句


30.下面程序执行的结果是?()
int x=2,y=3;
switch(x)
{
        default:
                y++;
        case 3:
                y++;
        case 4:
                y++;
}
System.out.println("y="+y);
A.  3
B.  4
C.  5
D.  6


31.阅读下面代码段:
public class Demo
{
  public static void main (String[] args)
  {
                int[] arr = new int[10];
          System.out.println(arr[1]);
  }
}
执行结果正确的说法是(  )
A.  编译时将产生错误
B.  编译时正确,运行时将产生错误
C.  输出零
D.  输出空


32.设有定义 float x=3.5f, y=4.6f, z=5.7f; 则以下的表达式中,值为false的是( )
A.  x > y || x > z   
B.  x < y & ! ( x < z )
C.  z > ( y + x )   
D.  x != y


33.和下面代码执行结束后,sum结果一致的选项是()
int i=1;
int sum=0;
while(i<=100)
{
        if(i%2==0)
        {
                sum=sum+i;
}
        i++;
}
  
A.  for (int x =1; x<=100;x++){ sum=sum+x;}
B.  for (int x =0; x<=100;x+=2){ sum=sum+x;}
C.  for (int x =1; x<=100;x+=2){ sum=sum+x;}
D.上述全对


34.下面不属于基本数据类型的是()
A.  int
B.  double
C.  Long
D.  int[]


35.下面哪个不是java中的关键字?(   )
A.        public
B.  true
C.  main
D.  class


36.以下代码输出是(  )
int i=0;
int sum=0;
while(i<=10)
{
i++;
         if( i%2 !=0 )
                continue;
sum+=i;

}
System.out.println(sum);
A.  55
B.  45
C.  35
D.  30


37.关于 for循环和 while循环的说法哪个正确? (  ) 
A.while循环先判断后执行,for循环先执行后判断。 
B.while循环判断一般不明确循环次数,for循环的判断一般明确循环次数 
C.两种循环任何时候都不可以替换 
D.两种循环结构中都必须有循环体,循环体不能为空


38.下面程序执行的结果是( )
class Demo
{
public static void main(String [] args)
{
        int a=10;
        if(a++>10)
{
        a=20;
}
        System.out.println(a);
}
}
A.  11
B.  12
C.  20
D.  21


39.下列语句序列执行后,i的值是(    )。
int i=16;
do {
i/=2;
} while( i > 3 );
A. 16
B. 8
C. 4
D. 2


40.定义变量如下:
char c='w'; int i=8; long L=15; float f=8.9f;
以下赋值语句正确的是(  )。
A.  i=c+i;
B.  c=c+i;       
C.  L=f+L;
D.  f=i+L+f;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2