A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hello008 中级黑马   /  2015-12-18 22:43  /  3161 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.java程序运行不了显示“仅当显示请求注释处理时接受类名称‘java’”
  答:把工具中>首选项>自定义工具>javac中的参数改成文件名
2.请分别计算出x,y的值?

   int x = 4;
   int y = (x++)+(++x)+(x*10);
                          x的变化:4     6     6
          y=4+6+6*10=70    x=6
*3.求1-10之间的和。
class Demo {
public static void main(String[] args) {
  for(int i=1;i<=10;i++) {
   int sum=0;
   sum+=i;
      System.out.println(sum);
  }
}
该代码有错误吗?错在哪?
有,sum定义在for循环里,每次循环时都被赋值0,所以不能求和。正确方式应
将sum定义在for循环外(for循环上面)。输出语句放到for循环外执行
class Demo {
public static void main(String[] args) {
     int sum=0;
  for(int i=1;i<=10;i++) {
   sum+=i;
  }
      System.out.println(sum);
}
*4.求水仙花数,下面代码哪里有错?
class Demo {
public static void main(String[] args) {
  int sum=0;
  for(int i=100;i<=999;i++) {
   if(((i%10)*(i%10)*(i%10)+((i/10)%10)*((i/10)%10)*((i/10)%10)+((i/100)%10)*((i/100)%10)*((i/100)%10))==i) {
   sum=i;
   
   }
     System.out.println(sum);
  }
}
}
}
答:打印输出语句放在了if语句外,那该语句会执行899次,值也会在if语句后才
发生改变。所以正确格式应该将输出语句放在if语句里。
5.关于类的命名,正确说法是(C)
A.  可以由数字和英文拉丁字母组成,且可以任意排序
B.  命名要做到见名知意
C.  如果是由多个单词组成,每个单词首字母大写
D.  可以是Java已经定义过的关键字
答:少选个B选项,要做到和必须做到没分清

6.boolean b=true;     (B)
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
答:应该选C选项,if语句中是将false赋值给b不是等于b

7.下面关于return语句说法正确的是:  (AC  )
A.只能让方法返回数值
B.方法都必须显式使用该关键字
C.方法中可以有多句return
D.可以用来返回数值以外的类型
答:应该选CD,return不一定只能返回数值。例如打印星星就没有返回值,return返回String类型的值就不是数值
8.阅读下面代码段:
public class Demo
{
  public static void main (String[] args)
  {
  int[] arr = new int[10];
   System.out.println(arr[1]);
  }
}
执行结果正确的说法是( A )
A.  编译时将产生错误
B.  编译时正确,运行时将产生错误
C.  输出零
D.  输出空
答:应选C,public在class前是合法的,所以会继续走内部流程,数组中元素的初始
默认值为0所以选C

9.下面关于函数描述正确的是(A)
A.  函数是对功能代码块的封装
B.  函数没有返回值的时候不用写返回值类型
C.  没有返回值的函数,不能有return 语句
D.  函数是可以没有形参的
答:应该选AD,函数是可以没有形参的
比如public static void print() {
   System.out.println("1111");
}

10.21. 下面程序执行的结果是( C)
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
答:应该选A,if内条件是a++,a的值先运算不比10大所以不执行if语句,
但本身有a++,所以应为11
11.下面的哪一个程序片断可能导致错误。 (  BC  )
A.
  String s = "Gone with the wind";
  String t = " good ";
  String k = s + t;
B.
  String s = "Gone with the wind";
  String t;
  t = s[3] + "one";
C.
  String s = "Gone with the wind";
  String standard = s.toUpperCase();
D.
  String s = "home directory";
  s = s + "directory";
答:应选B,C选项为将字符串转换大小写,是正确的

12.下面的说法正确的是( C )
A.  byte ,short,char 数据类型可以自动转化为int
B.  float 数据类型可以自动转换为long。
C.  在java语言中默认小数为double
D.  byte a=23;  byte b=12;  a+b的结果为byte类型
答:应选AC,A中前3个的数据类型都比int小,所以可以直接自动转化为int

13.下列哪个声明是错误的?(B)
A.  int  i=10;
B.  float  f=1.1;
C.  int other = (int) true;
D.  byte  b=127;
答:答案为BC,因为boolean类型不参与运算,所以强制类型转换int也不正确
14.下面程序执行的结果是(B )
public static void main(String [] args)
{
int num=100;
if(num ++>100);
{
num =200;
}
System.out.println(num);
}
A.  100
B.  200
C.  201
D.  101  
答:答案是B没错,但是不是因为num进入if语句执行了num=200的条件,而是if语句后有分号使if语句结束
而后面是一个局部代码块,所以一定会执行num=200

15.以下语句有语法错的是:(ABCD  )
A.int x=1; y=2; z=3
B.for (int x=10,y=0; x>0; x++);
C.while (x>5);
D.for(; ;);
答:答案为A,正确格式应为x=1,y=2,z=3;

16.编译如下代码,编译运行时,结果是(A)
public static void main(String[] atgs){
for(int i=0;i<3;i++){
  System.out.print(i);
}
System.out.print(i);
}
A. 编译时报错
B.  正确运行,输出012
C.  正确运行,输出123
D.  正确运行,输出0123
答:选A没错,不是因为atgs写错了,atgs只是一个标识符,是自定义的,错是因为
for语句结束后,内部初始化条件就释放了,第二个输出语句就没有被定义的i

17.下面程序哪个语句是正确的 (CD)
A.  byte  a=0,b=3; byte c =a+b;
B.  short  s =23; s=s+12;
C.  short  s=23; s+=12;
D.  float  f = 23+23.23;
答:答案为C,答案D中float f=23+23.23f;
18.在Java接口中,下列选项中属于有效的方法声明是(AC )。
A. public void aMethod();
B. final void aMethod();
C. void aMethod(){}
D. private void aMethod();
答案:选A。c中有方法体,接口中的方法只能是抽象方法不能有方法体

19.给定如下Java代码 , 以下( A )方法可以加入Child类中。  
public class Parent{
int change(){
  //此处省略N行代码
}
}   
Class Child extends Parent{
//(此处可以放入下面哪个选项)  
}  
A. public int change(){}  
B. int show(int i){}  
C. private int change(){}  
D. abstract int change(){}
答:答案为AB。B选项是自己定义的一个show方法。
20.在Java接口中定义常量,下面语法正确的是(b )。
A. static final int MALE = 1;
B. final int MALE = 1;
C. int MALE = 1;
D. private int MALE = 1;
答:答案ABC。接口默认会加上public static final

21.将Map集合中的键存储到Set集合的方法是(   a )
a) entrySet()
b) get()
c) keySet()
d) put()
答案:答案为c,题目问的是将键存入Set集合中,如果是键_值对存入Set中才是a

