黑马程序员技术交流社区

标题: 谁有点招题给我来几套练练 [打印本页]

作者: a0236575    时间: 2016-5-15 15:36
标题: 谁有点招题给我来几套练练
{:3_54:} 星期天就是这么的无聊
作者: pengmin    时间: 2016-5-15 17:39
1、ArrayList<Integer> list = new ArrayList<Integer>(); 在这个泛型为Integer的ArrayList中存放一个String类型的对象。





2、写一个方法,此方法可将obj对象中名为propertyName的属性的值设置为value.

public void setProperty(Object obj, String propertyName, Object value){

}





3、方法中的内部类能不能访问方法中的局部变量,为什么?





4、编写一个类,在main方法中定义一个Map对象(采用泛型),加入若干个对象,然后遍历并打印出各元素的key和value。





5、分析以下程序运行结果,说明原理。(没有分析结果不得分)
public class ThreadTest {
    public static void main(String args[]) {
        MyThread t = new MyThread();
        t.run();
        t.start();
        System.out.println("A");
    }
}

class MyThread extends Thread {
    public void run() {
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
        }
        System.out.println("B");
    }
}





6、编写一个程序,获取10个1至20的随机数,要求随机数不能重复。





7、在一个类中编写一个方法,这个方法搜索一个字符数组中是否存在某个字符,如果存在,则返回这个字符在字符数组中第一次出现的位置(序号从0开始计算),否则,返回-1。要搜索的字符数组和字符都以参数形式传递传递给该方法,如果传入的数组为null,应抛出IllegalArgumentException异常。在类的main方法中以各种可能出现的情况测试验证该方法编写得是否正确,例如,字符不存在,字符存在,传入的数组为null等。





8、编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,然后打印出这个十进制整数对应的二进制形式。这个程序要考虑输入的字符串不能转换成一个十进制整数的情况,并对转换失败的原因要区分出是数字太大,还是其中包含有非数字字符的情况。提示:十进制数转二进制数的方式是用这个数除以2,余数就是二进制数的最低位,接着再用得到的商作为被除数去除以2,这次得到的余数就是次低位,如此循环,直到被除数为0为止。其实,只要明白了打印出一个十进制数的每一位的方式(不断除以10,得到的余数就分别是个位,十位,百位),就很容易理解十进制数转二进制数的这种方式。





9、28人买可乐喝,3个可乐瓶盖可以换一瓶可乐,那么要买多少瓶可乐,够28人喝?假如是50人,又需要买多少瓶可乐?(需写出分析思路)





10、有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?
作者: nannanziyu    时间: 2016-5-15 21:43
我也想知道。。。。
作者: zhangshouwei    时间: 2016-5-15 21:49
1、下列有关Windows的快捷键说法不正确的是(   )
        A. ctrl + c是粘贴操作         B. ctrl + c是复制操作
        C. ctrl + v是粘贴操作         D. ctrl + a是全选操作
2、关于JRE和JDK的说法正确的是(  )
        A. JRE是Java语言的运行环境.             B. JDK是Java语言的开发工具包
        C. JDK包含JRE.                                     D. 必须要有JDK才能运行Java程序
3、Java平台有三个版本,分别是javaSE、JavaME、javaEE,下列说法不正确的是( )
A.javaSE是指Java语言的标准版    B.javaME是指Java语言的标准版
C.javaEE是指企业级的Java开发语言,是为企业提供服务的
D. javaME是为机顶盒、移动电话和PDA之类嵌入式消费电子设备提供的Java语言平台,包括虚拟机和一系列标准化的Java API.
4、下列哪些不是Java中的的注释( )
        A. 单行注释  B. 多行注释 C. 文档注释  D. #号注释
