一、单项选择题(每题3分,共30分) 1、表达式1+2+”aa”+3的值是(B) A.12aa3 B. “3aa3” C.“12aa” D. “aa3”
2、关于方法重载的描述,以下选项中哪些是正确的?(AD) A 方法名字必须一致 B返回值类型必须不同 C参数个数必须一致 D参数的个数或者类型不一致 3、在java中,要想让一个类继承另一个类,可以使用以下哪个关键字(C) A. inherits B implements C.extends D. modifies
4、 下面程序段的输出结果?(C) int a =2 ; System.out.print(a++) System.out.print(a) System.out.print(++a)
A. 333 B.334 C.234 D.233
5、 假设a是int 类型变量,并初始化为1,则下列哪个为合法的条件语句?(C) A. if(a){} B. if(a<<3){} C if(a==2){} D. 其他
6、整型变量a,b的值定义如下? int a=3,b=4; 则表达式 ++a==b 的值为 ( D) A.4 B. false C 3 D true
7以下代码:(D) if(a>4){ System.out.println(“test1”); }else if(a>9){ System.out.println(“test2”); }else { System.out.println(“test3”); } a 为何值将有输出结果 test2? A 小于 4 B 4 和 9 之间 C 大于9 D无任何可能 8、已知a=2,b=3;则表达式a%b*4%b的值为(A) A 2 B1 C-1 D-2 (9)以下程序运行结果是(A ) public class Example { public static void main(String[] args) { int i=0; for(i=0;i<4;i++){ if(i==3){ break; } System.out.println(i); } System.out.println(i); } } A.0123 B.0122 C.123 D.0124 (10)以下程序运行结果是(D ) public class Xyz { public static void main(String[] args) { for(int i=0;i<3;i++){ for(int j=1;j<4;j++){ for(int k=2;k<5;k++){ if((i==j) && (j==k)){ System.out.println(i); } } } } } A.0 B.1 C.2 D.3 (11)执行以下程序后,输出结果是(D ) public class Ex2 { public static void main(String[] args) { int f=1; for(int k=2;k<5;k++){ f*=k; } System.out.println(f); } } A.1 B.12 C.18 D.24 (12) 以下程序运行结果是( ) class Base { public Base() { int i=100; System.out.println(i); }} public class Pri extends Base{ static int i=200; public static void main(String[] args) { Pri p=new Pri(); System.out.println(i); }} A.编译错误 B.200 C.100 200 D.100 (13) 以下程序运行结果是( ) class Base { public final void amethod(){ System.out.println("amethod"); } } public class Fin extends Base { public static void main(String[] args) { Base b=new Base(); b.amethod(); } } A.编译指示带有final方法的类自己必须定义为final B.编译指示不能继承带有final方法的类 C.运行错误,原因是Base类没有定义为final类 D.运行输出 amethod (14) 有如下程序段: int total=0; for(int i=0;i<4;i++){ if(i==4){ continue;} if(i==2){ break;} total+=i; } 则执行完该程序段后total的值为(B ) A.0 B.1 C.3 D.6 (15) Void的含义是( C ) A.方法的返回值不能参与算数运算 B.定义的方法没有形参 C.定义的方法没有返回值 D.方法体为空 (16)String s=”abcdedcba”,则s.subString(3,5) 返回的字符串是下列哪个( C ) A.cd B.de C.d D.e (17)以下是非法标识符的是( AD )(多选) A.Boolean B.group_7 C.boolean_1 D.open-door (18)若定义a=2,b=2,下列表达式值不为4的是( D ) A.a+b B.a*(b++) C.a*b D.a*(++b) (19)下面关于数组声明和初始化的语句那个有语法错误( C ) A.int a1[]={3,4,5}; B.String a2[]={"string1","string1","string1"}; C.String a3[]=new String(3); D.int[][] a4=new int[3][3]; (20)执行完代码“int[] x=new int[25]; ”后,以下说明正确的是(B ) A.x[25] 为0 B.x[24]未定义 C.x[24] 为0 D.x[24] 为空
二、填空题(每题2分,共12分) 1、 布尔常量既布尔类型的俩个值,分别是___true___,_false______. 2、 若x=2,则表达式(++x)/3的值_____1____ 3、、所谓类的封装是指在定义一个类的时候,将类中的属性私有化,即使用___private_______关键字来修饰 4、 在java中,可以使用关键字___new___来创建类的实例对象 5、 一个类如果实现一个接口,那么它就需要实现接口中定义的全部___方法________,否则该类必须定义成________ 6、 _____________是声明接口的关键字,可以把它看成一个特殊类,接口中的成员方法默认的修饰符是______________; 7、定义一个变量时,如果前面使用______关键字修饰,那么该变量不可以被改变 8、在java中定义了俩个类来封装对字符串的操作,他们分别是_________和________ 9、如果子类想使用父类的成员,可以通过关键字________引用父类的成员 10、String类中用于返回字符串字符的个数的方法是____________ 11、子类在重新定义父类已有的方法时,应保持与父类完全相同的_______,_________和_______否则就不是方法的覆盖,而是子类定义自己特有的方法,与父类的方法无关。 12、若int a[3][2]={{123,345},{35,36},{123,345}} 则a[2][1]=___345________ 13、阅读以下程序 String str=”abcdefcdh”; String[] arr=str.split(“c”);System.out.println(arr[1]); 程序执行后,打印的结果是____def____. 14、public static void main(String args[]){ int[]seeds ={1,2,3,4,6,8}; int n=seeds.length; for(int i=0;i<3;i++){ for(int k=0;k<n-1;k++){ seeds[k]=seeds[k+1]; } } for(int i=0;i<n-1;i++){ System.out.print(seeds[i]); } } 程序执行后,打印的结果是___________46888____________ 15 阅读以下程序 class ValHold{ public int i=10; } public class ObParm{ public static void main(String args[]){ ObParm o = new ObParm(); o.amethod(); } public void amethod(){ Int i =99; ValHold v = new ValHold(); v.i =30; another(v.i,i); System.out.println(v.i); } public void another(int v,int i){ i=0; v=20; System.out.println(v);System.out.println(i); } } 程序执行后,打印的结果是___20__0__30__________ 三.编程题 1.求1~100之间不能被3整除数的和。(使用for循环结构)10分 package org.jsoft.test1;
public class TestSum { public static void main(String[] args) { int k=0,sum=0; for(int i=1;i<=100;i++){ if(i%3!=0){ k=i; sum=sum+k; } } System.out.println(sum); } }
2.请写程序,实现对数组{ 25,24,12,76,101}从小到大的排序。(使用冒泡排序,并打印每次排序结果)10分
public class MaoPao { public static void main(String[] args) { int []a={25,24,12,76,101}; for(int i=0;i<a.length-1;i++){ for(int j=0;j<a.length-1-i;j++){ if(a[j+1]<a[j]){ int temp=0; temp=a[j+1]; a[j+1]=a[j]; a[j]=temp; for(int k=0;k<a.length;k++){
System.out.print(a[k]+" ");
} } } }
} }
3.已知函数 请设计一个方法实现上面函数,根据传入的值x的不同,返回对应的y值。 ① 定义一个方法,接收一个int类型的参数,返回值为int类型。 ② 在方法中使用个if else if else语句针对x的值进行三种情况判断。 ③ 根据判断结果执行不同的表达式,将结果赋予变量y。 ④ 在方法的最后返回y。 在main方法中调用设计好的方法,传入一个int型的值,将方法的返回值打印。
|
import java.util.Scanner;
public class FenDuanHanShu { public int hanShu(){ Scanner src=new Scanner(System.in); int x=src.nextInt(),y; if(x>0){ y=x+3; }else if(x<0){ y=x-1; }else{ y=0; } return y; } }
public class TestFenDuanHanShu { public static void main(String[] args) { FenDuanHanShu f=new FenDuanHanShu(); System.out.println(f.hanShu()); } }
|