Java程序设计基础习题答案
- 格式:doc
- 大小:97.00 KB
- 文档页数:23
java语言程序设计基础篇复习题答案Java语言程序设计基础篇复习题答案Java语言是一种广泛应用于软件开发领域的高级编程语言,具有跨平台、面向对象、简单易学等特点。
在学习Java语言的过程中,复习题是一种非常有效的巩固知识的方式。
本文将为大家提供一些Java语言程序设计基础篇的复习题答案,希望能够帮助大家更好地理解和掌握Java语言。
1. 以下代码的输出结果是什么?```javapublic class Test {public static void main(String[] args) {int x = 5;int y = 10;System.out.println("x + y = " + (x + y));System.out.println("x - y = " + (x - y));System.out.println("x * y = " + (x * y));System.out.println("x / y = " + (x / y));}}```答案:```x + y = 15x - y = -5x * y = 50x / y = 0```2. 以下代码的输出结果是什么?```javapublic class Test {public static void main(String[] args) { int x = 5;int y = 10;boolean result = (x > y) && (x != y); System.out.println(result);}}```答案:```false```3. 以下代码的输出结果是什么?```javapublic class Test {public static void main(String[] args) {int x = 5;int y = 10;boolean result = (x < y) || (x == y);System.out.println(result);}}```答案:```true```4. 以下代码的输出结果是什么?```javapublic class Test {public static void main(String[] args) {int x = 5;int y = 10;if (x > y) {System.out.println("x is greater than y"); } else if (x < y) {System.out.println("x is less than y");} else {System.out.println("x is equal to y");}}}```答案:```x is less than y```5. 以下代码的输出结果是什么?```javapublic class Test {public static void main(String[] args) {int x = 5;int y = 10;int max = (x > y) ? x : y;System.out.println("The maximum value is: " + max); }}```答案:```The maximum value is: 10```通过以上复习题的答案,我们可以看到Java语言程序设计基础篇中的一些基本概念和语法。
java程序设计第1-4章练习题参考答案(1)一、选择题1.下面供选字符序列中,不属于...Java语言关键字的是( A ) A.goto B.null C.false D.native2.以下是关于Java语言关键字的叙述,其中正确的是( C )A.关键字可以用来描述类的成员类型,但是不能描述普通变量B.关键字由字母(包括英文字母、下划线字符、美元字符、文字字符)和数字组成C.关键字不可以用作变量、方法、类或标号的标识符D.break和main都是Java语言的关键字3.下述字符组合不能作为Java程序标识符的是(D)A.Aa12 B.XC.y D.5x4.在下述字符串中,不属于...Java语言关键字的是( C )A.float B.newC.java D.return5.下列字符组合不能作为Java整型常量的是( A )A.078B.0x3ACBC.5000D.0x3ABC6.设有如下程序:public class Test {public static void main(String[] args) {String foo=args[1];String bar=args[2];String baz=args[3];System.out.println("baz= "+baz);}}下述哪一行命令可以使得执行该程序的输出为baz= 2 ( C )A) java Test 2222 B) java Test 1 2 3 4C) java Test 4 2 4 2 D) java Test 4 3 2 17.在Java语言中,int类型数据的长度是( C )A.1个字节B.2个字节C.4个字节D.8个字节8. 用Java虚拟机执行类名为Hello的应用程序的正确命令是( D )。
A) java Hello.class B) Hello.class C) java Hello.java D) java Hello9.执行以下代码,输出结果是( B )int x=5,y=7,u=9,v=6;System.out.println(x>y ? x+2:u>v ? u-3:v+2);A.8B.6C.7D.true10.下列修饰符中与访问控制无关的是(C)。
java程序设计基础(含参考答案)“Java程序设计基础”课程习题⼀、填空1.Java程序分两类___Applet___和application,Java Application 类型的程序,程序从___main⽅法___开始执⾏。
2.定义⼀个Java类时,通过关键字__extends____指明该类的⽗类。
⼀个类可以有___1___个⽗类。
3.⽤public修饰的类称为_公有类或公⽤类__。
⽤public修饰的类成员称为公有成员。
被说明为public的内容可以被__所有其他类___ 使⽤。
如果public类⽂件与使⽤它的类⽂件不在同⼀⽬录中,需要通过__import____语句引⼊。
4.⽤___private___ 修饰的类成员称为私有成员。
私有成员只能在__本类__ 中使⽤。
5.如果⼦类定义的成员变量与⽗类的成员变量同名,称为___⽅法覆盖___ ,要表明使⽤⼦类的成员变量,可以在成员变量前加上关键字__super___ 。
6.____Object__ 类是Java类库中所有类的⽗类。
7.Java字符使⽤__16位的字符集,该字符集成为__Unicode____ 。
8.当⼦类中定义的⽅法与⽗类⽅法同名时,称⼦类⽅法___覆盖___ ⽗类⽅法,⼦类默认使⽤⾃⼰的⽅法。
使⽤⽗类的同名⽅法,必须⽤关键字__super__ 说明。
9.Java源程序⽂件名的后缀是___.java___,Java字节码⽂件名的后缀是_.class_____。
10.Java类名的第⼀个字母通常要求___⼤写___。
11.Java程序由____类__组成,每个程序有⼀个主类,Java程序⽂件名应与____主__类的名称相同。
12.Java__Application_类型的程序需要main()⽅法,程序从__main____开始执⾏。
13.布尔型数据类型的关键字是_boolean__ ,占⽤位数是___1位___ ,有__true__ 和_false_两种值。
java程序设计试题及答案一、选择题1. 在Java中,以下哪个关键字用于定义一个类?A. classB. interfaceC. enumD. struct答案:A2. Java中的“==”操作符用于比较什么?A. 引用是否相同B. 引用所指向的对象的值是否相同C. 基本数据类型的值是否相同D. 引用所指向的对象的内存地址是否相同答案:C3. 下列哪个是Java的合法标识符?A. 2variableB. variable-nameC. #variableD. variable$name答案:B4. Java中,哪个关键字用于实现多态?A. abstractB. finalC. overrideD. implements答案:C5. 在Java中,以下哪个是正确的数组初始化方式?A. int[] array = new int[5] = {1, 2, 3};B. int array[] = {1, 2, 3, 4, 5};C. int array = new int[5] = {1, 2, 3, 4, 5};D. int[] array = {1, 2, 3, 4, 5};答案:D二、填空题根据题目要求,填空题需要根据题目所给的上下文,填写正确的信息。
1. Java是一种______语言。
答案:面向对象2. 在Java中,所有的类都是从______类直接或间接继承的。
答案:Object3. Java中的集合框架中,List接口的实现类ArrayList是______的。
答案:有序4. Java中的异常处理机制是通过______关键字实现的。
答案:try-catch5. Java中的包是用来组织类和接口的,使用______关键字来声明一个包。
答案:package三、简答题1. 简述Java中接口和抽象类的区别。
答案:接口(interface)是一种完全抽象的类型,它可以包含抽象方法和默认方法,但不能有具体实现。
《JA V A程序设计》练习题一、单项选择择题一、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。
A. javaB. .classC. htmlD. .exe二、设x = 1 , y = 2 , z = 3,那么表达式y+=z--/++x 的值是( A)。
A. 3B. 3. 5C. 4D. 53、不许诺作为类及类成员的访问操纵符的是( C )。
A. publicB. privateC. staticD. protected4、为AB类的一个无形式参数无返回值的方式method书写方式头,使得利用类名AB作为前缀就能够够挪用它,该方式头的形式为( A)。
A. static void method( )B. public void method( )C. final void method( )D. abstract void method( )五、关于选择结构以下哪个说法正确?( B )A.if语句和else语句必需成对显现B.if语句能够没有else语句对应C.switch结构中每一个case语句中必需用break语句D.switch结构中必需有default语句六、while循环和do…while循环的区别是:( D)A.没有区别,这两个结构任何情形下成效一样B.while循环比do…while循环执行效率高C.while循环是先循环后判定,因此循环体至少被执行一次D.do…while循环是先循环后判定,因此循环体至少被执行一次7、关于for循环和while循环的说法哪个正确?( B)A.while循环先判定后执行,for循环先执行后判定。
B.while循环判定条件一样是程序结果,for循环的判定条件一样是非程序结果C.两种循环任何时候都不能够替换D.两种循环结构中都必需有循环体,循环体不能为空八、以下修饰符中与访问操纵无关的是( D)A.private B.publicC.protected D.final九、void的含义:( A)A.方式没有返回值B.方式体为空C.没成心义 D.概念方式时必需利用10、return语句:( C )A.只能让方式返回数值B.方式都必需含有C.方式中能够有多句return D.不能用来返回对象1一、关于对象成员占用内存的说法哪个正确?( B)A.同一个类的对象共用同一段内存B、同一个类的对象利用不同的内存段,但静态成员共享相同的内存空间C.对象的方式不占用内存D.以上都不对1二、以下说法哪个正确?( C)A.不需要概念类,就能够创建对象B.对象中必需有属性和方式C.属性能够是简单变量,也能够是一个对象D、属性必需是简单变量13、以下说法哪个正确?( A )A、一个程序能够包括多个源文件B、一个源文件中只能有一个类C、一个源文件中能够有多个公共类D、一个源文件只能供一个程序利用14、关于方式main()的说法哪个正确?( C )A.方式main()只能放在公共类中B main()的头概念能够依照情形任意更改C.一个类中能够没有main()方式D.所有对象的创定都必需放在main()方式中1五、构造函数何时被挪用?( A )A、创建对象时B、类概念时C、利用对象的方式时D、利用对象的属性时1六、抽象方式:( C )A、能够有方式体B、能够出此刻非抽象类中C、是没有方式体的方式D、抽象类中的方式都是抽象方式17、关于继承的说法正确的选项是:( B )A、子类将继承父类所有的属性和方式。
Java程序设计基础课后习题参考答案第2章1、关于Java Application 的入口方法main()的检验:main()方法的参数名就是否可以改变?main()方法的参数个数就是否可以改变?该方法名就是否可以改变?参考答案:(1)main()方法的参数名可以改变。
(2)main()方法的参数个数不可以改变。
(3)该方法名不可以改变。
2、当一个程序没有main()方法时,能编译不?如果能编译,能运行不?参考答案:当一个程序没有main()方法就是,就是可以编译通过的,但就是不能给运行,因为找不到一个主函数入口。
3、下列语句能否编译通过?byte i = 127;byte j = 128;long l1 = 999999;long l2 = 9999999999;参考答案:byte i 与long l1可以编译通过。
而byte j 与long l2 超出自身数据类型范围,所以编译失败。
4、下列语句能否编译通过?float f1 = 3、5;float f2 = 3、5f;参考答案:java中浮点型的数据在不声明的情况下都就是double型的,如果要表示一个数据就是float型的,必须在数据后面加上“F”或“f”;因此,float f1 无法编译通过。
5、验证int 与char,int与double等类型就是否可以相互转换。
参考答案:(1)char类型可以转换为int 类型的,但就是int类型无法转换为char类型的;(2)int 可以转换为double类型的,但就是double类型无法转换为int 类型的。
6、计算下列表达式,注意观察运算符优先级规则。
若有表达式就是非法表达式,则指出不合法之处且进行解释。
(1) 4+5 == 6*2 (2) (4=5)/6(3) 9%2*7/3>17 (4) (4+5)<=6/3(5) 4+5%3!=7-2 (6) 4+5/6>=10%2参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法的。
java程序设计基础课后习题答案Java程序设计基础课后习题答案在学习Java程序设计基础课程的过程中,课后习题是非常重要的一部分。
通过完成课后习题,我们可以巩固课堂上所学的知识,提高编程能力,加深对Java 语言的理解。
下面我们来看一些常见的Java程序设计基础课后习题答案。
1. 编写一个Java程序,实现输入两个整数,然后输出它们的和。
```javaimport java.util.Scanner;public class AddTwoNumbers {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入第一个整数:");int num1 = input.nextInt();System.out.println("请输入第二个整数:");int num2 = input.nextInt();int sum = num1 + num2;System.out.println("它们的和是:" + sum);}}```2. 编写一个Java程序,实现输入一个整数,然后判断它是奇数还是偶数。
```javaimport java.util.Scanner;public class OddOrEven {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("请输入一个整数:");int num = input.nextInt();if (num % 2 == 0) {System.out.println(num + "是偶数");} else {System.out.println(num + "是奇数");}}}```3. 编写一个Java程序,实现输入一个年份,然后判断它是否是闰年。
第13章 创建图形用户界面复习题13.1 答:Swing 组件中均定义了以下三个方法:z public void setBackground (Color bg),设置此组件的背景色。
z public void setForeground (Color fg),设置此组件的前景色。
z public void setFont (Font font),设置此组件的字体。
这三个方法原始定义在类javax.swing.JComponent 中。
13.2 答:方法如下:JButton btn = new JButton("OK"); //创建一个“OK”按钮btn.setText("确认"); //将按钮上的文字改为“确认”ImageIcon image = new ImageIcon("D:/b1.gif"); //创建图标对象btn.setIcon(image); //设置按钮上的图标为指定的image 对象13.3 答:由于在javax.swing.JComponent 类中定义了如下方法,因此,其子类均可以设置一个边框。
public void setBorder(Border border),设置此组件的边框。
给面板设置带标题的边框的语句如下:JPanel panel = new JPanel(); //创建面板对象TitledBorder border = new TitledBorder("Title"); //创建标题边框对象 panel.setBorder(border); //将panel 的边框设置为border说明:边框类均在javax.swing.border 包中,使用时要导入。
13.4 答:Component c1 = new Component();出错,原因是Component 是抽象类,不能创建对象JComponent c2 = new JComponent();课后答案网ww w.kh da w .c om出错,原因是JComponent 是抽象类,不能创建对象c5.add(c6);出错,原因是add 方法的声明为:public Component add (Component comp),不能接收Object 类型的参数。
1. 2. 3. 4.Chapter 1 Introduction to Computers, Programs, and Java A computer is an electronic device that stores and processes data. A computerincludes both hardware and software. In general, hardware is the physical aspect of the computer that can be seen, and software is the invisible instructions that control the hardware and make it work. The hardware of a computer consists of a CPU,cache, memory, hard disk, floppy disk, monitor, printer, and communication devices. The machine language is a set of primitive instructions built into every computer. Assembly language is a low-level programming language in which a mnemonic is used to represent each of the machine language instructions. The high-level languages are English-like and easy to learn and program.The operating system (OS) is a program that manages and controls a computer’s activities. The examples of OS are Windows 98, NT, 2000, XP, or ME. Windows. Application programs such as an Internet browser and a word processor run on top of an operating system.100 in decimal => 64 in hex100 in decimal => 01100100 in binary4340 in decimal => 10F4 in hex4340 in decimal => 1000011110100 in binary2000 in decimal => 7D0 in hex2000 in decimal => 111110100005.1000011001 in binary => 219 in hex1000011001 in binary => 537 in decimal100000000 in binary => 100 in hex 100000000 in binary => 256 in decimal100111 in binary => 27 in hex 100111 in binary => 39 in decimal 6.FEFA9 in hex => 1044393 in decimalFEFA9 in hex => 11111110111110101001 in binary93 in hex => 147 in decimal 93 in hex => 10010011 in binary 2000 in hex => 8192 in decimal7.8.9.10.11.12.13.14.16.17. 2000 in hex => 10000000000000 in binaryDeveloped by a team led by James Gosling at Sun Microsystems in 1991. Originally called Oak, it became Java in 1995 when it was redesigned for developing Internet applications.Java can run on any platform with a Java Virtual Machine. The minimum requirement is the Java Runtime Environment, free from the .The input is the Java source code and the output is the Java bytecode (if compiled successfully).JBuilder by Borland, Sun ONE Studio by Sun, Café by WebGain, Visual Age for Java by IBM are the tools for developing Java programs, not dialects of Java. These tools make developing Java programs easier and more productive.HTML is a markup language for displaying static Web pages. Java is a full-fledged programming language that can be used to develop dynamic Web pages. The Java programs that run from a Web browser are called applets. Java applets must be embedded in HTML files using the <applet> tag.Keywords have specific meaning to the compiler and cannot be used for other purposes in the program such as variables or method names. Examples of keywords are class, static, and void.Java source code is case sensitive. Java keywords are always in lowercase.The source file extension is .java and the bytecode file extension is .class. Comments are used to document what a program is for and how a program is constructed. Comments help the programmers or users to communicate and understand the program. Comments are not programming statements and are ignored by the compiler. In Java, comments are preceded by two forward slashes (//) in a line or enclosed between /* and */ in multiple lines. When the compiler sees //, it ignores all text after // in the same line. When it sees /*, it scans for the next */ and ignores any text between /* and */.15. System.out.println(...);JOptionPane.showMessageDialog(null,“Hello world”);Line 2. Main should be main.Line 2. static is missing.Line 3: Welcome to Java! should be enclosed inside double quotation marks.javac is the JDK command to compile a program program. java is the JDK command to run a program.18.19. Java interpreter cannot find the .class file. Make sure you placed the .class in the right place, and invoked java command with appropriate package name.The class does not have a main method, or the signature of the main method is incorrect.Thank you for evaluating AdreamSoft PDF to Word You can only convert 3 pages with the trial versionTo get all the pages converted, you need to purchase the software from/purchase/buy-pdf-to-word.html。
《Java语言程序设计基础教程》练习思考题参考答案第1章Java程序设计概述1.9 练习思考题1、Java运行平台包括三个版本,请选择正确的三项:()A. J2EEB. J2MEC. J2SED. J2E解答:A,B,C2、Java JDK中反编译工具是:()A. javacB. javaC. jdbD.javap解答:D3、public static void main方法的参数描述是:()A. String args[]B. String[] argsC. Strings args[]D. String args解答:A,B4、在Java中,关于CLASSPATH环境变量的说法不正确的是:()A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。
B. 编译器用它来搜索各自的类文件。
C. CLASSPATH是一个目录列表。
D. 解释器用它来搜索各自的类文件。
解答:A5、编译Java Application源文件将产生相应的字节码文件,扩展名为()A. .javaB. .classC. .htmlD. .exe解答:B6、开发及运行Java程序需要经过的三个主要步骤为____________、____________和____________。
7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。
8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名及类名相同而扩展名为______的字节码文件。
9、开发及运行Java程序需要经过哪些主要步骤和过程?10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的?11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
JAVA程序设计基础知识题库(包含20道单选题,5道多选题,5道判断题,3道简答题,5道程序设计题,含答案与解析)一、单选题(共20题)1.下列哪个关键字用于定义一个类的属性为常量?A. finalB. staticC. publicD. private答案:A解析:final关键字用于修饰一个类的属性时,该属性就被定义为常量,不可被修改。
2.下列哪个方法用于将一个字符串转换为整型数据?A. parseInt()B. toInt()C. toInteger()D. valueOf()答案:A解析:parseInt()方法是将字符串转换为整型数据的常用方法。
3.下列哪个关键字用于表示一个方法不返回任何值?A. voidB. intC. doubleD. float答案:A解析:void关键字用于修饰一个方法时,表示该方法不返回任何值。
4.下列哪个循环结构不会先执行循环体再判断循环条件?A. for循环B. while循环C. do-while循环D. foreach循环答案:C解析:do-while循环先执行一次循环体,再根据循环条件判断是否继续执行循环。
5.下列哪个访问修饰符用于表示一个类或方法只能被同一包内的其他类访问?A. privateB. publicC. protectedD. 默认访问修饰符答案:D解析:默认访问修饰符不需要显式地声明,表示只能被同一包内的其他类访问。
6.下列哪个关键字用于表示一个方法或属性可以被同一类的其他方法或属性访问?A. privateB. publicC. protectedD. 默认访问修饰符答案:D解析:默认访问修饰符不需要显式地声明,表示可以被同一类的其他方法或属性访问。
7.下列哪个集合类是线程安全的?A. ArrayListB. LinkedListC. HashSetD. Vector答案:D解析:Vector是线程安全的集合类。
8.下列哪个关键字用于表示一个方法或属性可以被任意类访问?A. privateB. publicC. protectedD. 默认访问修饰符答案:B解析:public关键字用于修饰一个方法或属性时,表示可以被任意类访问。
复习....参考考试题型:1.单项选择题(本大题共15小题,每小题1分,共15分)2. 判断题(10小题,每小题1分,共10分)3.填空题(本大题共10空,每个空2分,共20分)4.阅读程序,写出程序运行后的输出结果(本大题共3小题,每小题6分,共18分)5. 编程题(本大题共3小题,共37分),其中第1题:9分(位操作),第2题14(分排序或字符串处理),第3题14分(类与对象)。
涉及数组、排序、字符串处理、类和对象(实例)、位操作(手写推算步骤及最终结果,要求看样题)等。
考试涉及的相关知识点:1.java程序类型:(1)java application(需主类)、java程序、源程序、类、接口、字节码文件、包、JDK JVM javac.exe java.exe跨平台java开发步骤一二维数组等(2)java applet:java小程序(可以没有主类,是图形界面),主要用于网页(3)java script:网页或网站的“脚本”程序2.标识符和关键字:class、interface final abstract static void byte short int long float double boolean String return 异常常用的关键字(try catch finally throw throws)3.表达式:=比较运算符:> >= < <= != ==逻辑运算符:&& || !位运算符:& |~ ^ >> >>> <<instanceof ++ -- 前后关系?:算合语句s+=5 s-=5 s*=5 s/=5 int a=b=10;4.程序控制结构:顺序、选择、循环(1)单路选择结构if(){ }(2)多路选择结构if( ) {.. else ..}(3)else if 结构(4)switch (break);while(){ … }do{ …. } while( ); break continuefor( ; ; ){ … }5.面向对象的程序设计:类:class 成员变量方法成员修饰符(访问、特征)static变量成员或方法实例变量成员或方法UML图对象:Object 创造对象new方法:void 方法、非void 方法、static 方法(类方法)、非static 方法(实例方法)方法参数传递:实参形参传值传引用(数组对象接口)多态:重载重写this 、super构造方法(在类的继承中可能用到的关键字super)包:关键字import 、package继承(组合:主类main() 与继承):继承创新改造子类不能降低父类的访问级别Super、this 、上转型对象Abstract、final接口:interface(1)实现:implements 也是一种继承(包括一般类与抽象类,多实现)(2)继承:extends (与类相比的“多继承”)(3)静态块(静态初始化器) static { …}、构造块{…}、构造方法以及在类的继承和实例生成中的相互关系和执行顺序。
Java程序设计基础习题答案第1章1选择题(1)BCD (2)D (3)CD (4)CD第2章1、错误:-0x3221 fa00 8.33E e-10整数:1856 4l 021 0xa6 0xa2e3 35 -78999 0L浮点数:0x3.45 -3.81 1.34e-8 -.67e3 25. 053.249 -1E3八进制数:053.249 021十六进制数:0xa6 0x3.45 0xa2e32、正确的标识符:_book, book3, _9days, I, copy_file, _56, up_down, if_count, agentEventListener 错误的标识符:int, println, static, a$, 5files, -number, date:x, +digit, $abcd,3、(1)int i改为static int i。
(2)j=i 改为j=(short)i。
(3)i为数组,应该改为int i[] = new int[10]。
同时后面也要做相应修改。
(4)将k=i&j改为k= (Boolean)i&j。
4、x=10, y=6, z=false(1)false(2)x=16(3)true(4)x=60(5)6(6)6(7)true(8)false5、x=5, y=7, z=0(1)35(2)-1(3)6(4)13(5)36、(1)x>=y?10:3 y%=(2)x<10 i>6 j==5 && || y=(3)b+c +d a-=(4)a<b ||x &y第3章1、选择题(1)C (2)B (3)无答案,全部正确,不过A for(;;);t选项是个死循环,但不存在语法错误(4)C (5)A (6)B2、(1)全部为0(2)m=34 0到99所有被3整除的数N=15 0到99所有被7整除的数3、(1)char ch =0;try{System.out.println("please input:");ch = (char)System.in.read();} catch(Exception e){e.printStackTrace();}switch(ch) {case 'L':System.out.println("Left");break;case 'R':System.out.println("Right");break;default:System.out.println("Not Known");}(2)int i =1, n=0;for(n=11;n<0;n--)i =i*n;(3)int i =1, n=0;i=1;n=0;for(i=1;i<11;i++)System.out.println("number: " + i +" sum: " + (n=n+i)); (4)int n=4,i=0, j=0;int a[][] = new int[n][n];for(i=0;i<n;i++)for(j=0;j<n;j++)if (i==j)a[i][j] = 1;elsea[i][j] = 0;第4章1选择题(1)D (2)B (3)C (4)B (5)AC (6)C 2判断题m in main = aa in main = 4return from testV ar2 : a in testV ar3 is 547554m+a= 603、编程题(1)public class abc {public abc() {} int factorial(int x) {int rst =1;for(int i=1;i<=x;i++)rst *= i;return rst;}void printf(int x, int rst) {System.out.println(x+"的阶乘是: " +rst);}public static void main(String args[]) {int i =0;abc myabc = new abc();myabc.printf(6,myabc.factorial(6));myabc.printf(9,myabc.factorial(9));}}(2)int factorial(int x) {if (x <1) return 0;else {if(x==1) return 1;elsereturn x*factorial(x-1);}}第5章1、选择题(1)B (2)D (3) A (4)A (5)C (6)A (7)A (8)C (9)D (10)D2、运行结果:X=130, y=45X+y=175x-y=95x*y=5850x/y=2.888888888888889更改后的两个类:class Excer{public static void main(String[] args) {new Excer().math();}int x=130, y=45;Math myMath = new Math();System.out.println("x="+x+" , y="+y);System.out.println("x+y=" + myMath.plus(x,y));System.out.println("x-y=" + myMath.minus(x,y));System.out.println("x*y=" + myMath.multi(x,y));System.out.println("x/y=" + myMath.div(x,y));}}class Math {int plus(int a, int b) {return a+b;}int minus(int a, int b) {return a-b;}int multi(int a, int b) {return a*b;}float div(int a, int b) {return((float)a/b);}}3、编程题(1)class PlayCard {private Poker poker;public PlayCard() {poker = new Poker();}public String play() {int i=0,j=0;java.util.Random ab = new java.util.Random();i = ab.nextInt(13);j = ab.nextInt(4);return (poker.nums[i] + " of " + poker.colors[j]); }public String play(int x, int y) {return (poker.nums[x] + " of " + poker.colors[y]); }}(2)class Poker {public String nums[];public String colors[];nums = new String[13];colors = new String[4];nums[0] = "Ace";nums[1] = "Two";nums[2] = "Three";nums[3] = "Four";nums[4] = "Five";nums[5] = "Six";nums[6] = "Seven";nums[7] = "Eight";nums[8] = "Nine";nums[9] = "Ten";nums[10] = "Jack";nums[11] = "Queen";nums[12] = "King";colors[0] = "Diamonds";colors[1] = "Clubs";colors[2] = "Hearts";colors[3] = "Spades";}}(3)public static void main(String args[]) {PlayCard pcard = new PlayCard();for(int i=0;i<13;i++)for(int j=0;j<4;j++)System.out.println(pcard.play(i,j));}第6章1、选择题(1)B (2)B (3)C (4)B (5)D (6)C (7)AB (8)BC2、阅读程序(1)methodFour覆盖了父类的方法(2)mehtodTwo重载了父类的方法(3)6个以上,其中本身4个方法,从ClassA继承了2个方法methodOne,和static methodThree,从Object类继承了几个方法,如Equal等。
《Java语言程序设计基础教程》参考答案《Java语言程序设计基础教程》参考答案第2章一、选择题ACCCCCDABB二、编程题1.publicclassTest1{publicstaticvoidmain(String[]args){System.out.println("我是一名java爱好者!");}}2.publicclassTest2{publicstaticvoidmain(String[] args){doublex=3.6,z;inty=7;z=x+y%3-(2x+y);System.out.println("表达式的值为:"+z);}}3.importjava.util.Scanner;publicclassTest3{publicstaticvoidmain(String[]args){doublea;Scannerin=newSc anner(System.in);System.out.println("请输入浮点数:");a=in.nextDouble();System.out.println("整数部分为"+(int)a);System.out.println("小数部分为:"+a%1);}}第3章一、选择题ABABABCACA二、编程题1.publicclassTest1{publicstaticvoidmain(String[]args){doublec,f=76;c=(5.0/9)(f-32);System.out.println("对应的摄氏度为:"+c);}}2.publicclassTest2{publicstaticvoidmain(String[]args){intdays=160;intweekth,dayth;week th=days/7+1;dayth=days%7;System.out.println(“是一年的第”+weekth+”星期的第”+dayth+”天”);}}第4章一、选择题ADCCBCCBAA二、编程题1.importjava.util.;publicclassTest1{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入年份:");intx=sc.nextInt();if(x%4==0&&x%100!=0)System.out.println("是闰年");elseSystem.out.println("不是闰年");}}2.importjava.util.Scanner;publicclassTest2{publicstaticvoidmain(String[]args){floatscore;Scannerin=newScanner(System.in);System.out.println("请输入考试成绩:");score=in.nextFloat();if(score>=0&&score<60){System.out.println("T hegradeisE");}elseif(score>=60&&score<70){System.out.println( "ThegradeisD");}elseif(score>=70&&score<80){System.out.println("ThegradeisC");}elseif(score>=80&&score<90){Syste m.out.println("ThegradeisB");}else{System.out.println("ThegradeisA");}}}3.importjava.util.Scanner;publicclassTest3{publicstaticvoidmain(String[]args){inttotalmoney=2500,year;floatpaymoney;Scannerin=newScanner(System.in);System.o ut.println("请输入缴费年数:");year=in.nextInt();switch(year){case1:paymoney=totalmoney;break;case2:paymoney=totalmoney0.9;break;ca se3:paymoney=totalmoney0.85;break;default:paymoney=totalmo ney0.8}System.out.println("实际缴费金额为:",+paymoney);}}第5章一、选择题BBCDDCBCBC二、编程题1.publicclassProgramme1{publicstaticvoidmain(String[]args){intsum=0;//水仙花的总数for(inti=100;i<1000;i++){intbite=i%10;//求得个位intten=i/10%10;//求得十位inthundred=i/100;//求得百位//如果符合水仙花条件的数打印出来if(i==(bitebitebite)+(tententen)+(hundredhundredhundred)){System.out.print(i+"");sum++;}}System.out.println("总共有水仙花个数:"+sum);}2.publicclassProgramme2{publicstaticvoidmain(String[]args){intbigDivisor=0;//定义最大公约数intmultiple=0;//定义最小公倍数System.out.println("请输入两个整数:");Scannerscanner=newScanner(System.in);intinput1=scanner.nextInt();//获取第一个数intinput2=scanner.nextInt();//获取第二个数multiple=input1input2;//这个值保存,求公约数后,方便求得最小公倍数inttemp=1;//交换用的中间数if(input2>input1){//确保第一个数不小于第二个数temp=input1;input1=input2;input2=temp;}while(tem p!=0){//求余结果不等于零,就一直循环temp=input1%input2;//求余结果input1=input2;//大的数已经没用了,用小的数替代input2=temp;//把求余的结果赋值给小的数}bigDivisor=input1;//最后一次求余结果为零时,被求余的数multiple=multiple/bigDivisor;System.out.println("最大公约数是:"+bigDivisor);System.out.println("最小公倍数是:"+multiple);scanner.close();}}3.publicclassProgramme3{publicstaticvoid main(String[]args){System.out.println("1000以内的因数有:");for(inti=1;i<=1000;i++){intsum=0;//所有因数的总和for(intj=1;j if(i%j==0){//判断范围内的所有j相加,就是因数总和sum=sum+j;if(i==sum){System.out.print(i+"");}}}}}}4.publicclassProgramme4{publicstaticvoidmain(String[]args){intsum=0;for(intbite=1;bite<5;bite++){for(intten=1;ten<5;ten++){for(inthundred=1;hundred< 5;hundred++){if(bite!=ten&&bite!=hundred&&ten!=hundred){ //符合条件的数字System.out.print((hundred100+ten10+bite)+"");sum++;//计算个数if(sum%10==0){//十个一行System.out.println();}}}}}System.out.println("\n总共有:"+sum+"个这样的数");}}第6章一、选择题ADBAB二、编程题1.publicclassProgramme1{publicstaticvoidmain(String[]args){int[]num=newint[ 4];//存放四位数的个十百千位System.out.println("请输入一个四位数:");Scannerscanner=newScanner(System.in);intinput=scanner.nextInt();for(inti= 0;i<4;i++){//逐次取位,从个位开始,并按要求替换num[i]=(input%10+5)%10;input/=10;}//按要求替换,交换1、4位inttemp=0;//交换数temp=num[0];num[0]=num[3];num[3]=temp;//交换2、3位temp=num[1];num[1]=num[2];num[2]=temp;System.out.println("加密后的结果:"+num[3]+num[2]+num[1]+num[0]);scanner.close();}}2.publicclassProgramme2{publicstaticvoidmain(S tring[]args){int[]luckTickets=newint[7];Randomr=newRandom();for(inti=0;iextInt(8)+1;for(intj=0;j[j]){i--;break;}}}for(inti=0;istem.out.print(luckTickets[i]+",");}}}第7章一、选择题ACCDDCCBCA二、编程题classStudent{Stringname;Stringsex;Stringmark;voidprintName(){System.out.println("name:"+);}voidprintMark( ){System.out.println("mark:"+this.mark);}}classStudent{publicStudent(){System.out.println("一个学生被创建了");}publicStudent(Stringname,Stringsex){System.out.println("姓名:"+name+",性别:"+sex+",被创建了");}}packagePackageOnepublicclassFirstClass{inta=1;publicFirstClass(){System.out.printIn(a);}}publicclassFirstSubClassextendsFirstClass{}importPackageOne.FirstSu bClass;publicclassSecondPackage{publicstaticvoidmain(String[]a rgs){FirstSubClassfirstSubClass=newFirstSubClass();}}第八章一、选择题CABDABABAD二、填空题1.newcatch2.throwthrows3.Finally4.catch5.catch上层程序代码6.thrownewNullPointerException();thrownewClassCastException("类型转换出错");7.catchfinally三、编程题参考代码如下publicclassDemo02{publicstaticvoidmain(String[]args){doubles=0;s=area(-4);System.out.println(s);}publicstaticdoublearea(doubler){try{if(r<=0){thrownewRuntimeException();}}catch(Exceptione){e.printStackTrace();}doubles=Math.PIrr;returns;}第九章一、选择题CDABBDCCCC二、填空题1.Border 布局管理器2.ADD3.isSelected()getText();4.GridLayout5.下拉列表三、编程题1.参考代码importjavax.swing.;publicclassjavaGuiextendsJFrame{JButtonjb;JLabeljl; publicjavaGui(){this.setSize(240,120);this.setTitle("图形用户界面");jl=newJLabel("请点击按钮:");jb=newJButton("按钮");jl.setBounds(30,20,90,30);jb.setBounds(120,20,80,30);this.setLayout(null);this.add( jl);this.add(jb);this.setLocationRelativeTo(null);//窗口居中this.setVisible(true);//设置窗口可见}publicstaticvoidmain(Stringargs[]){javaGuijg=newjavaGui();}}2.参考代码importjava.awt.;importjavax.swing.;publicclassFlowLayoutDemo{ publicstaticvoidmain(Stringargs[]){JFrameframe=newJFrame("Fl owLayout布局");Containerc=frame.getContentPane();FlowLayoutf=newFlowLa yout(FlowLayout.LEFT,10,10);c.setLayout(f);for(inti=1;i<=5;i++){c .add(newJButton("按钮"+i));}frame.setSize(250,200);frame.setVisible(true);}}第10章一、选择题ADCABDADDB。
java程序设计试题及答案一、选择题(每题2分,共20分)1. 在Java中,下列哪个关键字用于定义类?A. classB. structC. interfaceD. enum答案:A2. 下列哪个选项不是Java的基本数据类型?A. intB. doubleC. StringD. float答案:C3. Java中,哪个关键字用于捕获异常?A. tryB. catchC. throwD. finally答案:B4. 在Java中,下列哪个选项不是合法的变量名?A. _nameB. $nameC. nameD. 2name答案:D5. 下列哪个选项不是Java的访问修饰符?A. publicB. protectedC. privateD. static答案:D6. Java中,下列哪个选项不是集合框架的一部分?A. ListB. SetC. MapD. Stream答案:D7. 在Java中,下列哪个关键字用于定义接口?A. classB. structC. interfaceD. enum答案:C8. 下列哪个选项不是Java的异常处理关键字?A. tryB. catchC. throwD. implements答案:D9. 在Java中,下列哪个选项不是线程的生命周期状态?A. NewB. RunnableC. BlockedD. Dead答案:C10. 下列哪个选项不是Java的泛型类型?A. ListB. SetC. MapD. Object答案:D二、填空题(每题2分,共20分)1. Java中的“Hello World”程序需要继承________类。
答案:Object2. Java中,一个方法的返回类型是________。
答案:void3. 在Java中,________关键字用于定义包。
答案:package4. Java中,________关键字用于定义接口。
答案:interface5. Java中,________关键字用于实现多态。
Java程序设计基础课后习题参考答案第2章1、关于Java Application得入口方法main()得检验:main()方法得参数名就是否可以改变?main()方法得参数个数就是否可以改变?该方法名就是否可以改变?参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。
(3)该方法名不可以改变。
2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗?参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。
3、下列语句能否编译通过?bytei =127;bytej = 128;longl1 = 999999;long l2= 9999999999;参考答案:byte i 与long l1可以编译通过。
而byte j 与longl2 超出自身数据类型范围,所以编译失败。
4、下列语句能否编译通过?float f1 =3、5;float f2 = 3.5f;参考答案:java中浮点型得数据在不声明得情况下都就是double型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。
5、验证int 与char,int与double等类型就是否可以相互转换。
参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。
6、计算下列表达式,注意观察运算符优先级规则。
若有表达式就是非法表达式,则指出不合法之处且进行解释。
(1)4+5 == 6*2 ﻩ(2) (4=5)/6ﻩﻩ(3)9%2*7/3>17(4)(4+5)<=6/3 ﻩ(5) 4+5%3!=7-2ﻩﻩﻩﻩ(6)4+5/6〉=10%2参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得.7、下列()就是合法得Java标识符。
(1)Counter1 ﻩﻩ(2)$index,(3) name-7 ﻩﻩ(4)_byte(5)larrayﻩﻩﻩﻩ(6)2i(7) tryﻩﻩﻩ(8)integer参考答案:Java标识符由数字,字母与下划线(_),美元符号($)组成.在Java中就是区分大小写得。
而且还要求首位不能就是数字。
最重要得就是,Java关键字不能当作Java标识符.因此,(1)、(4)、(5)、(8)就是合法标识符。
8、下列各项中定义变量及赋值不正确得就是()(1) intI= 32;(2) float f =45、0;(3)doubled=45、0;参考答案:(2)不正确,选项(2)定义float 类型时必须在数据后面加上“F”或“f”。
9、Java语言中,整型常数123占用得存储字节数就是()(1) 1 (2)2(3)4ﻩ(4) 8参考答案:正确选项就是(3),Java语言中,默认整型数占用4个字节数。
10、以下代码得编译运行结果就是public class Test{public static void main(String[]args){ﻩint age;age = age + 1;System、out、println(“theage is “ + age);}}(1)编译通过,运行无输出(2)编译通过,运行结果为“the ageis1”(3)ﻩ编译通过但运行时出错(4)不能通过编译参考答案:(4)为正确选项.Java 在使用变量前应该先初始化.11、写出下列表达式得运行结果(1)6+3<2+7 ﻩﻩﻩ(2) 4%2+4*3/2(3)(1+3)*2+12/3ﻩﻩﻩ(4) 8>3&&6==6&&12<4(5)7+12<4&&12—4<8 (6)23〉>2参考答案:(1)false;(2)6;(3)12; (4)fale;(5)false;(6)5;第3章1.编码验证i++与++i得区别。
参考答案:++i 与i++在单独使用时,就就是i=i+1。
而a=++i, 相当于i=i+1;a= i; (先i =i+ 1,再使用i得值),而 a =i++,相当于 a =i; i=i+1;(先使用i 得值,再i =i+ 1)。
2、写出下面表达式得结果(1)5/3(2)5/3、0(3)5%3(4)5%-3参考答案:(1)1(2)1、66666666(3)2(4)23、考虑如下得Test、java,并指出错误原因.程序清单:Test、javaclass Test{publicstaticvoid main(String[]args){byte b =5;b =(b–2);System、out、println(b);}}参考答案:b=(b-2);错误,在进行b—2时,运算结果类自动提升为int,而b就是byte类型,编译得时候会报错,因为存在高类型数据向低类型数据转化得风险.而byteb=5;就是正确得,因为在编译得时候就能够确定5在byte允许得范围内,虚拟机在编译时做了一定得优化处理.4、考虑一下对于if……else……语句,还有没有更简洁得写法。
例如:if(x >0 ){y =x;} else{y = -x;}可以简写成什么?参考答案:y=x>0?x:-x;5.给定N,编程实现打印N*N得乘法表。
参考答案:public static voidmain(String[]args)ﻪ{int a =0, b =0,c= 0;for(int i=0; i<9;i++) {a=i+1;for(int j=0;j<i+1;j++)ﻪ{ﻪb =j+1;c= a*b;ﻪSystem、out、print(a +”*"+ b+ "=" + c + ” ");ﻪ}ﻪSystem、out、println(" ");}}ﻪ6、将下列语句转换成Java代码:(1)如果b1为真,打印“one”,否则打印“two"。
(2)如果b1为假并且b2为真,打印“one”,否则打印“two”。
(3)如果b1为假,并且如果b2为真则打印“one”,如果b2为假则打印“two”;否则打印“three”。
参考答案:(1) if(b1=true){System、out、print("one”);}else{System、out、print("two");}(2)if(b1=false &&b2=true) {System、out、print("one");}else {System、out、print(”two”);}(3)if(b1=false&& b2 =true){System、out、print("one”);}elseif(b1=false&& b2 =false){System、out、print("two”);}else{System、out、print(”three");}7、找出如下各项中得语法错误:(1)for(intk=0;k<100;k++)System、out、println(k)(2)for(int k=0;k〈100;k++);System、out、println(k);(3)int k=0while k〈100{System、out、println(k);k++};(4)intk=0;do{System、out、println(k);k++;}whilek〈100;参考答案:(1)for(intk=0;k<100;k++){System、out、println(k);}(2)for(int k=0;k<100;k++){System、out、println(k);}(3)int k=0;while (k〈100 ){System、out、println(k);k++;}(4)int k=0;do{System、out、println(k);k++;}while (k〈100);8.写出三个不同得循环―for、while与do-while循环,打印出从0(包括0)开始直到1000得所有10得倍数。
参考答案:(1)intn=0;while(n〈=1000&&n%10==0) {ﻪSystem、out、print(n);ﻩn++;ﻪ}ﻪ(2)int n=0doﻪ{if(n%10==0){System、out、print(n);}n++;}ﻪwhile(n<1000);(3)for(int n=0;n〈=1000;n++){if(n%10==0){system、out、print(n);}9.给定N,编程实现打印行数为N得菱形。
参考答案:publicstatic void main(String[] args){Scanner read =new Scanner(System、in);ﻩﻩintn;ﻩwhile (true){ﻩﻩSystem、out、println("输入一个整数(>=0)");ﻩﻩif (read、hasNextInt()){ﻩn=read、nextInt();ﻩﻩif (n <0)ﻩcontinue;ﻩﻩbreak;ﻩﻩ}else {ﻩﻩread、next();}ﻩ}ﻩfor(int i= 0; i< n;i++) {for (int j=1; j < n—i; j++)ﻩSystem、out、print(” ");ﻩﻩfor (int j = 0;j<i*2+1;j++)ﻩﻩSystem、out、print("*");ﻩfor (intj=1;j< n-i;j++)ﻩSystem、out、print("");ﻩﻩSystem、out、println();ﻩﻩ}ﻩfor (inti=n—2;i >=0;i--){ﻩﻩfor (int j = 1;j <n-i; j++)ﻩSystem、out、print(””);ﻩfor (intj= 0; j <i*2 + 1;j++)ﻩﻩﻩﻩSystem、out、print(”*");ﻩfor(int j= 1; j < n-i;j++)ﻩﻩﻩSystem、out、print(” ”);System、out、println();ﻩ}}10、写出下面程序得输出结果:publicclassTestWhile{public static void main(String[]args){ﻩinta=0;ﻩﻩﻩwhile(++a〈=100)ﻩﻩif((a%9)==0)ﻩﻩﻩSystem、out、print(a+"\t");ﻩSystem、out、println();ﻩﻩ}}参考答案:9 18 27 3645 54 63 7281 90 99第4章1、比较String与StringBuffer得区别,并说明什么时候适合使用String Buffer。