5、Java注释有3种,单行注释、多行注释和文档注释,下列有关注释的说法,不正确的是( )
A. 注释指的是用来对程序的某个功能或者某行代码进行解释说明
B. 注释只在Java源文件中有效
C. 在多行注释中,能够嵌套多行注释
D. 注释不会被编译到class字节码文
6、下面哪种类型的文件可以在Java虚拟机中运行?( )
A..java   B.jre    C.exe   D.class
7、想要运行Java程序,必须得先通过______Java源文件,然后再通过______java程序(        )
A.javaw工具编译  javac工具运行
B.java工具编译   javac工具运行
C.javac工具编译  java工具运行
D.java工具编译   java工具编译
8、下列关于变量和常量的说法正确的是(         )
A.常量表示不能被改变的值,例如1、2、“abc”都是常量
B.常量表示常见的变量
C.int x = 0;代码中,x表示常量,0表示变量
D.在同一个大括号{}内,定义的变量不能够重名
9、下列定义变量格式,错误的是(         )
A.float x,y=0;                                  B.float f = 1999.99F;
C.String str = 字符串;                         D.char x = '0';
10、常见的进制有二进制、八进制、十进制、十六进制,其中计算机能够直接识别的进制是哪一种?(        )
A.八进制  B十六进制  C十进制   D二进制
11、下列各种符号的定义格式,那种在java语言中是错误的变量定义(         )
A.int myVal =1;            B.char $myVal =1;
C.byte _myVal =1;          Dfloat 3.14myVal=1;
12、Java语言中的int及char数据类型的长度分别为(                )
A. 16位和8 位                                B. 8位和16位
C. 32位和16位                                D. 32位和8位
13、关于运算符的说法正确的是(        )
A.= = 表示用于判断是否相等
B.a > b表示判断a是否大于b
C.int a = b; 表示把b的值赋给a
D.& 表示逻辑或
14、下列对运算符的说法错误的是(        )
A.x += 2;的功能是把x的值增加2
B.x -= 2;的功能是把x的值减去2
C.x *= 2的功能是把x的值变为原来的两倍
D.x ==2的功能是把2赋给了x
15、关于int x = 2; int y = (x= =3?5:6);的说法正确的是(        )
A.int y = (x= =3?5:6)的意思是,如果x的值是3,那么把5赋值给y,                如果x的值不等于3,那么把6赋给y
B.y的值是6
C.y的值是5
D.编译会报错
16、语句System.out.println(1+2+"java"+3+4)输出的结果是( )
A. 3java34    B. 12java34          C. 3java7                D. 12java7
17、关于下列循环语句,写法正确的是(        )
A. while(true){};          B. for(;;){}  C. do{}while(false);  D. for(int a=0;a<5;a++);
18、下列关于Java函数的说法不正确的是(         )
A.函数也叫方法,函数就是定义在类中,具有特定功能的一段小程序
B.方法体中不能有任何代码(抽象函数除外)
C.函数必须先定义,才能被调用
D.函数(构造函数除外)要有返回值类型
19、以下关于函数重载的说法正确的有(        )
A.方法名必须一样
B.与返回值类型无关
C.参数个数或者顺序不一样
D.参数类型不一样
20、关于数组的说法,正确的是(        )
A. 数组里面存放的是相同类型的数据
B. 获取数组的长度使用length属性
C. 获取数组的大小使用size方法
D. 数组的长度是可变的
21、int[] arr = new int[2];怎样拿到第2个元素的值(        )
A.arr.get(2);                B.arr.[1];                C.arr[1];    D.arr[2];
22、下列哪种写法可以实现访问数组arr的第1个元素?(        )
A. arr[0]                B. arr(0)                C. arr[1]                D. arr(1)
23、若int[] a = {12,43,54,23},则a[3]的值是(        )
A. 12                B. 43                C. 54                D. 23
24、想要结果输出为0,则可以做哪些修改?(        )
int [ ] arr = new int[1];          ①
arr[0] = 3;                      ②
System.out.println( arr[1] );  ③

A. ②处修改为arr[3] = 0;
B. ③处修改为System.out.println(0)
C. ①处修改为int [ ] arr = new int[2];
D. 不用修改了,结果就是0

25、下列二维数组定义错误的是(        )
A  int[][] arr = new int[3][2];
B  int arr[][] = new int[3][];
C  int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};
D  int arr[][] ={{2,3},{6},9};
26、下面程序运行的结果是(        )
public static void main(String[ ] args){
int x = 10 + 20;
System.out.println( x );
}
A.        10                B.        20                C.        1020           D.        30
27、下面程序运行的结果是(        )
        public static void main(String[] args){
                int a = 1;
                if(a < 1){
                        System.out.println(a);
                }else{
                        System.out.println(“a”);
                }
        }

        A.a  B.2  C.1  D.编译报错
28、下面程序运行的结果是(        )
public static void main(String[] args){
        int x = 19;
        switch (x) {
                case 19:
                        System.out.println("A");
                        break;
                case 17:
                        System.out.print("B");
break;
                default:
                        System.out.println("C");
                        break;
        }
}

