收藏 分销(赏)

Java基础部分题(参考答案).doc

上传人:仙人****88 文档编号:9198629 上传时间:2025-03-16 格式:DOC 页数:38 大小:311.04KB 下载积分:10 金币
下载 相关 举报
Java基础部分题(参考答案).doc_第1页
第1页 / 共38页
Java基础部分题(参考答案).doc_第2页
第2页 / 共38页


点击查看更多>>
资源描述
基础语法1: 1、 下列变量定义错误的是。 2、 A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8; 3、 下列数据类型的精度由高到低的顺序是: a)float,double,int,long b)double,float,int,byte c)byte,long,double,float d)double,int,float,long 4、 执行完下列代码后, int a=3; char b='5'; char c=(char)(a+b); c的值是? A)’8’ b)53 c)8 d)56 5、 Unicode是一种_____________ A) 数据类型 B)java包 C)字符编码 D)java类 6、 6+5%3+2的值是___________ A)2 B)1 C) 9 D)10 7、 下面的逻辑表达式中合法的是__________ A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3) 8、 java语言中,占用32位存储空间的是__________。 A、 long,double B、long,float C、int,double D、int,float 9、 假设int a=3,b=2,c=1,以下语句正确的是___________。 A) c=c/float(a//b) b) c=c/((float a)/b) c) c=(float)c/(a/b) d) c= c/(int)(a/(float)b) 10、 2|3&5的值是________________。 A)1 B)2 C)3 D)5 11、指出下列正确的语句: A) byte i = 389; B) long lv = i*3+4.5; C) int x = 87L; D) long l = 10; 11、指出下列类型转换中正确的是______________。 A)int i=’A’ B)long L=8.4f C)int i=(boolean)8.9 D)int i=8.3 12、以下的选项中能正确表示Java语言中的一个整型常量的是( )。 A) 12. B) -20 C) 1,000 D) 4 5 6 13、以下选项中,合法的赋值语句是( )。 A) a = = 1; B) ++ i; C) a=a + 1= 5; D) y = int ( i ); 14、若所用变量都已正确定义,以下选项中,非法的表达式是( )。 A) a != 4||b==1 B) 'a' % 3 C) 'a' = 1/2 D) 'A' + 32 15、对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是( )。 A) k = n / 10 % 10 B) k = ( n - n / 100 * 100 )%10 C) k = n % 10 D) k = n / 10 16、现有一变量声明为boolean aa;下面赋值语句中正确的是( )。 A)aa=false; B)aa=False; C)aa="true"; D)aa=0; 17、设有定义 int i = 6 ;,则执行以下语句后,i 的值为( )。 i += i - 1; A) 10 B) 121 C) 11 D) 100 18、下列语句序列执行后,ch1 的值是( )。 char ch1=’A’,ch2=’W’; if(ch1 + 2 < ch2 ) ++ch1; A) ‘A’ B) ‘B’ C) ‘C’ D) B 19、下列语句序列执行后,i 的值是( )。 int i=8, j=16; if( i-1 > j ) i--; else j--; A) 15 B) 16 C) 7 D) 8 20、设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是( )。 A) x > y || x > z B) x != y C) z > ( y + x ) D) x < y & ! ( x < z ) 21、设有定义 int i=123; long j=456; 下面赋值不正确的语句是( )。 A) j=i; B) j=(long)i; C) i=(int)j; D) i=j; 22、下列的变量定义中,错误的是( )。() A) int i; B) int i=10000; C) static int i=100; D) int 123_$; 23、以下的变量定义语句中,合法的是( )。 A) float $_*5= 3.4F; B) byte b1= 15678; C) double a =10000; D) int _abc_ = 3721L; 24、以下字符常量中不合法的是( )。 A) '|' B) '\' C) "\n" D) '我' 25、若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是( )。 A) b = a!=7 ; B) a = 7 + b + c=9; C) i=12.3* % 4; D) a = a + 7 = c + b; 26、执行下列程序段后,b, x, y的值分别是( )。 int x=6,y=8; boolean b; b=x>y&&++x==--y; A) true , 6, 8 B) false , 7, 7 C) true, 7, 7 D) false, 6, 8 1、以下代码的输出结果是__j____。 int i=9; char c=’a’; char d=(char)(c+i); System.out.println(d); 2、 面代码执行完后的输出是_b is:false___-。 int x=3; int y=4; boolean b=true; System.out.println("b is:"+(b==(y<x))); 3、 表达式(-100%3)的值是__-1____。 4、 int x=2,y=4,z=3 则x>y&&z>y的结果是_____false_____。 5、 写出定义双精度浮点型常量PI,值为3.1415926的语句:____ final double PI=3.1415926____。 6、 在Java语言中,逻辑常量只有true 和 ____false___ 两个值。 7、 表达式1/2*3的计算结果是___0___。 8、 执行以下程序段后:a = _6__, b = __18___ 。 int a = 5, b; b = ++a * 3; 9、 Java中的的字符使用的是 16 位的____unicode____ 编码。 10、 Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float和 __double__两种具体类型。 11、当整型变量n的值不能被13除尽时,其值为 false 的Java语言表达式是___n%13==0____ 。 12、表达式3/6 * 5的计算结果是___0___ 。 13、若a,b为int型变量且已分别赋值为2,4。表达式!(++a!=b--)的值是__false____ 。 14、若a,b为int型变量且已分别赋值为2,6。表达式(a++)+(++b) +a*b的值是__30__ 。 基础语法2: 1.下列语句序列执行后,m 的值是( )。 int a=10, b=3, m=5; if( a==b ) m+=a; else m=++a*m; A) 15 B) 50 C) 55 D) 5 2.下列语句序列执行后,k 的值是( )。 int i=4,j=5,k=9,m=5; if(i>j||m<k) k++; else k--; A) 5 B) 10 C) 8 D) 9 3.下列语句序列执行后,k 的值是( )。 int i=10, j=18, k=30; switch( j - i ) { case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j; } A) 31 B) 32 C) 2 D) 33 4.若a和b均是整型变量并已正确赋值,正确的switch语句是( )。 A) switch(a+b); { ...... } B) switch( a+b*3.0 ) { ...... } C) switch a { ...... } D) switch ( a%b ) { ...... } 5.下列语句序列执行后,r 的值是( )。 char ch='8'; int r=10; switch( ch+1 ) { case '7': r=r+3; case '8': r=r+5; case '9': r=r+6; break; default: r=r+8; } A) 13 B) 15 C) 16 D) 18 6.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的switch语句是( )。 A) switch (x + y) { ...... } B) switch ( ch + 1 ) { ...... } C) switch ch { ...... } D) switch ( a + b ); { ...... } 7.下列语句序列执行后,k 的值是( )。 int x=6, y=10, k=5; switch( x%y ) { case 0: k=x*y; case 6: k=x/y; case 12: k=x-y; default: k=x*y-x; } A) 60 B) 5 C) 0 D) 54 8.下列语句序列执行后,r 的值是( )。 char ch='A'; int r=6; switch( ch+5 ) { case 'A': r=r+3; case 'B': r=r+5; case 'C': r-=6; break; default : r/=2; } A) 11 B) 3 C) 2 D) 9 9.以下for循环的执行次数是()。 for(int x=0;(x==0)&(x>4);x++); A)无限次 B)一次也不执行 C)执行4次 D)执行3次 10.下列语句序列执行后,j 的值是( )。 int j=1; for( int i=5; i>0; i-=2 ) j*=i; A) 15 B) 1 C) 60 D) 0 11.以下for循环的执行次数是( )。 for(int x=0;(x==0)&(x<4);x++); A)无限次 B)一次 C)执行4次 D)执行3次 12.下列语句序列执行后,j 的值是( )。 int j=2; for( int i=7; i>0; i-=2 ) j*=2; A) 15 B) 1 C) 60 D) 32 13.以下由 for 语句构成的循环执行的次数是( )。 for ( int i = 0; true ; i++) ; A)有语法错,不能执行 B)无限次 C)执行1次 D)一次也不执行 14.下列语句序列执行后,i 的值是( )。 int s=1,i=1; while( i<=4 ) {s*=i;i++;} A) 6 B) 4 C) 24 D) 5 15.下列语句序列执行后,j 的值是( )。 int j=8, i=6; while( i >4 ) i-=2; - -j; A) 5 B) 6 C) 7 D) 8 16. 若有循环: int x=5,y=20; do { y-=x; x+=2; }while(x<y); 则循环体将被执行( )。 A) 2次 B) 1次 C) 0次 D) 3次 17.以下由do-while语句构成的循环执行的次数是()。 int m = 8; do { ++m; } while ( m < 8 ); A)一次也不执行 B)执行1次 C)8次 D)有语法错,不能执行 18.下列语句序列执行后,i的值是( )。 int i=10; do { i/=2; } while( i>1 ); A) 1 B) 5 C) 2 D) 0 19.下列语句序列执行后,i的值是()。 int i=10; do { i/=2; } while( i--> 1 ); A) 1 B) 5 C) 2 D) -1 20.下列循环中,执行break outer语句后,所列(C)语句将被执行。 outer: for(int i=1;i<10;i++){ inner: for(int j=1;j<10;j++){ if(i*j>50) break outer; System.out.println(i*j); } next: A)标号为inner的语句 B)标号为outer的语句 C)标号为next的语句 D)以上都不是 21.下列循环中,执行continue outer语句后,()说法正确。 outer: for(int i=1;i<10;i++){ inner: for(int j=1;j<10;j++){ if(i*j>50) continue outer; System.out.println(i*j); } } A)程序控制在外层循环中并且执行外层循环的下一迭代 B)程序控制在内层循环中并且执行内层循环的下一迭代 C)执行标号为next的语句 D)以上都不是 27.下面是一个java应用程序(Application),它的功能是在屏幕上输出26个小写英文字母,其中每个字母相隔一个制表符,请完成程序填空。 public _class__ Class1{ public static void main( String args[] ){ char c='a'; for (int i=1;i<=26;i++) { System.out.print(_(char)(c+i-1)+”\t”_); } } } 28.下面是一个java应用程序(Application),它的功能是计算 s=1+2+3+...+10 ,请完成程序填空。 public __class_ Class1{ public static void main( String args[] ){ int s=0; for (int i=1;i<=10;i++){ s+=___i__; } System.out.println("s="+s); } } 29.下面是一个java Application 的主类的定义,其功能是输出乘法口诀表第一列,请完成程序填空。 import java.io.*; public class MyClass{ public static void main(String[] args){ int j=1; for(int i=1; __i<=9___; i++){ System.out.println(i+"*"+j+"="+__i*j__); } } } 30. 设ch1, ch2是 char 型变量: if ( ch1 == ‘a’ ) { if ( ch2 == ‘b’ ) System.out.print(" ch1=\’a\’ , ch2=\’b\’ "); }else System.out.print(" ch1!=\’a\’ "); System.out.println(" end "); 问题: 1)若执行前 ch1 的值为 ‘a’, ch2 的值为 ’c’ 该程序段输出是什么? end 2)若执行前 ch1 的值为 ’w’, ch2 的值为 ’b’ 该程序段输出是什么? ch1!=’a’ end 3)若执行前 ch1 的值为 ’a’, ch2 的值为 ’b’ 该程序段输出是什么? ch1=’a’,ch2=’b’ end 31.阅读下面的程序段,回答问题。 if ( x < 5 ) System.out.print(" one "); else{ if ( y < 5 ) System.out.print(" two "); else System.out.println(" three "); } 问题: 1)若执行前 x=6, y=8,该程序段输出是什么? three 2)若执行前 x=1, y=8,该程序段输出是什么? one 32.下面的程序的输出结果是什么? public class Mystery { public static void main (String [] args ){ int y, x = 1 , total = 0 ; while (x<=10){ y = x*x; System.out.println( y ); total += y; System.out.println( “Total is ”+total ); } } } 33.确定以下各段程序当x=9 , y=11以及x=11 , y=9 时的输出结果。(下面程序我们取消缩进格式) a) if ( x < 10 ) if ( y > 10 ) System.out.println(“*****”); else System.out.println(“#####”); System.out.println(“$$$$$”); b) if ( x < 10 ) { if ( y > 10 ) System.out.println(“*****”); } else { System.out.println(“#####”); System.out.println(“$$$$$”); } 1.编写一个应用程序,计算1~10之间的各个整数的阶乘,并将结果输出到屏幕上。 class Test1{ public static void main(String args[]){ int i,s; for(i=1;i<=10;i++){ s=1; for(j=1;j<=i;j++) s=s*j; System.out.println(i+“的阶乘为:”+s); } } } 2.用while循环求n2大于12000的最小数n。 class Test1{ public static void main(String args[]){ int n=1; while(n*n<=12000) n++; System.out.println(n); } } 3.打印2到10000的所有素数,每行显示8个素数。 class Test1{ public static void main(String args[]){ int i,j,n=0; for(i=2;i<=10000;i++){ for(j=2;j<i;j++) if(i%j==0)break; if(j>=i){ System.out.print(i+” ”); n++; if(n%8==0)System.ou.println(“”); } } } } 4.输出1到100中能被7整除或者个位数是7的数字 class Test1{ public static void main(String args[]){ int i,s; for(i=1;i<=100;i++){ if(i%7==0 || i%10==7) System.out.println(i+” ”); } } } 5. 编写一个程序把十进制的数转换成一个二进制的数 1、编译Java程序的命令是什么?javac 2、执行Java程序的命令是什么?java 3、Java应用程序和小程序的区别是什么? (1)应用程序编译后可以直接解释执行,而小程序编译后只能嵌入HTML文件中执行; (2)应用程序至少有一个主方法,它是程序执行的入口和出口,小程序没有主方法,只能按照生命周期运行; (3)小程序的主类必须继承Applet 面向对象部分1: 1、对象的三要素是什么?对象名、属性、方法 2、对象和类之间的关系是什么?类是对象的集合,对象是类的实例或具体化 一.填空题 1. 以下方法fun的功能是求两参数之积。 int fun ( int a, int b ) { __return a*b__; } 2. 以下方法fun的功能是求两参数之积。 float fun ( int a, double b ) { __return a*b_____; } 3. 以下方法fun的功能是求两参数的最大值。 int fun ( int a, int b ) { _____return a>b?a:b______; } 4. 以下方法m的功能是求两参数之积的整数部分。 int m ( float x, float y ) { ___return (int)(x*y)__; } 5. 下面是用户程序对 Applet 类中方法 paint( ) 的重新定义。 public _void_ paint(Graphics _call_) { call.drawString("Hello,java!",10,20); } 6.下面方法的功能是判断一个整数是否为偶数,将程序补充完整。 public __boolean__ isEven(int a) { if(a%2==0) return __true__; else return false; } 7.同一个类中多个方法具有相同的方法名,不同的___参数__称为方法的重载。 二.选择题 1.下列方法定义中,正确的是( )。 A) int x( int a,b ) { return (a-b); } B) double x( int a,int b) { int w; w=a-b; } C) double x( a,b ) { return b; } D) int x( int a,int b) { return a-b; } 2.下列方法定义中,正确的是( )。 A) void x( int a,int b ); { return (a-b); } B) x( int a,int b) { return a-b; } C) double x { return b; } D) int x( int a,int b) { return a+b; } 3. 下列方法定义中,不正确的是()。 A) float x( int a,int b ) { return (a-b); } B) int x( int a,int b) { return a-b; } C) int x( int a,int b ); { return a*b; } D) int x(int a,int b) { return 1.2*(a+b); } 4. 下列方法定义中,正确的是( )。 A) int x( ){ char ch='a'; return (int)ch; } B) void x( ){ ...return true; } C) int x( ){ ...return true; } D) int x( int a, b){ return a+b; } 5. 列方法定义中,方法头不正确的是( )。 A)public int x( ){ ... } B)public static int x( double y ){ ... } C)void x( double d ) { ... } D)public static x( double a ){ ... } 6.在某个类中存在一个方法:void getSort(int x),以下能作为这个方法的重载的声明的是()。 A)public getSort(float x) B)int getSort(int y) C)double getSort(int x,int y) D)void get(int x,int y) 7.在某个类中存在一个方法:void sort(int x),以下不能作为这个方法的重载的声明的是()。 A)public float sort(float x) B)int sort(int y) C)double sort(int x,int y) D)void sort(double y) 8. 为了区分类中重载的同名的不同方法,要求( )。 A) 采用不同的形式参数列表 B) 返回值类型不同 C) 调用时用类名或对象名做前缀 D) 参数名不同 三.编程题 1. 编写一个方法,用来计算并输出: 1-1/2+1/3-1/4+………+(-1)(n-1) *1/n,其中n是用户输入的正整数。 import java.util.*; class Test1{ public static void main(String args[]){ int n, i,j=1; double s=0.0; Scanner r=new Scanner(System.in); n=r.nextInt(); for(i=1;i<=n;i++){ s=s+1.0/i*j; j=j*(-1); } System.out.println(“计算结果为:”+s); } } 2.编写方法,输出n以内的所有完数。完数:如果一个数恰好等于它的因子之和,则这个数就是“完数”。例如:6的因子是1、2、3,而6=1+2+3,因此6就是完数。 import java.util.*; class Test1{ public static void main(String args[]){ int n, i,j,s; Scanner r=new Scanner(System.in); n=r.nextInt(); for(i=1;i<=n;i++){ s=0; for(j=1;j<i;j++) if(i%j==0)s=s+j; if(s==i) System.out.print(“ ”+i); } } } 4.编写方法,求如下数值:1+1/3+ … + … +1/(2n-1); import java.util.*; class Test1{ public static void main(String args[]){ int n, i,j; double s=0.0; Scanner r=new Scanner(System.in); n=r.nextInt(); for(i=1;i<=n;i++) s=s+1.0/(2*i-1); System.out.println(“计算结果为”+s); } } 5.编写方法,计算一个整数各位数字的和。使用如下方法说明: public static int sumDigits(long n) 例如:sumDigits(234)返回2+3+4=9 public static init sumDigits(long n){ int s=0; while(n>0){ s=s+n%10; n=n/10; } System.out.println(n+”各个位上数字和为:”+s); } 面向对象2: 一、选择题 1 定义类头时,不可能用到的关键字是()。 A) class B)private C)extends D)public 2.下列类定义中,不正确的是()。 A) class x { .... } B) class x extends y { .... } C) static class x implements y1,y2 { .... } D) public class x extends Applet { .... } 3.下列类头定义中,错误的是()。 A)public x extends y {...} B) public class x extends y {...} C)class x extends y implements y1 {...} D)class x {...} 4.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是( )。 A) float A a; B) public A a=A( ); C) A a=new int( ); D) static A a=new A( ); 5.设 A为已定义的类名,下列声明A类的对象a的语句中正确的是()。 A) public A a=new A( ); B) public A a=A( ); C) A a=new class( ); D) a A; 6.设 X 、Y 均为已定义的类名,下列声明类X的对象x1的语句中正确的是()。 A) public X x1= new Y( ); B) X x1= X ( ); C) X x1=new X( ); D) int X x1; 7. 设X 、Y为已定义的类名,下列声明X类的对象x1的语句中正确的是()。 A) static X x1; B) public X x1=new X(int 123); C) Y x1; D) X x1= X( ); 8.通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现: ___MyClass obj=new MyClass()___。 9. 设i , j为类X中定义的int型变量名,下列X类的构造方法中不正确的是( )。 A) void X(int k ){ i=k; } B) X(int k ){ i=k; } C) X(int m, int n ){ i=m; j=n; } D) X( ){i=0;j=0; } 10. 有一个类A,以下为其构造方法的声明,其中正确的是( )。 A)public A(int x){...} B)static A(int x){...} C)public a(int x){...} D)void A(int x){...} 11. 有一个类A,以下为其构造方法的声明,其中正确的是( )。 A)void A(int x){...} B)A(int x){...} C)a(int x){...} D)void a(int x){...} 12. 设i、j、k为类X中定义的int型变量名,下列类X的构造方法中不正确的是( )。 A) X( int m){ ... } B) void X( int m){ ... } C) X( int m, int n){ ... } D) X( int h,int m,int n){ ... } 13. 设i , j为类X中定义的double型变量名,下列X类的构造方法中不正确的是( )。 A) double X(double
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服