J a v a面向对象编程练习题精编Lele was written in 2021Java面向对象编程练习题专题1 初识Java一、填空题1.自从Sun推出Java以来,按应用范围可分为三个版本,分别是(SE)、( EE )、( ME )。
2.环境变量的设置,若JDK安装在“D:\JDK”,则应设置Path为()、classpath为()。
3.Java源文件的扩展名为(),用Javac编译Java源文件,得到的字节码文件的扩展名为()。
4.如果Java源文件中有多个类,那么只能有一个类是()类。
5.Java程序可以分成两类,即()和()。
二、选择题1.作为Java应用程序入口的main方法,其声明格式是(B )A.public static int main(String args[]) B.public static void main(String args[])C.public void main(String args[]) D.publicint main(String args[])2.下面命令正确的是(B)A.java B.java AppFirstC.java D.javac AppFirst3.设有一个Java小程序,源程序名为,其class文件为,则运行该小程序的命令为(B)A.java FirstApplet B.javac C.appletviewer D.appletviewer4.JDK安装完成后,主要的命令如javac、java等,都存放在根目录的(A)文件夹下。
A.bin B.jre C.include D.doc5.Java语言是一种 D 语言。
A.机器B.汇编C.面向过程的D.面向对象的6、Java程序的最基本组成单位是 D 。
A.函数B.过程C.变量D.类三、简答题(十分重要)1.Java语言有哪些特点跨平台、一种简单、面向对象、分布式、半编译半解释、健壮、安全、多线程2.JDK安装完成后,如何设置环境变量Path 配置:1)我的电脑—属性—高级—环境变量—系统变量2)新建变量名:path 变量值: jdk中bin的路径 C:\Program Files\Java\ 配置 Class Path :1)我的电脑—属性—高级—环境变量—系统变量2)新建变量名:classpath 变量值: .;jdk中lib的路径;C:\Program Files\Java\3.简述Java应用程序和小应用程序的区别。
4.简述Java应用程序的开发过程专题2 标识符、表达式、数据类型一、填空题1.Java逻辑常量有两个:(true )和( false )。
2.写出下列表达式的运算结果,设a=2,b=-4,c=true。
(1)-a%b++ -2(2)a>=1 && a <= 10 a : b true(3)c^(a>b) false(4)(-a)<<a -8(5)(double)(a+b)/5+a/b3、比较两个数相等的运算符是: == 。
4、Java中的八种基本数据类型分别是:char、 int 、long 、 short 、 boolean 、 float 、 double 和byte 。
二、选择题1.下面这些标识符哪个是错误的(C )A.Javaworld B._sum C.2Java Program D.$abc2.下列哪一组运算符的优先级顺序是从高到低排列的(B )A.|、&、! B.&、^、|| C.!、%、++ D.<、<<、++3、下面哪个赋值语句不会产生编译错误(D )A.char a=’abc’; B.byte b=152; C.float c=; D.double d=;4.下面哪个单词是Java语言的关键字(D )A.False B.FOR C.For D.for5.执行下面程序后,哪个结论是正确的(A )int a, b, c;a=1; b=3; c=(a+b>3 ++a : b++);A.a的值为2,b的值为3,c的值为1 B.a的值为2,b的值为4,c的值为2C.a的值为2,b的值为4,c的值为1 D.a的值为2,b的值为3,c的值为26.设各个变量的定义如下,哪些选项的值为true ( C)int a=3, b=3;boolean flag=true;A.++a = = b B.++a= = b++ C.(++a = = b) || flag D.(++a= =b) & flag7.表达式(int)*3的值的类型为(B )A.short B.int C.double D.float 8.设a, b, x, y, z均为int型变量,并已赋值,下列表达式的结果属于非逻辑值的是(D )A.x>y && b<a B.-z>x-y C.y = = ++x D.y+x*x++9.下面语句输出的结果为(B )7 C22 C3 C7 12 8 1 3C12 C0 C1 C5 C16 C4 C5 C0’50 c30 c30 c30 c2 C0 C7 C6.求从1到100之间所有奇数的平方和(用for、while和do……while编写程序)。
7.求S=1+2+3+…+n之和,S<1000的最大n的值。
8. 有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
9.猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个,到第十天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少10.输出九九乘法表。
11.输出1000之内的所有完数。
所谓完数指的是:如果一个数恰好等于它的所有因子之和,这个数就称为完数。
12.输出100以内的全部素数。
13.求1!+2!+3!+ (10)14.求2+22+222+2222+22222。
专题4 数组一、填空题1.定义一个整型数组y,它有5个元素分别是1,2,3,4,5.用一个语句实现对数组y的声明、创建和赋值:()。
2.设有整型数组的定义:“int x[][]={{12,34},{-5},{3,2,6}};”则的值为()3.求取二维数组a[][]的第i行元素个数的表达式是()。
4、一个一维数组有10个元素,则该数组可用的下标范围是。
5、String S[]={“安徽”, “江苏”, “山东”};则S[1]的值是:。
6、当声明一个数据组int arr[]=new int[5];时,这代表这个数组所保存的变量类型是,数组元素下标的使用范围是。
二.选择题1.设有定义语句“int a[]={66,88,99};”,则以下对此语句的叙述错误的是()A.定义了一个名为a的一维数组 B.a数组有3个元素C.a数组的元素的下标为1~3 D.数组中的每个元素是整数2.设有定义“int[] a=new int[4];”则数组a的所有元素是()A.a0、a1、a2、a3 B.a[0]、a[1]、a[2]、a[3] C.a[1]、a[2]、a[3]、a[4] D.a[0]、a[1]、a[2]、a[3]、a[4]3.下面哪个选项正确地声明了一个字符串数组()A.char[] str B.char[][] str C.String[] str D.String[10] str4、假设有这样的数组创建:int a[]={1,2,3,4,5,6,7};则该数组长度为。
A.4 B.5 C.6D.75、下列二维数组的创建中错误的是。
A.int a[][]=new int[3][] ;B.int[][] a=new int[3][4] ;C.int a[][]={{1,2},{3,4}} ;D.int [][] a=new int[][];三、编程题1.编写一个程序,计算一维数组中的最大值、最小值及其差值。
2.将一个数组中的数逆序重新存放。
3.已知数组(12,23,26,45,58,60)是有序的,输入一个数x,将它插入到数组中,保证数组仍然是有序的。
4.输出杨辉三角形。
如:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1……5.求一个二维数组的每行最大数。
**专题5 面向对象一、填空题1.如果一个方法不返回任何值,则该方法的返回值类型为。
2.如果子类中的某个方法名、返回值类型和_传递参数_______与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。
3.接口中所有的属性均为_公有__、__静态_____和_常量_____的4.方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在类之中定义。
5.在Java程序中,通过类的定义只能实现重继承,但通过的定义可以实现多重继承关系。
6.一般Java程序的类主体由两部分组成:一部分是,另一部分是。
7.分别用关键字来定义类,用关键字来分配实例存储空间。
8.当一个类的修饰符为时,说明该类不能被继承,即不能有子类。
9.在Java中,能实现多重继承效果的方式是。
二、选择题1.方法内定义的变量()。
A.一定在方法内所有位置可见 B.可能在方法的局部位置可见C.在方法外可以使用 D.在方法外可见2.方法的形参()。
A.可以没有B.至少有一个C.必须定义多个形参D.只能是简单变量3.return语句()。
A.不能用来返回对象B.只可以返回数值C.方法都必须含有D.一个方法中可以有多个4.main()方法的返回值类型是(。
A.boolean B.intC.void D.static5.编译并运行下面的程序,运行结果是()。
public class A{public static void main(String args[]){A a=new A();(8);}void method(int i){”+i);}void method(long i){”+i);}A.程序可以编译运行,输出结果为:“int: 8”B.程序可以编译运行,输出结果为:“long: 8”C.程序有编译错误,因为两个method()方法必须定义为静态(static)的D.程序可以编译运行,但是没有输出6.能作为类及其成员的修饰符是()。
A.interface B.classC.protected D.public7.下列方法定义中,方法头不正确的是()。
A.public static x(double a){…} B.public static int x(double y){…}C.void x(double d){…} D.public int x(){…} 8.构造方法在()时被调用。