java练习题

合集下载

Java日常练习题,每天进步一点点(11)

Java日常练习题,每天进步一点点(11)

Java⽇常练习题,每天进步⼀点点(11)⽬录1、对接⼝的描述正确的是()2、类中的数据域使⽤private修饰为私有变量,所以任何⽅法均不能访问它。

3、已知如下类定义:4、在java的⼀个异常处理中,可以包含多个的语句块是()。

5、关于Java语⾔中的final关键字的使⽤,下列说法正确的是()6、在 main() ⽅法中给出的整型数组,如果将其写到⼀个⽂件中,需要()。

7、下列有关Servlet的⽣命周期,说法不正确的是?8、What is displayed when the following is executed?9、假定Base b = new Derived(); 调⽤执⾏b.methodOne()后,输出结果是什么?10、下⾯关于变量及其范围的陈述哪些是不正确的()答案汇总:总结承蒙各位厚爱,我们⼀起每天进步⼀点点!(⿏标选中空⽩处查看答案)1、对接⼝的描述正确的是()正确答案: A⼀个类可以实现多个接⼝接⼝可以有⾮静态的成员变量在jdk8之前,接⼝可以实现⽅法实现接⼝的任何类,都需要实现接⼝的⽅法题解:A,⼀个类只能有⼀个直接⽗类,但是继承是有传递性的。

⼀个类可以实现多的接⼝。

⼀个接⼝可以继承多个类。

B,接⼝中没有普通变量(普通成员变量),接⼝中都是常量,默认修饰符:public static finalC,JDK8之前,接⼝中的⽅法都是默认public abstract的,JDK8之后,接⼝中可以有static、default的修饰的⽅法,⼀旦被修饰,⽅法必须有⽅法体(抽象⽅法可是没有⽅法体的),接⼝中的⽅法都不能被private和protected 修饰,同时外部接⼝、类只能被public修饰或者不写,但是内部接⼝、类可以被四个访问修饰符修饰。

D,实现接⼝,其实就是需要重写接⼝中的abstract⽅法,⼀旦实现的类没有重写完,那么这个类必须是个抽象类(抽象类中可以没有抽象⽅法,但是有抽象⽅法的类必须是抽象类)。

java试题库及答案

java试题库及答案

java试题库及答案Java试题库及答案一、单选题1. Java语言的特点是什么?A. 面向过程B. 面向对象C. 编译型语言D. 解释型语言答案:B2. 在Java中,用哪个关键字可以定义一个类?A. publicB. classC. voidD. int答案:B3. 下列哪个是Java的合法标识符?A. 2classB. class#2C. _class2D. class:2答案:C4. Java中的main()方法必须定义为什么类型的参数?A. intB. StringC. voidD. None答案:D5. 在Java中,哪个关键字用于实现异常处理?A. tryB. catchC. throwD. All of the above答案:D二、多选题6. 下列哪些是Java的基本数据类型?A. intB. StringC. floatD. boolean答案:A, C, D7. 在Java中,哪些是合法的数组初始化方式?A. int[] arr = new int[10];B. int arr[] = {1, 2, 3};C. int arr = {1, 2, 3};D. int arr = new int[3]{1, 2, 3};答案:A, B8. 下列哪些是Java的控制流语句?A. if-elseB. switch-caseC. forD. try-catch答案:A, B, C三、简答题9. 简述Java的垃圾回收机制。

答案:Java的垃圾回收机制是一种自动内存管理功能,它周期性地执行,回收不再使用的对象所占用的内存空间。

垃圾回收器会跟踪每个对象的引用,当对象的引用计数为0时,即没有任何引用指向该对象,垃圾回收器就会在下一次执行时回收该对象占用的内存。

10. 什么是Java的接口?它有什么作用?答案:Java中的接口是一种完全抽象的类,它不包含任何实现代码,只包含常量和抽象方法的声明。

Java日常练习题,每天进步一点点(60)

Java日常练习题,每天进步一点点(60)

Java⽇常练习题,每天进步⼀点点(60)⽬录1、假设 A 类有如下定义,设 a 是 A 类同⼀个包下的⼀个实例,下列语句调⽤哪个是错误的?()2、Java中基本的编程单元为:3、下列代码的执⾏结果是:()4、给定以下JAVA代码,这段代码运⾏后输出的结果是()5、以下哪⼀项正则能正确的匹配⽹址: /video/av21061574 ()6、下列关于异常处理的描述中,错误的是()。

