1、基础语法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’
2、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
3、 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、指出下
4、列类型转换中正确的是______________。 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)
5、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、设有定义
6、 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
7、) 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;
8、 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、若以下变量均已正确定义并赋值,
9、下面符合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
10、);
System.out.println(d);
2、 面代码执行完后的输出是_b is:false___-。
int x=3; int y=4; boolean b=true;
System.out.println("b is:"+(b==(y
11、辑常量只有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、表
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
13、i=4,j=5,k=9,m=5;
if(i>j||m 14、itch语句是( )。
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;
def 15、ault: 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 16、 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' 17、 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.以下fo 18、r循环的执行次数是( )。
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次 19、 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 20、);
则循环体将被执行( )。
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.下列语句 21、序列执行后,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)标号为 22、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)程序控制在内层循环中 23、并且执行内层循环的下一迭代
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”_); }
24、 }
}
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 的主类的定义,其功 25、能是输出乘法口诀表第一列,请完成程序填空。
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’ )
{ 26、 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 的 27、值为 ’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 Myste 28、ry {
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 > 29、 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 Test 30、1{
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= 31、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){
System.out.print 32、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+” ”);
}
33、 }
}
5. 编写一个程序把十进制的数转换成一个二进制的数
1、编译Java程序的命令是什么?javac
2、执行Java程序的命令是什么?java
3、Java应用程序和小程序的区别是什么?
(1)应用程序编译后可以直接解释执行,而小程序编译后只能嵌入HTML文件中执行;
(2)应用程序至少有一个主方法,它是程序执行的入口和出口,小程序没有主方法,只能按照生命周期运行;
(3)小程序的主类必须继承Applet
面向对象部分1:
1、对象的三要素是什么?对象名、属性、方法
2、对象和类之间的关系是什么?类是对象的集合,对象是类的实例或具体化
一.填 34、空题
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的功能是求两参数之 35、积的整数部分。
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 __tr 36、ue__;
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) v 37、oid 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; } 38、 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 39、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 40、),以下不能作为这个方法的重载的声明的是()。
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, 41、其中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 42、);
}
}
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;
43、 for(j=1;j 44、 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;
} 45、
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 { 46、 .... }
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( 47、);
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 48、 设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; 49、 } 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){.. 50、} 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






