|
一、选择题(下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项填在括号内)。 1.下面程序的输出结果正确的是_________。 ( ) int x=55; System. out. println(1.0+x/2); A.28.0 B. 2.执行下面的语句,输出y的值是_________。 ( ) long y = (long) System. out. println(y); A.456 B. 3.关于Java中的注释标记错误的是_________。 ( ) A.// B./* */ C.//* */ D./** */ 4.下面代码用于求两个数的最大值: int x = 1000; int y = 800; int max; if (_________) { max = x; } else { max = y; } 则上面代码的空白处应添加的条件表达式正确的是。 ( ) A.x > y B.x == y C.x < y D.以上都不正确 5.下面关于while循环和do-while循环的说法中错误的是________。 ( ) A.while循环的循环体至少会被执行一次。 B.while循环的循环体可能一次也不会执行。 C.do-while循环的循环体至少会被执行一次。 D.在某些情况下两种循环结构可以替换使用。 6.下面哪个表达式可以看作Java中的int整数据。 ( ) A.10+"100" B."123"+"456" C."123"+'456' D.'a'+'b' 7.有如下代码: String sl="abc"; String s2="abc"; String s3=new String("abc"); 则表达式s1==s2和表达式s2==s3的值分别是。 ( ) A.true和false B.false和true C.false和false D.true和true 8.有如下代码: String sl="abc"; String s2="abc"; String s3=new String("abc"); 则s1.equals(s2)和s2.equals(s3)的值分别是。 ( ) A.true和false B.false和true C.false和false D.true和true 9.有如下代码: String s="I like 则下列哪个选项可以获得字符串s中所含字符的个数。 ( ) A.len B.length C.len() D.length() 10.假设有如下字符串: String str="ABCDEABCDE"; 则表达式str.indexOf("BC")的值是_________。 ( ) A.0 B. 11.下面语句执行后y的值是_________。 ( ) String x="Hello World!"; String y=x.substring(0,2); A.He B.Hel C.Hello D.null 12.有这样一个数组num,其定义为int[] num={10,20,30,40,50,60,70,80},则下面哪个选项可以获得数组num中所含元素的个数。 ( ) A.len B.length C.len() D.length() 13.下面代码使用for循环实现对数组进行遍历操作并输出数组中的每个元素: int[] number = {100,200,300,400,500,600,700,800 }; for (________________;i++) { System.out.print(number[i] +" "); } 则for关键字右侧小括号内空白处应添加的代码正确的是。 ( ) A.int i=0;i < number.length B.int i=1;i<=number.length C.int i=0;i > number.length D.int i=1;i>=number.length 14.二维数组定义为int[][] data={{10,15,20},{25,30,35},{40,45,50},{55,60,65}},则数组元素data[2][1]的值正确的是。 ( ) A.15 B. 15.如果数组定义为int[][] array = new int[8][10],则array是。 ( ) A.一维数组 B.二维数组 C.三维数组 D.以上都不正确 16.下面代码使用冒泡排序法对数组进行升序排序: int[] arr={90,50,80,70,100,60}; for (int i=0;i<arr.length-1;i++){ for (int j=0;j<5-i;j++){ if (___________){ int x=arr[j]; arr[j]=arr[j+1]; arr[j+1]=x; } } } 则if的条件表达式正确的是哪个选项。 ( ) A.arr[j]>arr[j+1] B.arr[j]<arr[j+1] C.arr[i]>arr[i+1] D.arr[i]<arr[i+1] 17.下面代码使用for-each循环对数组进行遍历并输出数组中的每个元素: int[] number = {1, 3, 5, 7, 9, 11, 13, 15 }; for (_____________) { System.out.print(var +" "); } 则for关键字右侧的小括号内应添加的正确选项。 ( ) A.int var : number B.int var []: number C.var : number D.String var : number 18.下面哪个选项可以正确创建Student类。 ( ) A.public calss Student(){} B.public class Student{} C.public Class Student{} D.Public class Student( ) 19.下面选项对this关键字的叙述正确的是。 ( ) A.在成员方法中使用this关键字来区分重名的成员变量和形参变量 B.在类的构造方法中可以使用this关键字引用其他重载的构造方法 C.this关键字可以作为方法的返回值 D.以上说法都正确 20.下面有关类的构造方法叙述正确的是。 ( ) A.构造方法必须要有返回值 B.在类中必须要定义构造方法 C.构造方法的名称必须与类名相同 D.构造方法可以任意取名 21.下面有关类的成员变量和局部变量的叙述错误的是。 ( ) A.成员变量在定义它的类内部都是可见的 B.局部变量只在定义它的方法和复合语句内部可见 C.局部变量在定义它的方法和复合语句之外都是可见的 D.用static关键字修饰的成员变量称为静态成员变量 22.有如下代码: DecimalFormat myFormat = new DecimalFormat("###,###.####"); String output = myFormat.format(123456.789); 则程序运行后变量output的值正确的是。 ( ) A.123456.789 B.123,456.789 C.123,456.79 D.123456.79 23.有如下代码: DecimalFormat myFormat = new DecimalFormat("###,###,###.##"); String output = myFormat.format(123456.789); 则程序运行后变量output的值正确的是。 ( ) A.123456.789 B.123,456.789 C.123,456.79 D.123456.79 24.有如下代码: DecimalFormat myFormat = new DecimalFormat("000,000,000.00"); String output = myFormat.format(123456.789); 则程序运行后变量output的值正确的是。 ( ) A.123456.789 B.123,456.789 C.123,456.79 D.000,123,456,79 25.有如下代码: DecimalFormat myFormat = new DecimalFormat("00,000.0000"); String output = myFormat.format(123456.789); 则程序运行后变量output的值正确的是。 ( ) A.123456.789 B.123,456.789 C.123,456.7890 D.23,456,789 二、判断题(判断下面各题是否正确,正确的在括号内填Y,错误的在括号内填N)。 1.如果从低精度数据类型向高精度转化,则永远不会溢出,并且总是成功的;而把高精度数据类型向低精度数据类型转换时很有可能会有精度的损失。 ( ) 2.在Java中使用switch语句时,如果在case语句块的最后没有用break语句结束switch语句的执行,则与switch的表达式相匹配的case语句块执行结束后,后面的其他case语句块也会被执行。 ( ) 3.while循环与do-while循环的区别在于while循环的循环体很有可能一次也不被执行,而do-while循环的循环体则至少会被执行一次。 ( ) 4.在Java中只能通过String类的构造方法创建字符串。 ( ) 5.在Java中使用“+”运算符可以完成对多个字符串连接的功能,“+”运算符可以连接多个字符串并产生一个新的String对象。 ( ) 6.数组是具有相同数据类型的一组数据的集合,在Java中数组既可以是基本数据类型,也可以是对象类型。 ( ) 7.用private修饰的成员变量和方法可以被相同包的其他类访问的。 ( ) 8.被声明为static的变量、常量和方法被称为类的静态成员,静态成员是属于类所有的,可以在本类或其他类中使用类名和“.”运算符调用静态成员。 ( ) 9.在Java语言中对静态方法有两点规定,即在静态方法中不可以使用this关键字,也不可以直接调用非静态方法。 ( ) 10.Java语言规定不可以用static关键字在方法体内声明局部变量,如果在方法体内使用static关键字修饰局部变量,程序会出错。 ( ) 11.如果子类重写了父类的某个方法,则子类就无法访问父类中被子类重写的这个重名方法了。 ( ) 12.在Java的类中如果存在构造方法,则这个构造方法是名称一定与类的名称相同,并且是区分大小写的,而且返回值只能是void。 ( ) 13.在Java语言中只能通过类的构造方法创建对象,即类的实例。 ( ) 14.在Java中可以通过DecimalFormat类来格式化十进制数字,它可以将一些数字格式化为整数、浮点数、科学计数法、百分数等格式。 ( ) 15.使用Math类的random()方法和Random类提供的方法都可以产生随机数。( ) |