A. A     B. B     C. C     D. 程序报错
29、下列循环语句,哪些是输出1-10这10个数字?(        )
A.
for(int x = 0; x < 10; x++){
System.out.println(x);

B.
for(int x = 0; x < =10; x++){
System.out.println(x);


C.
for(int x = 1; x < 10; x++){
System.out.println(x);


D.
for(int x = 1; x < =10; x++){
System.out.println(x);

30、哪些代码能实现求从1加到10的和?(        )
A.
int sum = 0;
for(int a=1;  a<=11;  a++)
{
sum += a;
}

B.
int sum = 0;
int a = 1;
while(a  <=  10)
{
sum += a;
a = a + 1;
}

C.
int sum = 0;
int a = 0;
do{
a = a + 1;
sum += a;
}while(a != 10);

D.
int sum = 0;
for(int x=0;  x<=10;  x++)
{
sum = 1 + 2 +3 +...+ 9 + 10;
}
31、查看代码,想要输出A,哪个选项可以实现(        )
public static void main(String[ ] args){
int x = 80 ;
     ①         
if(x > 100){
System.out.println(“A”);
}else{
System.out.println(“B”);
}
}
A.x + 20;
B.x + 21;
C.x += 21;
D.x = 101;
32、发查看下面程序代码,输出的结果是(        )
public static void main(String[] args){
int x = 80;
x = x - 1;
x *= 10;
if(x != 790)
System.out.println(x);
else
System.out.println(x/10);
}
A. 80                B. 79                C.790                D.编译报错
33、下面代码的运行结果是(        )
public static void main(String[] args){
int x = 80;
x ++;
switch(x){
case 80:
System.out.println(80);
case 81:
System.out.println(81);
default:
System.out.println(82);
}
}
A. 80                B. 80 81                C. 81                D. 81 82
34、下面程序代码的运行结果是(        )
public static void main(String[] args){
for(int x=80; x < 90; x ++){
System.out.println(x);
}
}
A. 80
B. 90
C. 输出80、81。。。89、90
D. 输出80、81。。。88、89
35、下面程序代码的运行结果是(        )
public static void main(String[] args){
boolean flag ;
int x = 8;
int y = 9;
flag = (x<y);
while(flag && x > 0){
System.out.println(x);
x = x - 1;
}
}
A.什么也没有输出                                        B.程序报错
C.输出8 7 6 5 4 3 2                                D.输出8 7 6 5 4 3 2 1
36、下面代码的运行结果是(        )
public static void main(String[] args){
int x = 80;
do{
System.out.println(80);
x = x -20;
         }while(x >= 0 );
}
A. 80 60 40 20 0                                                B. 60 40 20 0
C. 80 60 40 20                                                D. 80 80 80 80 80
37、下面代码的运行结果是(        )
public static void main(String[] args){
for(int x = 0; x<5; x++){
if(x%3==0){
continue;
}
System.out.println(x);
}
}
A. 0 1 2                B. 1 3 5                C. 1 2 4                D. 0 3 5
38、下面程序运行的结果是(        )
        public static void main(String[] args){
                int a = 1;
                if(a++>1){
                        System.out.println(a);
                }else{
                        System.out.println(a);
                }
        }

        A.1  B.2  C.0  D.编译报错
39、下面程序运行的结果是(        )
public static void main(String[] args){
        int x = 12345;
        switch (++x) {
                case 12345:
                        System.out.println("A");
                        break;
                       
                case 12346:
                        System.out.print("B");
                        break;

                default:
                        System.out.println("C");
                        break;
        }
}
A. A  B. B  C. BC  D. 程序报错
40、求1到10之间所有的偶数的和,下面可以填入①处代码和②处代码的是(        )
int sum = 0;
for(int x=0;x<=10;①)
{

}
System.out.println(sum);
A.
        x++

if(x %2 != 0)
{
sum += x;
}
B.
        x+=2

sum += x;
C.
        ++x

if(x %2 == 0)
{
sum += x;
}
D.
        x+=1

sum =1+2+4+6+8+10;
作者: 善良的死神达乐    时间: 2016-5-15 22:00
zhangshouwei 发表于 2016-5-15 21:49
1、下列有关Windows的快捷键说法不正确的是(   )
        A. ctrl + c是粘贴操作         B. ctrl + c是复制操作
         ...

题不错.....但是点招没有选择题.......




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