java习题
- 格式:doc
- 大小:120.00 KB
- 文档页数:41
Java基础习题习题一选择题1、下列java标识符,错误的是(D )A、_sys_varB、$StringC、user_nameD、1_file2、下列不属于基本数据类型的是( B )A、整数类型B、类C、浮点数类型D、布尔类型3、下列声明和赋值语句错误的是C (z声明为float类型,数据6.74567默认为double类型,不能赋值,应该改为float z=6.74567f)A、double w=3.1415;B、String strl=”bye”;C、float z=6.74567D、boolean truth=true;4、隐式类型转换是由按优先关系从低到高的顺序,下列描述正确的顺序为(A )A、char-int-long-float-doubleB、int-long-float-double-charC、long-float-int-double-charD、以上都不对5、下列表示单引号的是(B)A、‘B、\\’C、\\\\’D、‘\\6、下列语句片断中,d的值为:(10)Dint c=3;char a=‘1’char d=(char)(c+a);A、3B、4C、31D、’4’7、关于变量的作用范围,下列说法错误的是(15)AA、异常处理参数作用域为整个类B、局部变量作用域为声明该变量的方法代码段C、类变量作用域为声明该变量的类D、方法参数作用域为传递到方法内代码段8、下列程序test类中的变量c的最后结果为(17)Dpublic class test{public static void main(String args[ ]){int a=10;int b;int c;if(a>50){b=9;}c=b+a;}}A、10B、0C、19D、编译出错9、00101010(&)00010111语句的执行结果为(19)AA、00000010B、11111111C、00111111D、1100000010、已知i为整形变量,关于单目运算++i和i++,下列说法正确的是(20)DA、++i运算将出错B、在任何情况下运行程序结果都一样C、在任何情况下运行程序结果都不一样D、在任何情况下变量i的值都增111、多分支语句switch(表达式){}中,表达式不可以返回哪种类型的值(28)CA、整型B、实型C、接口型D、字符型12、关于while和do-while循环,下列说法正确的是(34)DA、两种循环除了格式不通外,功能完全相同B、与do-while语句不通的是,while语句的循环至少执行一次C、do-while语句首先计算终止条件,当条件满足时,才去执行循环体中的语句D、以上都不对。
JAVA习题锦集(含答案)一、判断题1.(×)接口和类一样也可以有继承关系,而且都只能支持单继承2.(√)可以用FileOutputStream对象作为PrintWrite类的构造方法的参数3.(×)A subclass inherits all methods ( including the constructor ) from the superclass4.(×)Java中所有的类都是ng的子类5.(×)由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址6.(×)abstract方法不一定要声明在abstract类中7.(×)在Java中,异常(Exception)是指程序在编译和运行进出现的错误8.(√)我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号9.(√)子类的域和方法的数目一定大于等于父类的域和方法的数目10.(×)最终方法只能存在于最终类中二、单选题1、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?B(A)安全性(B)多线性(C)跨平台(D)可移植2、下列选项中不是JAVA语言特点的是()D(A)面向对象(B)平台无关(C)安全性高(D)单线程3、异常包含下列那些内容?()D(A)程序中的语法错误(B)程序的编译错误(C)程序执行过程中遇到的事先没有预料到的情况(D)程序事先定义好的可能出现的意外情况4、JAVA语言中的语句是以()为结尾的。
B(A)句号(B)分号(C)双引号(D)逗号5、下列选项中,哪一个是打印语句的正确表达式:()A(A)System.out.println(); (B)System.out.Println();(C)System.Out.print(); (D)System.Out.println();6、下列哪一个是合法的JAVA语句标示符()C(A)#xyz (B)10Year (C)_Hello (D)@yahoo7、下列哪一个是JAVA语言的关键字()B(A)hello (B)void (C)num_01 (D)abc8、关于数据类型转换下面描述错误的是()D(A)当两个数据的类型不统一时,必须先进行数据类型的转换,再运算或赋值(B)byte类型数据可以转换为short,int,long类型数据(C)long类型数据有可能转换为byte,short,int类型数据(D)在语句int i=(int) 78.67;中,变量i的值为799、下列定义String变量s的语句中,错误的是()A(A)String s=new “Yes!”;(B)String s=new String(“yes!”) ;(C)String s; (D)String s=”Yes!”;10、下列关于注释语句的描述错误的是()DA、多行注释语句的内容,从/*开始,到*/结束B、多行注释语句也可以是单行语句C、文档注释语句的内容,从/**开始,到*/结束D、单行注释语句的内容,从//开始,以分号为结尾句11、定义一个长整型变量a的语句是()DA、int a ;B、a long ;C、float a ;D、long a;12、下列哪个是反斜杠字符的正确表示()AA、\\;B、*\\;C、\;D、\’\’;13.Main()方法的返回类型是()BA、intB、voidC、booleanD、static14. 编译运行以下程序后,关于输出结果的说明正确的是()Bpublic class Con{public static void main(String args[ ]){int x=2;System.out.println(“value is “+ ((x<1) ?22:2));}}A、输出结果为:value is 22.2B、输出结果为:value is 2C、输出结果为:value is 2.0D、编译错误15.给出下面代码:public class test{static int a[] = new a[10];public static void main(String args[]) {System.out.println(arr[10]);}}那个选项是正确的?()AA、编译时将产生错误;B、编译时正确,运行时将产生错误;C、输出零;D、输出空。
Java程序设计总复习题1、编写一个Java程序在屏幕上输出“你好!”。
(p13,例1-1)//programme name Helloworld.javapublic class Helloworld {public static void main(String args[]) {System.out.print ("你好!" );}}2. 编写一个Java程序,用if-else语句判断某年份是否为闰年。
// Programme Name LeapYear.javapublic class LeapYear{public static void main(String args[]){int year=2010;if(args.length!=0)year=Integer.parseInt(args[0]);if((year%4==0 && year%100!=0)||(year%400==0))System.out.println(year+" 年是闰年。
");elseSystem.out.println(year+" 年不是闰年。
");}}//if-else语句3、编写一个Java程序在屏幕上输出1!+2!+3!+……+10!的和。
(p64,例2-2)// programme name ForTest.javapublic class ForTest {public static void main( String args[] ) {int i,j,mul,sum=0;for(i=1;i<=10;i++) {mul=1;for(j=1,j<=i;j++) {mul=mul*j;}sum=sum+mul;public class Factorial { //下面的这个方法利用递归的方法求阶乘public intgetFac(int m) { if(m==1) { return 1; } else { return m*getFac(m-1); } } public static void main(String args[]) { Factorial fac=new Factorial(); //System.out.println(fac.getFac(4)); int sum=0; for(int i=1;i<=10;i++) { sum+=fac.getFac(i); } System.out.println("1到10的阶乘的和是:"+sum); } }}System.out.println(“1!+2!+3!+……+10!= ”+sum);}}4. (1)编写一个圆类Circle,该类拥有:①一个成员变量Radius(私有,浮点型);// 存放圆的半径;②两个构造方法Circle( ) // 将半径设为0Circle(double r ) //创建Circle对象时将半径初始化为r③三个成员方法double getArea( ) //获取圆的面积double getPerimeter( ) //获取圆的周长void show( ) //将圆的半径、周长、面积输出到屏幕(2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。
一、Java基础语法1.1. 数据类型int a = 10;double b = 3.14;char c = 'A';boolean d = true;1.2. 变量声明与赋值声明一个整型变量并赋值为100。
声明一个字符串变量并赋值为"Hello, World!"。
声明一个布尔型变量并赋值为false。
1.3. 运算符计算 5 + 6 2 的结果。
计算 (10 / 3) 2 的结果。
将变量 a 的值增加 5。
1.4. 条件语句如果变量 a 大于 10,输出 "a is greater than 10"。
如果变量 b 小于 0,输出 "b is negative"。
如果变量 c 等于 'A',输出 "c is 'A'".1.5. 循环语句使用 for 循环输出 1 到 10 的所有整数。
使用 while 循环输出 1 到 5 的所有整数。
使用 dowhile 循环输出 1 到 3 的所有整数。
二、面向对象编程2.1. 类与对象定义一个名为 Person 的类,包含 name 和 age 两个属性。
创建一个 Person 对象,并设置其 name 为 "John" 和 age 为25。
2.2. 构造方法修改 Person 类,添加一个构造方法,接收 name 和 age 作为参数。
创建一个 Person 对象,并使用构造方法设置其属性。
2.3. 方法在 Person 类中添加一个方法,用于输出对象的 name 和 age。
创建一个 Person 对象,并调用其方法输出信息。
2.4. 继承定义一个名为 Student 类,继承自 Person 类。
在 Student 类中添加一个属性:score。
创建一个 Student 对象,并设置其 name、age 和 score。
Java练习题库(含答案)一、Java语法基础(1-18)1、在Java中,负责对字节码解释执行的是()。
答案:BA、垃圾回收器B、虚拟机C、编译器D、多线程机制2、下列描述中,正确的是()答案:AA、Java程序的main方法必须写在类里面。
B、Java程序中可以有多个main方法。
C、Java程序中类名必须与文件名一样。
(public修饰的才有这要求)D、Java程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来。
3、下列描述中,正确的是()答案:AA、Java中的标识符是区分大小写的B、源文件名与public类名可以不相同C、Java源文件扩展名为.jarD、Java源文件中public类的数目不限4、下列关于Java中变量命名规范的描述中,正确的是( ) 答案:BA、变量由字母、下划线、数字、$符号随意组成。
(数字不能开头)B、变量不能以数字开头。
C、A和a在java中是同一个变量。
D、不同类型的变量,可以起相同的名字。
5、以下选项中,不是Java合法标识符的是( ) 答案:CA、 VOIDB、 x3xC、 finalD、 abc$def6、在Java中定义一个类时,所使用的关键字是()。
答案:AA、classB、publicC、structD、class 或struct7、下列关于运算符优先级别排序正确的是()答案:AA、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;8、表达式(15+3*8)/4%3的值是( )答案:AA、 0B、 1C、 2D、 399、已知字符A对应的ASCII码值是65,那么表达式"A" + 1的值是()答案:CA.、66 B、B C、A1 D、非法表达式,编译出错10、下列关于boolean类型的叙述中,正确的是()答案:DA、可以将boolean类型的数值转换为int类型的数值B、可以将boolean类型的数值转换为字符串C、可以将boolean类型的数值转换为char类型的数值D、不能将boolean类型的数值转换为其他基本数据类型11、下面关于for循环的描述正确的是( ) 答案:AA、 for循环体语句中,可以包含多条语句,但要用大括号括起来。
java基础练习题# Java基础练习题一、选择题1. Java是一种:A. 编译型语言B. 解释型语言C. 汇编语言D. 机器语言答案: B2. Java程序的执行流程是:A. 编译 -> 运行B. 编译 -> 链接 -> 运行C. 编译 -> 翻译 -> 执行D. 编译 -> 执行答案: C3. 下列哪个是Java的关键字:A. `int`B. `float`C. `double`D. `string`答案: A4. Java中,哪个关键字用于定义类:A. `public`B. `class`C. `interface`D. `void`答案: B5. Java中,哪个不是合法的标识符:A. `myClass`B. `class`C. `2variable`D. `Variable`答案: C二、填空题1. Java语言的跨平台特性是通过______实现的。
答案: Java虚拟机(JVM)2. Java的基本数据类型包括:byte, short, int, long, float, double, char, ______。
答案: boolean3. 在Java中,使用______关键字可以定义一个方法。
答案: void 或者其他返回类型4. Java中,一个类可以有多个构造方法,只要它们的______列表不同。
答案:参数5. Java中,`System.out.println()`用于______。
答案:输出信息到控制台三、简答题1. 简述Java的垃圾回收机制。
答案: Java的垃圾回收机制是一种自动内存管理功能,它负责回收不再使用的对象所占用的内存。
垃圾回收器定期检查内存中的对象,识别那些不再被任何引用指向的对象,并将它们从内存中清除,释放内存资源。
2. 描述Java中的继承和多态的概念。
答案:继承是Java中一个类(子类)可以继承另一个类(父类)的属性和方法。
JAVA基础编程练习题【程序1】古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少?【程序2】判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是【程序3】打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
【程序4】将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
【程序5】利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B 表示,60分以下的用C表示。
【程序6】输入两个正整数m和n,求其最大公约数和最小公倍数。
【程序8】求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
【程序9】一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如6=1+2+3.编程找出1000【程序10】一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次【程序11】有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
第一章Java语言概述一、判断题1.Java 语言不区分大小写。
( )2.Java 程序源文件的扩展名为“*、class”。
( )3.Java 程序中都含有 main 方法,因为它就是所有 Java 程序执行的入口。
( )4.Java 程序可以运行在任何操作系统上,只要有对应操作系统的虚拟机。
( )5.Java 程序源文件名应该与主类名保持一致。
( ) 二、选择题1.作为Java 程序应用程序入口的 main 方法,其声明格式就是:( ) A public static int main (String args[ ]) B public static void main (String args[ ]) C public void main (String args[ ]) D public int main (String args[ ])2.设有一个 Java 小程序,源程序名为 Appfirst、java,其 HTML 文件为 Appfirst、html,则运行该小程序的命令为。
( )A java AppfirstB javac Appfirst、javaC appletviewer appfirst、javaD appletviewer appfirst、html3.下面命令正确的就是。
( )A Java appfirst、 javaB Java appfirstC Java appfirst、 classD Javac appfirst4.对主类的说明正确的就是。
( )public class Helloworld {public static void main(String args[ ]) {System、out、println("欢迎访问 Java 世界!");} }A 源程序无法通过编译,因为主方法的声明不正确B 源程序可以通过编译,但无法运行,因为该文件没有 public 类C 源程序可以通过编译,但在运行时会出现“程序中没有主方法的异常” 3D 程序能正常运行5.如果已经编写了 Java 小程序 Appfirst、java,在编写它所对应的 HTML 文件时能正确将其嵌入到 HTML 网页文件的语句就是。
( )A <applet code=”Appfirst、java” width=300 height=60></applet>B <applet code=”Appfirst” width=300 height=60></applet>C <applet code=”Appfirst、class” width=300 height=60></applet>D 以上都不对。
三、简答题1、Java 语言的编译过程与一般编程语言的编译过程有何不同?2、Java 开发 Application 与 Applet 小程序,主要区别就是什么?第二章 Java 编程基础一、判断题1. “//”即可以表示单行注释,也可以表示多行注释。
( )2.Java 中的整型 int 占 2个字节,取值范围为-32768~32767。
( )3.在 Java 语言中,执行语句”boolean t=1 && 0;”的结果就是给 boolean 类型变量 t 赋初值为 false。
( )4.声明变量时必须定义一个类型。
( )5.注释的作用就是使程序在执行时在屏幕上显示注释符号之后的内容。
( )6.Java 认为变量 Sum 与 sum 就是相同的。
( )7.求模运算符(%)只可用于整型操作数。
( )8.算术运算符*,/,%,+与-有相同的优先级。
( )9.Java 语言中的标识符可以以数字、字母或下划线开头。
( )10.Java 中小数常量的默认类型为 float 类型,所以表示单精度浮点数时,可以不在后面加4 F 或 f。
( )二、选择题1.下面这些标识符那个就是错误的:( )A JavaworldB _sumC 2Java ProgramD $abc2.下列那组基本数据类型所占的字节数相同。
( )A 布尔型与字符型B 整型与单精度型C 字节型与长整型D 整型与双精度型3.下列那一组运算符的优先级顺序就是那由高到低排序的。
( )A |、&、!; B&、^、||; C !、%、++; D <、<<、++4.下面哪个赋值语句不会产生编译错误( )A char a=’abc’;B byte b=152;C float c=2、0;D double d=2、0;5.下面哪个单词就是 Java 语言的关键字。
( ) A False B FOR C For D for6.有如下的程序:( )public class Welcome3 {public static void main( String args[] ) {System、out、println( "How\nare\nyou!\n" ); } }则它的输出结果就是:A How are you !B How are you !C How are you !D How are you!7.执行下面程序后,哪个结论就是正确的( ) int a,b,c; a=1 b=3c=(a+b>3 ?++a:b++)A a 的值为 2,b 的值为 3,c 的值为 1B a 的值为 2,b的值为 4,c 的值为 2C a 的值为 2,b的值为 4,c 的值为 1D a 的值为 2,b 的值为 3,c 的值为 2A char a=’abc’;B byte b=152;C float c=2、0;D double d=2、0;8.设各个变量的定义如下,哪些选项的值为 true( )int a=3,b=3; boolean flag=true;A ++ a = =bB ++a= =b++C (++a= =b) || flagD (++a= =b) & flag9.使整值变量 x 加 1,下面写出的形式不对的就是:( )A x + +B + + xC x = x + 1D x = + 110.下面表达式的值的类型为( ) (int)6、5/7、5*3A shortB intC doubleD float11.设 a,b,x,y,z均为 int 型变量,并已赋值,下列表达式的结果属于非逻辑值的就是( )。
A.x>y && b<a B –z>x-y C y==++x D y+x*x++12.下面语句输出的结果为( ) system 、 out 、 println(5^2)A 6B 7C 10D 2513.设 x 为 int 型变量,则执行以下语句段后,x 的值为( ) x=15; x+=x-=x-x;A 10B 20C 30D 4014.对下面的语句执行完正确的说法就是( ) int c=’c’/3;System、out、println(c)A 输出结果为 21B 输出结果为 22C 输出结果为 32D 输出结果为 3315.以下选项中变量 a 以定义类型,合法的赋值语句为( ) A a= int(y) B a==1 C a=a+1=3 D ++a16.阅读以下程序,选择正确的答案( ) int x=7,y=8,z=9; 6 char ch='A'; x++;z--;System、out、println(x= =y); System、out、println(y=z--); System、out、println(x= =z);System、out、println(ch++= ='A'); System、out、println(ch++= ='B');A 程序输出结果均为布尔值B 程序中输出 3 个 trueC 程序运行后,ch 的值为‘C’D 程序运行后,z 的值为 817.执行下列程序段后,b,x,y 的值正确的就是( ) int x=3,y=4; boolean ch;ch=x<y||++x==--y;A true,3,4B true,4,3C false,3,4D false,4,318.执行下列程序段后,b,x,y 的值正确的就是( ) int x=3,y=4; boolean ch;ch=x<y|++x==--y;A true,3,4B true,4,3C false,3,4D false,4,3三、简述题1.Java 有那些基本数据类型。
写出 int 型所能表达的最大、最小数据。
2.Java 有哪些算术运算符、关系运算符、逻辑运算符、位运算符与赋值运算符?试列举单目与三目运算符。
3.写出下面表达式的运算结果,设 a=2,b=-4,c=true。
(1) - - a % b+ +(2) ( a >= 1 && a <= 10? a : b) (3) c ^( a > b) (4) (- - a )< <a(5) (double)(a+b)/5+a/b第三章 Java 的控制结构一、判断题1、default 在 switch 选择结构中就是必需的。
( ) 72、break 语句在 switch 选择结构就是必需的。
( )3、while 循环中循环体至少执行一次。
( )4、if 结构与 if/else 结构所做的动作就是相同。
( )5、 break 语句只用于循环语句中,它起到终止本次循环的作用。
( )6、 continue 语句只用于循环语句中,它起到终止本次循环的作用。
( )7、结构化程序设计提高了程序的清晰简单性,并且它只需使用三种形式的控制结构就足够了。
( )二、选择题1、所有的程序均可以用几种类型控制结构编写。
( )A 顺序结构、选择结构、循环结构B 顺序结构、循环结构C 顺序结构、选择结构D 选择结构、循环结构2、当条件为真与条件为假时,( )控制结构可以执行不同的动作。
A switch B while C for D if/else3、下面程序片段输出的就是什么? ( )int a=3; int b=1; if(a=b)System、out 、println(“a=”+a);A a=1B a=3C 编译错误,没有输出D 正常运行,但没有输出4、下面程序的输出结果就是:( ) public class Test{void printValue(int m){do , System 、out 、println(“The value is”+m); }while(- - m>10); }public static void main(String arg[]){ int i=10;Test t= new Test(); t、printValue(i); } }A 8B 9C 10D 115、下列语句执行后,x 的值为( ) int a=4,b=5,x=3; if(++a==b) x=x*a; A 3 B 12 C 15 D 206、下列语句执行后,z 的值为( ) int x=3,y=4,z=0; switch(x%y+2) {case 0:z=x*y;break; case 6:z=x/y;break; case 12:z=x-y;break; default:z=x*y-x; }A 15B 0C -2D 127、请瞧下面的程序代码:( ) if(x>0) , System 、out 、println(“first”);-else if(x<20) , System 、out 、println(“second”);- else , System 、out 、println(“third”) - 当程序输出“second”时,x 的范围为: A x < = 0B x < 20 && x > 0C x > 0D x >= 208、请瞧下面的程序代码:( ) switch(n) {case 0: System 、out 、println(“first”); case 1:case 2: System 、out 、println(“second”); break; default: System 、out 、println(“end”); } 当 n 为何值时,程序段将输出字符串 second: 9 A 0 B 1 C 2D 以上都可以9.下列语句执行后,x 的值就是( ) int x=2; do{x+=x; }while(x<17);A 4B 16C 32D 25610.下列语句执行后,j 的值就是( ) int j=3,i=3; while(--i!=i/j) j=j+2;A 4B 5C 6D 711.下列语句执行后,i,j 的值就是( ) int i=1, j=8;do{if(i++>--j)continue;}while(i<4);A i=4,j=5B i=5,j=4C i=4,j=5D i=5,j=612、下列语句执行后,k 的值就是( ) int j=4,i,k=10; for(i=2;i!=j;i++) k=k-i;A 4B 5C 6D 713、下列语句执行后,c 的值就是( ) char c='\0';for(c='a';c<'z';c+=3) {if(c>='e') break; }A ’e’B ’d’C ’f’D ’g’14.下列语句执行后,k 的值就是( ) int i,j,k=1;lable:for(i=1;i<8;i++) {for(j=1;j<6;j++) 10 { k*=i+j; if(j==3) break lable; } }A 22B 23C 24D 25 15.下列语句执行后,k 的值就是( ) int i,j,k=1;lable:for(i=1;i<3;i++) {for(j=1;j<4;j++) {k+=i+j; if(j==3)continue lable; } }A 22B 23C 24D 25三、程序填空1 以下程序的功能就是:求 s=1/2+1/6+1/12+1/20+……+1/(19*20);请将下列程序补充完整。