22.下面的代码用于输出字符数组ch中每个字符出现的次数
  public static void main(String[] args) {
  char[] ch = { 'a', 'c', 'a', 'b', 'c', 'b' };
  HashMap map = new HashMap();
  for (int i = 0; i < ch.length; i++) {
   //位置①
  }
  System.out.println(map);
} 应该填入位置①的代码是,不允许使用工具运行程序( d  )
a)
if (map.contains(ch[i])) {
   map.put(ch[i], map.get(ch[i]) + 1);
  } else {
   map.put(ch[i], 1);
}
b)
  if (map.contains(ch[i])) {
    map.put(ch[i], (Integer) map.get(ch[i]) + 1);
  } else {
   map.put(ch[i], 1);
}
c)
  if (map.containsKey(ch[i])) {
   map.put(ch[i], (int) map.get(ch[i]) + 1);
  } else {
   map.put(ch[i], 1);
}
d)
  if (map.containsKey(ch[i])) {
   map.put(ch[i], (Integer) map.get(ch[i]) + 1);
  } else {
   map.put(ch[i], 1);
}
答案:CD。C选项map中的get()方法返回一个Object类型的,需要强转成int或Integer
int个类型可以通过装箱转换

23.按照课堂要求重写equals和hashCode后,下面关于这两个方法说法正确的是( b  )
a)  两个对象的hashCode值相同,那么他们调用equals()方法返回值一定为true
b)  两个对象的hashCode值相同,那么他们调用equals()方法返回值可以为false
c)  hashCode值一般与对象的成员变量有关
d)  只要重写equals方法,就一定要重写hashCode方法
答案:BC。hashCode值可以直接return整数。

24.父类声明:public class FXfather<T>{….}
现在要定义一个Fxfather的子类son,下面定义错误的是( b  )
a) class Son extends FXfather<String>{}
b) class Son<T,V> extends FXfather<T>{}
c) class Son<String> extends FXfather<String>{}
d) class Son<String> extends FXfather<T>{}
答案:D。子类里没有父类的泛型

25.关于将int数组使用系统提供的API转成集合后,不可以进行的操作是(   c  )
a) 增加集合中的元素
b) 迭代集合
c) 修改集合中的元素
d) 获取集合中元素的个数
答案:A。数组转成集合后,不能修改集合的长度。

26.在Java中,(  ac  )类可用于创建链表数据结构的对象
a)  LinkedList
b)  ArrayList
c)  Collection
d)  HashMap
答案:A。c选项是接口不是类

27.以下能以键_值对的方式存储对象的接口是( bc    )
a)  java.util.Collection
b)  java.util.Map
c)  java.util.HashMap
d)  java.util.Set
答案:B。c选项是类不是接口。

1 个回复

倒序浏览
哇,,整理了这么了,学习了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马