7、以下哪项不属于java类加载过程?8、对于⽂件的描述正确的是()9、有关hashMap跟hashtable的区别,说法正确的是?10、java中 String str = "hello world"下列语句错误的是?答案汇总:总结承蒙各位厚爱,我们⼀起每天进步⼀点点!(⿏标选中空⽩处查看答案)1、假设 A 类有如下定义,设 a 是 A 类同⼀个包下的⼀个实例,下列语句调⽤哪个是错误的?()class A{ int i; static String s; void method1() { } static void method2() { } }正确答案:CA System.out.println(a.i);B a.method1();C A.method1();D A.method2()题解:1、⾮静态⽅法只能通过实例对象来调⽤,不能直接通过类名调⽤。

静态⽅法(static)才能通过类名直接调⽤.2、类中变量:除了private权限外,其他权限的变量(没有表⽰默认default),均可以⽤“对象.变量名”来调⽤。

对于private变量,即使使⽤static,也不能⽤“类.变量名”来调⽤私有变量。

只能通过类中的public get()⽅法来调⽤。

类中⽅法:除了private权限外,其他权限的⽅法(没有表⽰默认default),均可以⽤“对象.⽅法名”来调⽤。

private ⽅法可以⽤java反射机制调⽤。

java基础50道经典练习题及答案

java基础50道经典练习题及答案

java基础50道经典练习题及答案Java基础50道经典练习题及答案Java作为一门广泛应用于软件开发领域的编程语言,其基础知识的掌握对于程序员来说至关重要。

为了帮助大家更好地理解和掌握Java的基础知识,下面将介绍50道经典的Java练习题及其答案。

1. 编写一个Java程序,打印输出"Hello, World!"。

```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并打印输出1到100之间所有偶数的和。

```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}System.out.println("Sum of even numbers: " + sum);}}```3. 编写一个Java程序,判断一个整数是否为素数。

```javapublic class PrimeNumber {public static void main(String[] args) {int number = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(number); i++) {if (number % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(number + " is a prime number.");} else {System.out.println(number + " is not a prime number."); }}```4. 编写一个Java程序,将一个字符串反转并输出。

JAVA练习题

JAVA练习题

一、单选题1、下列构造方法的调用方式中,正确的是()。

A、按照一般方法调用B、由用户直接调用C、只能通过new 自动调用D、被系统调用2、在Java 中,能实现多重继承效果的方式是()A、内部类B、适配器C、接口D、同步3、在Java 中,所有类的根类是()。

A、ng.ObjetB、ng.ClassC、java.applet.AppletD、java.awt.Frame4、按照Java 的标识符命名规范,下列表示一个类的标识符正确的是()A、HelloworldB、HelloWorldC、helloworldD、helloWorld5、Java语言的类型是()A、面向对象语言B、面向过程语言C、汇编程序D、形式语言6、下列对继承的说法,哪个是正确的? ()A、子类能继承父类的所有方法和状态B、子类能继承父类的非私有方法和状态C、子类只能继承父类public方法和状态D、子类只能继承父类的方法,而不继承状态7、下列哪些内容是异常的含义?()异常是一个运行时错误7、()是不能被当前类的子类重新定义的方法。

A、抽象方法B、私有方法C、最终方法D、构造方法8、下列命令中,哪个命令是Java的编译命令?()A、javacB、javaC、javadocD、appletviewer9、下列有关Java语言的叙述中,正确的是()A、Java是不区分大小写的B、源文件名与public类型的类名必须相同C、源文件名其扩展名为.jarD、源文件中public类的数目不限10、若数组a定义为int[][]a=new int[3][4],则a是()A、一维数组B、二维数组C、三维数组D、四维数组11、下列关于Java语言特点的叙述中,错误的是( )A、Java支持分布式计算B、Java是面向过程的编程语言C、Java是跨平台的编程语言D、Java支持多线程12、用来导入已定义好的类或包的语句是()A、importB、mainC、public classD、class13、如要抛出异常,应用下列哪种子句?()A、catchB、throwC、tryD、finally14、下列的哪个选项可以正确用以表示十六进制值16?()A、0x8B、0x10C、08D、01015、要想定义一个不能被实例化的抽象类,在类定义中必须加上修饰符( )。

java试题练习题(第9套)

java试题练习题(第9套)

—— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷一、单项选择题(20题;每题2分,共40分) 1、下面选项中,___不可以用作变量名的首字符。

A )字母 B )下划线(_) C )数字 D )美元符号(¥) 答案:C (难度系数C )知识点:变量 2、下面语句中,____不会出现编译警告或错误。

A )float f=1.3; B )char c=”a”; C )byte b=25; D )boolean b=null; 答案:C (难度系数B )知识点:赋值相容 3、下列叙述正确的是___。

A )final 类可以有子类 B )abstract 类中只可以有 abstract 方法 C )abstract 类上可以有非abstract 方法,但该方法不可以用final 修饰 D )不可以同时用final 和abstract 修饰一个方法 答案:D (难度系数B ) 知识点:抽象类,抽象方法 4、创建一个标识有“关闭”按钮的语句是___。

A ) TextField b = new TextField(“关闭”);B ) Label b = new Label(“关闭”);C ) Checkbox b = new Checkbox(“关闭”);D ) Button b = new Button(“关闭”);答案:D (难度系数C ) 知识点:GUI 编程5、在编写异常处理的Java 程序中,每个catch 语句块都应该与___语句块对应,使得用该语句块来启动Java 的异常处理机制。

班级:姓名: 学号:试题共页加白纸张密封线A)if – else B)switch C)try D)throw答案:C(难度系数B)知识点:异常6、paint()方法使用_____类型的参数。

A)Graphics B)Graphics2D C)String D)Color 答案:A (难度系数B,知识点applet)7、下列语句正确的是________。

Java语言练习题库(含答案)

Java语言练习题库(含答案)

Java语⾔练习题库(含答案)单选题1. 为了保证⽅法的线程安全,声明⽅法的时候必须⽤哪个修饰符?(A) new(B) transient(C) void(D) synchronized2. 编译Java源⽂件使⽤哪个?(A) javac(B) jdb(C) javadoc(D) junit3. 哪⼀种类的对象中包含有Internet地址。

(A) Applet(B) Datagramsocket(C) InetAddress(D) AppletContext4. 有关GUI容器叙述,不正确的是?(A) 容器是⼀种特殊的组件,它可⽤来放置其它组件(B) 容器是组成GUI所必需的元素(C) 容器是⼀种特殊的组件,它可被放置在其它容器中(D) 容器是⼀种特殊的组件,它可被放置在任何组件中5. 使⽤javadoc⽣成的⽂档的⽂件格式是?(A) XML格式(B) ⾃定义格式(C) ⼆进制格式(D) HTML格式6. 下列有关类、对象和实例的叙述,正确的是哪⼀项?(A) 类就是对象,对象就是类,实例是对象的另⼀个名称,三者没有差别(B) 对象是类的抽象,类是对象的具体化,实例是对象的另⼀个名称(C) 类是对象的抽象,对象是类的具体化,实例是类的另⼀个名称(D) 类是对象的抽象,对象是类的具体化,实例是对象的另⼀个名称7. 在事件委托类的继承体系中,最⾼层次的类是哪项?(A) java.util.EventListener(B) java.util.EventObject(C) java.awt.AWTEvent(D) java.awt.event.AWTEvent8. Java语⾔中异常的分类是哪项?(A) 运⾏时异常和异常(B) 受检异常和⾮受检异常(C) 错误和异常(D) 错误和运⾏时异常9. 使⽤下列哪些关键字可以判定实参的具体类型?(A) as(B) is(C) instanceof(D) extends10. 在⽅法的声明中,要求该⽅法必须抛出异常时使⽤哪个关键字?(A) Throw(B) catch(C) finally(D) throws11. Applet的布局设置默认是FlowLayout,下列中哪项代码可以改变Applet的布局⽅式?(A) setLayoutManager(new GridLayout());(B) setLayout (new GridLayout(2,2));(C) setGridLayout (2,2);(D) setBorderLayout();12. 下列哪项正确?(A) JDK中包含JRE,JVM中包含JRE(B) JRE中包含JDK,JDK中包含JVM(C) JRE中包含JDK,JVM中包含JRE(D) JDK中包含JRE,JRE中包含JVM13. 在MyThread类的main⽅法中,为⽤Thread实例化。

Java练习题(试卷)

Java练习题(试卷)

【程序代码】
class Base {
public Base(int i) {
System.out.println("Call Constructor of Base Class, " + i);
}
}
class Test extends Base {
private int b;
public Test(int a, int b) {
如下 java 源程序文件中,定义了 Bicycle 类及其子类 MountainBike 类,Bicycle 类的成员变量 model 只能被类自身的方法所访问。该文件中“/*$1*/”和“/*$2*/”行是需要补充的语句,请仔细阅读程序, 补充相应的语句,使整个程序能够正常运行。(注意: 不改动程序的结构,不得增行或删行)
J_SubClass a = new J_SubClass();
}
}
A、不能通过编译,因为类 J_Test 没有定义无参数的构造方法
B、不能通过编译,因为类 J_SubClass 没有定义无参数的构造方法
C、不能通过编译,因为没有实现 J_SubClass(int i)的构造方法
D、可以成功通过编译
import java.awt.*;
class MyClass { }
public class MyClass { }
Java 练习题 1(第 2 页 共 14 页)
13.当需要在文件中写入字符而不是字节时,在下面的类中最好选用( B )类。
A、java.io.RandomAccessFile
B、java.io.PrintWriter
C、float fun(float a) { }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第3章1.下列哪些语句有错误?int x = 0;x = 5.0/2;float y = 12.5F;y = 5.0/2;2下列哪些语句有错误?byte x = 32;char c = ‘a’;int n = c-x;c = c-x;3 对于一个整数m,m<<1的结果一定是2m吗? 4下列for语句的执行结果是什么?for(int i=1; i<=4; i++){switch(i){case 1:System.out.printf(“%c”, ‘a’);case 2:System.out.printf(“%c”, ‘b’);break;case 3:System.out.printf(“%c”, ‘c’);case 4:System.out.printf(“%c”, ‘d’);break;}}5下列System.out.printf语句的输出结果是什么?char a[] = {‘a’,’b’,’c’,’d’,’e’};for(int i=0; i<a.length; i++){char c = a[i];a[i] = a[a.length-(i+1)];a[a.length-(i+1)] = c;}System.out.printf(“%c%c%c%c%c”, a[0],a[1],a[2],a[3],a[4]);6下列System.out.printf语句的输出结果是什么?int a[] = {3,4,1,2,-6};for(int i=0; i<a.length; i++){for(int j=i+1;j<a.length; j++){if(a[j]<a[i]){int n = a[j];a[j] = a[i];a[i] = n;}}}System.out.printf(“%d,%d,%d,%d,%d”, a[0],a[1],a[2],a[3],a[4]);7编写一个java应用程序,使用while循环语句计算1~1000之间能被3和7同时整除的整数之和。

int sum = 0;for(int i=1; i<1000; i++){if((i%3==0) || (i%7==0){sum += i;}}System.out.println(“sum=” + sum);8编写一个java应用程序,使用for循环计算8+88+888+。

的前10项之和。

int sum = 0;int value = 8;int nPart = 0;for(int i=0; i<10; i++){int nPart = 10 * nPart + value;sum += nPart;}System.out.println(“sum=”+ sum);9编写一个java应用程序,计算1-1/3+1/5+。

前10000项之和。

float sum = 0.0f;int flag = -1;for(int i=0; i<10000; i++){int fenmu = 2*I+1;flag *=-1;float part = 1.0f/fenmu;part = part * flag;sum += part;}System.out.println(“sum=”+sum);10编写一个java应用程序,计算1+2!+3!+4!+……从第100项到第200项之和.int value = 1;int sum = 0;for(int i=1; i<10; i++){value *= i;sum += value;}System.out.println(“sum = ”,+sum);第4章4.1选择题4.2问答题1实例方法可以操作类变量吗?类方法可以操作实例变量吗?2当类的字节码加载到内存时,类变量就一定分配了内存空间吗?3为什么类方法不可以调用实例方法?4为什么类方法中不能`操作实例成员变量?4.3程序题1编写一个类,该类创建的对象可以计算等差数列的和。

class EqualSum{float fValue;float fIncrease;int nItems;EqualSum(float fValue, float fIncrease,int nItems){this.fValue = fValue;this.fIncrease = fIncrease;this.nItems = nItems;}float getSum(){float sum = fValue+(nItems-1)*fIncrease;return sum;}}2编写一个类,该类封装了一元二次方程共有的属性和功能,即该类有刻画方程系数的3个成员变量以及计算实根的方法。

要求:该类的所有对象共享常数项。

3编写两个类:A和B,类A创建的对象可以计算两个正整数的最大公约数,类B创建的对象可以计算两个数的最小公倍数。

要求:类B的一个成员变量是类A的对象。

class A{int a;int b;A(int a, int b){this.a = a;this.b = b;}int getGongYue(){int nValue = 0;int min = a<b?a:b ;if((a%min==0)&&(b%min==0)){nValue = min;}else{for(int i=min-1; i>=1; i--){if((a%i==0)&&(b%i==0)){nValue = i;}}}return nValue;}}class B{int a;int b;A objA;B(int a, int b){this.a = a;this.b = b;}int getGongBei(){objA = new A(a,b);int n = objA.getGongYue();int nValue = a*b/n;return nValue;}}第5章5.1选择题5.2问答题5.3程序题1已知字符串s = “123”, 把它转换成整形数t = 123, 直接在main函数中完成即可。

public class Test {/***@param args*/public static void main(String[] args) { // TODO Auto-generated method stubString s = "123";Float obj = new Float("123");float t = obj.floatValue();System.out.println(t);}}2设计一个点类,它仅包含两个属性:横坐标和纵坐标。

通过继承点类再设计一个圆类,它除了有一个圆心,还有半径,还应该能计算圆的周长和面积等。

class Point{float x;float y;Point(float x, float y){this.x = x;this.y = y;}}class Circle extends Point{float r;Circle(float x, float y, float r){super(x, y);this.r = r;}float getLength(){float l = (float)Math.PI*r*2.0f;return l;}float getArea(){float area = (float)Math.PI*r*r;return area;}}3先设计一个基本帐户类,再通过继承基本帐户类设计一个储蓄帐户类,储蓄帐户类中增加一个静态成员变量(年利率)。

并增加如下方法:(1)计算月利息------存款金额*年利率/12(2)更改利率(静态方法)------重新设置年利率。

class Account{String strAccountNO;String strName;float fMoney;Account(String strAccountNO,String strName,float fMoney){this.strAccountNO = strAccountNO;this.strName = strName;this.fMoney = fMoney;}boolean save(float fValue){fMoney += fValue;return true;}boolean withdraw(float fValue){boolean bState = false;if(fMoney >= fValue){fMoney -= fValue;bState = true;}return bState;}}class SaveAccount extends Account{static float fYearRate = 0.03f;SaveAccount(String strAccountNO,String strName,float fMoney){super(strAccountNO,strName,fMoney);}float getMonthProfit() //计算月利息{float fValue = fMoney*fYearRate/12.0f;return fValue;}static void setYearRate(float fRate) {fYearRate = fRate;}boolean withdraw(float fValue, int monthNum){float fTotal =fMoney+getMonthProfit()*monthNum;boolean bState = false;if(fTotal >= fValue){fTotal -= fValue;fMoney = fTotal;bState = true;}return bState;} }第7章7.3程序题1编写一个应用程序,输出某年某月的日历页,通过main方法的参数将年份和月份时间传递到程序中i mport java.util.*;class MyCalendar{int year;int month;public MyCalendar(int year, int month){this.year = year;this.month = month;}void showHead(){System.out.println("\t\t"+year+"年"+month+"月");System.out.println("日\t一\t二\t三\t四\t五\t六");}void showCalendar(){Calendar obj = Calendar.getInstance();obj.set(year, month-1, 1);int total = obj.getActualMaximum(Calendar.DAY_OF_MONTH);int shift = obj.get(Calendar.DAY_OF_WEEK);for(int i=0; i<shift-1; i++){System.out.print("\t");}int nCount = shift-1;for(int i=1; i<=total; i++){System.out.print(""+i+"\t");nCount ++;if(nCount%7 == 0){System.out.println();}}System.out.println();}public void show(){showHead();showCalendar();}}public class Test {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubfor(int month=1; month<=12; month++){MyCalendar obj = new MyCalendar(2000, month);obj.show();}}}2编写一个应用程序,计算某年、某月、某日和某年、某月、某日之间的天数间隔,要求年月日通过main方法的参数传递到程序中。

相关文档
最新文档