《Java语言程序设计:基础篇》课后复习题答案-第二章
java语言程序设计基础篇 复习题答案
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程序设计课后练习答案
《J a v a程序设计》课后练习答案第一章Java概述一、选择题1.( A )是在Dos命令提示符下编译Java程序的命令,( B )是运行Java程序的命令。
A.javacB.javaC.javadocD.javaw2.( D )不是Java程序中有效的注释符号。
A.//B.C.D.3.(A.B.C.D.4.JavaA.B.C.D.5.JavaA.1、JavaJava(JVM)Java以下图展示了Java程序从编译到最后运行的完整过程。
2、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。
2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。
3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。
4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。
它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。
Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。
Java编译器将Java源代码文件编译后生成字节码文件(一种与操作系统无关的二进制文件)5)、6)、Java来。
1、/****/}}第二章Java语法基础一、选择题1.下面哪个单词是Java语言的关键字( B )?A. DoubleB. thisC. stringD. bool2.下面属于Java关键字的是( D )。
A. NULLB. IFC. DoD. goto3.在启动Java应用程序时可以通过main( )方法一次性地传递多个参数。
如果传递的参数有多个,可以用空格将这些参数分割;如果某一个参数本身包含空格,可以使用( B )把整个参数引起来。
java程序设计课后第二章习题程序答案
public class xiti9{public static void main(String args[]) {int x=4;int y;if(x<1){y=x;}else if(x>=10){y=4*x;}else{y=3*x-2;}System.out.println("y="+y);}}习题12public class xiti12{public static void main(String args[]) {int sum=0;for(int k=1;k<=10;k++){sum=sum+k*k;}System.out.println("sum="+sum); }}习题13public class xiti13{public static void main(String args[]) {intt,a=3,b=5,c=8;if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}{t=b;b=c;c=t;}System.out.println("大小顺序输出为:"+a+" "+b+" "+c); }}习题14public class xiti14{public static void main(String args[]){int n=1;System.out.print("\n1-100之间的所有素数为:\n"+" 3"); for(int i=1;i<=100;i++){for(int j=2;j<=i/2;j++){if(i%j==0){break;}if(j==i/2){System.out.print(" "+i);n++;}}}System.out.println("\n共有"+n+"个素数。
Java语言程序设计(基础篇)原书第十一版-梁勇-第2-3章-课后题答案
2.5编写程序,读入英尺数,将其转换成米数并显示结果package pro0904;import java.util.Scanner;public class Feet {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.print("请输入英尺数:");double feet=in.nextDouble();System.out.print(feet+"英尺是"+0.305*feet+"米");}}2.10编写程序,计算将水从初始温度加热到最终温度所需要的能量。
应提示用户输入水的重量,以及水的初始温度和最终温度package pro0904;import java.util.Scanner;public class Energy {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.print("请输入水的重量(kg):");double m=in.nextDouble();System.out.print("请输入初始温度:");double t1=in.nextDouble();System.out.print("请输入最终温度:");double t2=in.nextDouble();System.out.print("所需的能量为"+m*(t2-t1)*4184);}}2.13假设你每月向银行账户存100美元,年利率为5%,那么每月利率是0.05/12=0.00417。
编写程序显示六个月后账户上的钱数package pro0904;import java.util.Scanner;public class Money {public static void main(String[] args) {Scanner in=new Scanner(System.in);System.out.print("请输入存取月份:");int month=in.nextInt();double money=0;for (int i=0;i<month;i++){money+=100;money=money*1.00417;System.out.println(money);}System.out.print("六个月后账户上的钱数为"+money);}}2.15编写程序提示用户输入体重(磅为单位),以及身高(英寸为单位),然后显示BMI。
JAVA课后答案第二章
第2章1.Java语言有哪些主要特点。
平台独立性安全性多线程网络化面向对象2.目前美国Sun公司提供的适用不同开发规模的JDK有哪些。
目前Sun共提供了三种不同的版本:微平台版J2ME(Java 2 Platform Micro Edition),标准版J2SE(Java 2 Platform Standard Edition)和企业版J2EE(Java 2 Platform Enterprise Edition),这三种版本分别适用于不同的开发规模和类型,对于普通Java开发人员和一般学习者来说,选用标准版J2SE就可以了,学会了J2SE,再学J2ME或J2EE就比较容易上手,因为它们之间虽有所侧重,但相似之处很多,尤其是语言本身是一样的,都是Java。
3.Java Application的开发步骤有哪些。
Java Application的开发步骤:(1)下载JDK软件并安装;(2)配置相应的环境变量(path和classpath);(3)编写Java源程序(文本编辑器或集成开发环境IDE);(4)编译Java源程序,得到字节码文件(javac *.java);(5)执行字节码文件(java 字节码文件名)。
4.什么是环境变量,设置环境变量的主要目的是什么。
环境变量的配置主要是为了进行“寻径”,也即让程序能找到它需要的文件,所以设置的内容就是一些路径。
5.不参考书本,试着编写一个简单的Java Application程序,实现在Dos窗口输出“Welcome to Nanjing City!”字符串。
并对该程序进行编译和运行。
public class Hello {public static void main(String args[]){System.out.println("Welcome to Nanjing City!");}}6.编写一个Java Application程序,实现分行显示字符串“Welcome to Nanjing City”中的四个单词。
JAVA语言程序设计(基础篇)答案
3.4import javax.swing.*;public class AdditionTutor{public static void main(String[] args){int number1=(int)(System.currentTimeMillis()%100);int number2=(int)(System.currentTimeMillis()*5%100);String answerString=JOptionPane.showInputDialog("what is "+ number1 +"+ "+ number2+" ?");int answer=Integer.parseInt(answerString);JOptionPane.showMessageDialog(null,number1 +" + "+ number2 +" = "+answer+" is "+(number1+number2==answer));}}3.10import javax.swing.JOptionPane;public class ComputeTaxWithSelectionStatement{public static void main(String[] args){//Prompt the user to enter filing statusString statusString = JOptionPane.showInputDialog("Enter the filing status:\n"+"(0-single filer,1-married jointly,\n"+"2-married separately,3-head of household)");int status = Integer.parseInt(statusString);//Prompt the user to enter taxable incomeString incomeString = JOptionPane.showInputDialog("Enter the taxable income:");double income = Double.parseDouble(incomeString);//Comput taxdouble tax=0;if (status == 0){//Compute tax for single filersif (income <= 6000)tax = income * 0.10;else if (income <= 27950)tax = 6000 * 0.10 + (income - 6000) * 0.15;else if (income <= 67700)tax = 6000 * 0.10 + (27950 - 6000) * 0.15 +(income - 27950) * 0.27;else if (income <= 141250)tax = 6000 * 0.10 + (27950 - 6000) * 0.15 +(67700 - 27950) * 0.27 + (income - 67700) * 0.30;else if (income <=307050)tax = 6000 * 0.10 + (27950 - 6000) * 0.15 +(67700 - 27950) * 0.27 + (141250 - 67700) * 0.30 +(income - 141250) * 0.35;elsetax = 6000 * 0.10 + (27950 - 6000) * 0.15 +(67700 - 27950) * 0.27 + (141250 -67700) * 0.30 +(307050 - 141250) * 0.35 + (income - 307050) * 0.386;}else if (status == 1){//Compute tax for married file jointly if (income <= 12000)tax = income * 0.10;else if (income <= 46700)tax = 12000 * 0.10 + (income - 12000) * 0.15;else if (income <= 112850)tax = 12000 * 0.10 + (46700 - 12000) * 0.15 +(income - 46700) * 0.27;else if (income <= 171950)tax = 12000 * 0.10 + (46700 - 12000) * 0.15 +(112850 - 46700) * 0.27 + (income - 112850) * 0.30;else if (income <= 307050)tax = 12000 * 0.10 + (46700 - 12000) * 0.15 +(112850 - 46700) * 0.27 + (141250 - 112850) * 0.30 +(income - 307050) * 0.35;elsetax = 12000 * 0.10 + (46700 - 12000) * 0.15 +(112850 - 46700 ) * 0.27 + (171950 - 112850) * 0.30 +(307050 - 171950) * 0.35 + (income - 307050) * 0.386;}else if (status == 2){//Compute tax for married separately if (income <= 6000)tax = income * 0.10;else if (income <= 23350)tax = 6000 * 0.10 + (income - 6000) * 0.15;else if (income <= 56425)tax = 6000 * 0.10 + (23350 - 6000) * 0.15 +(income - 23350) * 0.27;else if (income <= 85975)tax = 6000 * 0.10 + (23350 - 6000) * 0.15 +(56425 - 23350) * 0.27 + (income - 56425) * 0.30;else if (income <= 153525)tax = 6000 * 0.10 + (23350 - 6000) * 0.15 +(56425 - 23350) * 0.27 + (85975 - 56425) * 0.30 +(income - 85975) * 0.35;elsetax = 6000 * 0.10 + (23350 - 6000) * 0.15 +(56425 - 23350) * 0.27 + (85975 - 56425) * 0.30 +(153525 - 85975) * 0.35 + (income - 153525) * 0.386;}else if (status == 3){//Compute tax for head of householdif (income <= 10000)tax = income * 0.10;else if (income <= 37450)tax = 10000 * 0.10 + (income - 10000) * 0.15;else if (income <= 96700)tax = 10000 * 0.10 + (37450 - 10000) * 0.15 +(income - 37450) * 0.27;else if (income <= 156600)tax = 10000 * 0.10 + (37450 - 10000) * 0.15 +(96700 - 37450) * 0.27 + (income - 96700) * 0.30;else if (income <= 307050)tax = 10000 * 0.10 + (37450 - 10000) * 0.15 +(96700 - 37450) * 0.27 + (156600 - 96700) * 0.30 +(income - 156600) * 0.35;elsetax = 10000 * 0.10 + (37450 - 10000) * 0.15 +(96700 - 37450) * 0.27 + (156600 - 96700) * 0.30 +(307050 - 156600) * 0.35 + (income - 307050) * 0.386;}else{System.out.println("Error: invalid status");System.exit(0);}//Display the resultJOptionPane.showMessageDialog(null,"Tax is " +(int)(tax * 100) / 100.0);}}4.11public class ZhengChu{public static void main(String[] args){int count=0;for(int i=100;i<=200;i++){if((i%5==0||i%6==0)&&i%30!=0){System.out.print(" "+ i);count++;if(count%10==0)System.out.println();}}}}4.14public class ASCII{public static void main(String[] args){int count = 0;for(int i = 33; i <= 126; i++){count++;char ch = (char)i;System.out.print(" " + ch);if(count % 10 == 0)System.out.println();}}}4.17import javax.swing.JOptionPane;public class FindSalesAmount{/**Main method*/public static void main(String[] args){//The commission soughtString COMMISSION_SOUGHTString = JOptionPane.showInputDialog("Enter the COMMISSION_SOUGHT :");double COMMISSION_SOUGHT = Double.parseDouble(COMMISSION_SOUGHTString);double commission = 0;double salesAmount;for (salesAmount = 0.01;commission <= COMMISSION_SOUGHT;){salesAmount += 0.01; //防止犯off-by-one错误,先判断在做自加!if (salesAmount >= 10000.01)commission =5000 * 0.08 + 5000 * 0.1 + (salesAmount - 10000) * 0.12;else if (salesAmount >= 5000.01)commission = 5000 * 0.08 + (salesAmount - 5000) * 0.10;elsecommission = salesAmount * 0.08;}String output ="The sales amount $" + (int)(salesAmount * 100) / 100.0 +"\n is needed to make a commission of $" + COMMISSION_SOUGHT;JOptionPane.showMessageDialog(null,output);}}5.6import javax.swing.JOptionPane;public class PrintPyramid{public static void main(String[] args){String input = JOptionPane.showInputDialog("Enter the number of lines:");int numberOfLines = Integer.parseInt(input);displayPattern(numberOfLines);}public static void displayPattern(int n){for (int row = 1;row <= n;row++){for (int column = 1;column <= n - row;column++)System.out.print(" ");for (int num = row;num >= 1;num--)System.out.print((num >= 10) ? " " + num : " " + num);System.out.println();}}}5.18public class MathSuanFa{public static void main(String[] args){double A = Math.sqrt(4);double B = (int)Math.sin(2 * Math.PI);double C = (int)Math.cos(2 * Math.PI);double D = (int)Math.pow(2, 2);double E = (int)Math.log(Math.E);double F = (int)(Math.exp(1)*100000)/100000.0;double G = (int)Math.max(2, Math.min(3, 4));double H = (int)Math.rint(-2.5);double I = (int)Math.ceil(-2.5);double J = (int)Math.floor(-2.5);int K = (int)Math.round(-2.5f);int L = (int)Math.round(-2.5);double M = (int)Math.rint(2.5);double N = (int)Math.ceil(2.5);double O = (int)Math.floor(2.5);int P = (int)Math.round(2.5f);int Q = (int)Math.round(2.5);int R = (int)Math.round(Math.abs(-2.5));System.out.println(A +" "+ B +" "+ C +" "+ D +" "+ E +" "+ F +" "+ G +" "+ H +" "+ I +" "+ J +" "+ K +" "+ L +" "+ M +" "+ N +" "+ O +" "+ P +" "+ Q +" "+ R);}}6.9import javax.swing.JOptionPane;public class Array{public static void main (String[] args){String incomeString = JOptionPane.showInputDialog("Enter the number of array size:");int income = Integer.parseInt(incomeString);int arraySize = income;int [] myList = new int [arraySize];int m;for ( m = 0; m < arraySize; m++){String elementString = JOptionPane.showInputDialog("Enter the " + (m + 1) + " element of the array");int element = Integer.parseInt(elementString);myList[m] = element;}int minElement = myList[0];for (int i=1; i < arraySize; i++){if (myList[i] < minElement)minElement = myList[i];}JOptionPane.showMessageDialog(null,"The min element is: " + minElement); }}。
Java语言程序设计 课后习题+答案
第一章课后习题1.编译Java程序的命令是什么?2.执行Java程序的命令是什么?3.Java应用程序和小程序的区别是什么?4.编写一个application ,实现在屏幕上打印自己名字的功能。
第一章课后习题答案1.编译Java程序的命令是什么?答案:javac 源文件名2.执行Java程序的命令是什么?java 主类名3.Java应用程序和小程序的区别是什么?Java application⏹由Java解释器独立运行字节码⏹由专门的命令行启动程序执行⏹程序中有定义了main()方法的主类Java applet⏹不能独立运行,字节码必须嵌入HTML文档⏹当浏览器调用含applet的Web页面时执行⏹程序中含有java. applet. Applet 类的子类4.编写一个application ,实现在屏幕上打印自己名字的功能。
class Test{public static void main(String[] args){System.out.println(“张三”);}}第二章课后习题(1)一、选择题1.下列变量定义错误的是。
A) int a; B) double b=4.5; C) boolean b=true; D)float f=9.8;2.下列数据类型的精度由高到低的顺序是:a)float,double,int,longb)double,float,int,bytec)byte,long,double,floatd)double,int,float,long3.执行完下列代码后,int a=3;char b='5';char c=(char)(a+b);c的值是?A)’8’ b)53 c)8 d)564.Unicode是一种_____________A) 数据类型 B)java包 C)字符编码 D)java类5.6+5%3+2的值是___________A)2 B)1 C) 9 D)106.下面的逻辑表达式中合法的是__________A)(7+8)&&(9-5) B)(9*5)||(9*7) C)9>6&&8<10 D)(9%4)&&(8*3) 7.java语言中,占用32位存储空间的是__________。
Java程序设计 第2章习题参考答案[2页]
第2章习题参考答案一、简答题1.运行Java程序需要哪些软件?至少需要2个软件:(1)JDK。
(2)开发平台,如Eclipse、MyEclipse、Jcreate、IntelliJ IDEA等。
2.JDK与Eclipse有什么关系?JDK是Java软件开发工具包,是整个java开发的核心,它包含了JAVA的运行环境JRE和JVM。
Eclipse是一个集成开发平台,其运行依赖于jdk和jre。
3.Java程序分为哪几类?有什么区别?主要是2类:(1)Application,即Java应用程序,是可以独立运行的Java程序,由Java解释器控制执行,也是最常见的类型。
(2)Applet,即Java小程序,不能独立运行,需嵌入到Web页,由Java兼容浏览器控制执行。
4.如何在Eclipse环境下运行Java程序?搭建Java开发环境,安装JDK,配置环境变量,并安装eclipse,搭建完成打开并建Java项目,点击File——New——Java Project,输入需要创建的项目名,创建完成后点击功能下面src文件夹。
点击New——Class,在对话框输入类名,注意名称要与项目名称一致,点击完成编写代码,保存源文件,点击“执行”按钮,即可运行。
二、操作题3.依照本章例题,自己分别编写一个Application和Applet,功能是输出以下信息并在Eclipse环境下运行。
I love Java!应用程序:public class ILoveJava {public static void main (String args[ ]){System.out.println("I love Java!");}}小程序:import java.awt.*;import java.applet.*;public class HelloWorldApplet extends Applet {public void paint(Graphics g){g.drawString ("I love Java !",20,20); }}。
Java语言程序设计基础教程习题解答
Java语言程序设计基础教程习题解答《Java语言程序设计基础教程》练习思考题参考答案第1章 Java程序设计概述练习思考题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. 解释器用它来搜索各自的类文件。
5、编译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语言程序设计基础篇 复习题答案
java语言程序设计基础篇复习题答案
Java语言程序设计基础篇复习题答案
在学习Java语言程序设计基础篇的过程中,复习题是一个很好的方式来巩固所学知识。
下面是一些常见问题的答案,希望能够帮助大家更好地复习和理解Java语言程序设计基础篇的知识。
1. 什么是Java语言的特点?
答:Java语言具有简单、面向对象、分布式、多线程、动态、解释性等特点。
2. Java语言有哪些基本数据类型?
答:Java语言的基本数据类型包括整型、浮点型、字符型、布尔型等。
3. 什么是Java语言中的变量?
答:变量是用来存储数据的内存空间,它具有数据类型和名称。
4. Java语言中的运算符有哪些?
答:Java语言中的运算符包括算术运算符、关系运算符、逻辑运算符、位运算符等。
5. 什么是Java语言中的控制语句?
答:控制语句用于控制程序的执行流程,包括顺序结构、选择结构、循环结构等。
6. 什么是Java语言中的数组?
答:数组是一种用来存储多个相同类型数据的数据结构。
7. Java语言中的方法是什么?
答:方法是一段用来完成特定任务的代码,它可以被重复使用。
8. 什么是Java语言中的类和对象?
答:类是一种模板,用来描述对象的属性和行为;对象是类的实例,具有特定的属性和行为。
通过复习这些问题的答案,我们可以更好地理解和掌握Java语言程序设计基础篇的知识,为以后的学习和实践打下坚实的基础。
希望大家在学习Java语言程序设计基础篇的过程中能够不断努力,取得更好的成绩。
第2章 Java语言基础知识
第二章习题参考答案一.简答题1.【参考答案】:面向对象程序设计三大基本特征是:封装、继承和多态。
面向对象封装是把表示属性的数据和对数据的操作包装成一个对象类型,使得对数据的存取只能通过封装提供的接口进行。
数据的封装是隐藏了数据的内部实现细节的结果,将数据抽象的外部接口与内部的实现细节清楚的分开。
继承是类与类之间存在的一种关系,它使程序员可在已有类的基础上定义和实现新类。
继承是构造可复用软件构件的有效机制。
面向对象程序设计中的多态性是指不同的对象收到相同的消息时所产生多种不同的行为方式。
多态性主要表现在对象引用的类型具有多种形态,通过对象引用方法也具有多种形态。
2.【参考答案】:类是对象的模板,是对一组具有共同的属性特征和行为特征的对象的抽象。
类和对象之间的关系是抽象和具体的关系。
即对象的抽象是类,类的具体化就是对象。
类也具有属性,它是对象状态的抽象,用数据结构来描述;类也具有方法,它是对象行为的抽象,用方法名和方法体来描述。
类是定义相同类型对象的结构,是抽象数据类型的实现。
对象是类的实例化,在类定义中指明了类包含对象的属性和方法。
3.【参考答案】:一个子类只能继承其父类的可访问的成员,并且该子类没有覆盖或者说隐藏父类中的那些可访问成员。
所以,一个类的成员就是指在这个类中所声明的属性和方法,再加上从其父类继承而来的属性和方法。
也就是说,子类是不能继承父类的私有成员的。
4.【参考答案】:构造方法是用在实例化对象的时候调用的,没有返回值,方法名必须与类名相同。
构造方法可有可无,如果没有构造方法,JVM会调用默认的构造方法.方法分系统方法和用户自定义方法,方法名不能与类名相同,使用方法必须通过调用实现。
也可以分为静态方法和非静态方法,静态方法可用类名直接调用,非静态方法要用对象调用,返回值可有可无,如果没有声明时要加void 。
5.【参考答案】:在Java中,除了可以使用抽象类来实现一定程度的抽象外,还可以定义一种特殊的“抽象类”——接口。
《Java语言程序设计基础教程》参考答案
《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语言程序设计(基础篇)第二章程序练习题答案
java语言程序设计(基础篇)第二章程序练习题答案2.1(将摄氏温度转化为华氏温度)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter a degree in celsius: ");double Celsius = input.nextDouble();double Fahrenheit;Fahrenheit = (9.0/5) * Celsius + 32;System.out.println(Celsius + " Celsius is" + Fahrenheit + " Fahrenheit");}}2.2(计算圆柱体的体积)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the radius and length of a cylinder: ");double radius = input.nextDouble();double length =input.nextDouble();double area = radius * radius * Math.PI;double volume = area * length;System.out.println("The area is " + area);System.out.println("The volume is " + volume);}}2.3(将英尺转换为米)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter a value for feet: ");double feet = input.nextDouble();double meters = feet * 0.305;System.out.println(feet+ " feet is " + meters + " meters");}}2.4(将磅转换为千克)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter a number in pounds: ");double pounds = input.nextDouble();double kilograms = pounds * 0.454;System.out.println(pounds + " pounds is " + kilograms + " kilograms");}}2.5(财务应用程序:计算消费)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the subtotal and gratuity rate: ");double subtotal = input.nextDouble();double Gratuity = input.nextDouble();double gratuity = subtotal * Gratuity * 0.01;double total = gratuity + subtotal;System.out.println("The gratuity is $" + gratuity + " and total is " + total);}}2.6(求一个整数个位数的和)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter a number between 0 and 1000: ");int number = input.nextInt();int sum = number % 10 + (number / 10) % 10 + (number / 100) % 10;System.out.println("The sum of the digits is " + sum);}}2.7(求出年数)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the number of minutes: ");double minutes = input.nextDouble();int years = (int)minutes / (60*24*365);int days= (int)minutes/ (60*24) - ((int)minutes/ (60*24*365)) * 365;System.out.println(minutes + "minutes is approximately " + years + " years and " + days + " days");}}2.8(当前时间)import java.util.*;public class ShowXureentTime {public static void main(String[] args) {// TODO Auto-generated method stublong totalMilliseconds = System.currentTimeMillis();//得到1970年1月1日到现在的毫秒数long totalSeconds = totalMilliseconds / 1000;//将总毫秒转化为总秒long currentSecond = totalSeconds % 60;//当前的秒数long totalMinutes = totalSeconds / 60;//得到总的分钟long currentMinute = totalMinutes % 60;//当前的分钟数long totalHours = totalMinutes / 60;//得到总小时Scanner input = new Scanner(System.in);System.out.print("Enter the time zone offset to GMT: ");long zone = input.nextInt();long currentHour = totalHours % 24 + zone;//当前的小时数if(currentHour <0) {currentHour = currentHour + 24;}System.out.println("Current time is " + currentHour + ":" + currentMinute + ":" + currentSecond + " GMT");}//GMT世界时}2.9(物理:加速度)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter v0, v1 and t: ");double v0 = input.nextDouble();double v1 = input.nextDouble();double t = input.nextDouble();double acceleration = (v1 - v0) / t;System.out.println("The average acceleration is " + String.format("%.4f", acceleration));}}2.10(科学:计算能量)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the amount of water in kilograms: ");double M = input.nextDouble();System.out.print("Enter the initial temperature: ");double temperature1 = input.nextDouble();System.out.print("Enter the final temperature: ");double temperature2 = input.nextDouble();double energy = M * (temperature2 - temperature1) * 4184;System.out.println("The energy needed is " + energy);}}2.1(人口统计)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the number of years: ");int year = input.nextInt();int population = 312032486;int temp= (365*12*60*60/7)-(365*12*60*60/13)+(365*12*60*60/45);//j = 诞生-死亡+移民迁入;for(int i = 1 ;i <= year ;i ++ ) {population = temp + population ;}System.out.println("The population in " + year + " years is " +population);}}2.12(物理:求出跑道的长度)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter speed and acceleration: ");double speed = input.nextDouble();double acceleration = input.nextDouble();double length = speed * speed / (2 * acceleration);System.out.println("The minimum runway length for this airplane is " + String.format("%.3f", length));}}2.13(财务应用程序:复利值)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the monthly saving aomunt: ");double monthly = input.nextDouble();double money = 0;for(int i = 1; i <= 6; i++) {money = (monthly + money) * (1 + 0.00417);}System.out.println("After the sixth month, the account value is " + String.format("%.2f", money));}}2.14(医疗应用程序:计算BMI)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter weight in pounds: ");double pounds = input.nextDouble();double kilogram = pounds * 0.45359237;System.out.print("Enter height in inches: ");double inches = input.nextDouble();double meter = inches * 0.0254;double BMI = (kilogram / (meter * meter)) ;System.out.println("BMI is " + String.format("%.4f", BMI));}}2.15(几何:两点间距离)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter x1 and y1: ");double x1 = input.nextDouble();double y1 = input.nextDouble();System.out.print("Enter x2 and y2: ");double x2 = input.nextDouble();double y2 = input.nextDouble();double distance = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);System.out.println("The distance between the two points is " + Math.pow(distance, 0.5));}}2.16(几何:六边形面积)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the side: ");double side = input.nextDouble();double area = 3 * Math.sqrt(3) / 2 * side * side;System.out.println("The area of the hexagon is " + area);}}2.17(科学:风寒温度)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the temperature in Fahrenheit between -58°F and 41°F: ");double Fahrenheit = input.nextDouble();System.out.print("Enter the wind speed (>=2) in miles per hour: ");double speed = input.nextDouble();double t = 35.74 + 0.6215 * Fahrenheit - 35.75 * Math.pow(speed, 0.16) + 0.4275 * Fahrenheit * Math.pow(speed, 0.16);System.out.println("The win chill index is " + String.format("%.5f", t));}}2.18(打印表格)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("a\t" + "b\t" + "pow(a, b)");System.out.println("1\t" + "2\t" + (int)Math.pow(1, 2));System.out.println("2\t" + "3\t" + (int)Math.pow(2, 3));System.out.println("3\t" + "4\t" + (int)Math.pow(3, 4));System.out.println("4\t" + "5\t" + (int)Math.pow(4, 5));System.out.println("5\t" + "6\t" + (int)Math.pow(5, 6));}}2.19(几何:三角形的面积)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter three points fir a trinangle: ");double x1 = input.nextDouble();double y1 = input.nextDouble();double x2 = input.nextDouble();double y2 = input.nextDouble();double x3 = input.nextDouble();double y3 = input.nextDouble();double edge1= Math.pow((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1), 0.5);double edge2= Math.pow((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2), 0.5);double edge3= Math.pow((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1), 0.5);double s =(edge1 + edge2 + edge3) / 2;double area = Math.pow(s* (s- edge1) * (s- edge2) * (s- edge3), 0.5);System.out.println("The area of the tringle is "+ String.format("%.1f", area));}}2.20(财务应用程序:计算利息)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter balance and interst rate (e.g, 3 for 3%): ");double balance = input.nextDouble();double annual = input.nextDouble();double interst = balance * ( annual / 1200);System.out.println("The interst is "+ String.format("%.5f", interst));}}2.21(财务应用:计算未来投资值)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter investment amount: ");double investment = input.nextDouble();System.out.print("Enter annual interest rate in percentage: ");double interest = input.nextDouble();interest = interest / 100 / 12;System.out.print("Enternumber of yuears: ");double years = input.nextDouble();double value = investment * Math.pow((1 + interest), (years * 12));System.out.println("Accumulated value is $" + String.format("%.2f", value));}}2.22(财务应用:货币单位)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter an amount in int, for example 1156: ");int amount = input.nextInt();int remainingAmount = amount;int numberOfOneDollars = remainingAmount / 100;。
Java程序设计案例教程 习题答案 第2章 Java编程基础
第2章Java编程基础一.填空题1. class2.单行注释、多行注释、文档注释3.基本数据、引用数据4.&、&&、|、||5.容器、06.47.强制8.129.小写二.判断1.错2.错3,对4.对5.对6.对7.对三.选择2.D 2.B3.C4. A5.C6.D7. A8. B9.A四.简答L Java语言的八种基本数据类型有:byte字节型,占一个字节。
short短整型,占两个字节。
血整型,占4个字节。
10ng长整型,占8个字节。
float单精度浮点型,占4个字节。
double双精度浮点型,占8个字节。
char字符型,占两个字节。
boolean型,表示逻辑值,有true和false两个值,分别占一个字节。
3.在switch条件语句和循环语句中都可以使用break语句。
当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构。
当它出现在循环语句中,作用是跳出循环语句,执行循环后面的代码;continue语句用在循环语句中,它的作用是终止本次循环,执行下一次循环。
4.&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否那么,只要有一方为false,那么结果为false。
当运算符和“&&”的右边为表达式时,使用进行运算,不管左边为true或者false,右边的表达式都会进行运算。
如果使用进行运算,当左边为false时,右边的表达式那么不会进行运算,因此“&&"被称作短路与。
五.编程2.参考答案public class Example28 { public static voidmain(String[] args) { int [] arr = { 22, 24, 76, 12, 21, 33 ); int min = getMin(arr);4.参考答案public class Exampl㊀05 {。
Java语言程序设计基础篇前三章课后习题
显示:
2.24(物理方面:求出跑道长度)假设一个飞机的加速度是a而起飞速度是v,那么可以使用下面的公式计算出飞机起飞所需的最短跑道长度:
^2/(2*a)
编写程序,提示用户输入以米/秒的平方(^2)为单位的加速度a,然后显示最短跑道长度。
程序:
显示:
2.25(当前时间)程序清单26给出了显示当前格林威治时间的程序。修改这个程序,是只能够做到程序提示用户输入相对于的时区偏移量,然后显示在这个特定时区的时间。
程序:
显示:
3.7(财务应用程序:整钱兑零)修改程序清单2-10,使之只显示非零的币值单位,用单词的单数形式显示一个单位,例如1 1 (1美元和1美分);用单词的复数形式显示多于一个单位的值,例如2 3 (2美元和3美分)(使用输入值23.67来测试改程序)
程序:
显示:
3.8(对三个整数排序)编写程序对三个整数排序。这些整数都由输入对话框输入,并分别存储在变量1,2,和3中。程序对这些数进行排序,使之满足1<2<3.
程序:
显示:
3.9(商业方面:检查)(国际标准书号)以前是一个10位整数d1d2d3d4d5d6d7d8d9d10,最后的一位d10是校验和,它是使用下面的公式用另外9个数计算出来的。
(d1x12x23x34x45x56x67x78x89x9)%10
如果校验和为10,那么按照的习惯,最后一位应该表示为X。编写程序,提示用户输入前9个数,然后显示10位(包括前面起始位置的0)。程序应该读取一个整数输入。例如:输入的是013601267,那么程序就应该显示0136012671.
程序:
显示:
1.6(数列求和)编写程序,显示1+2+3+4+5+6+7+8+9的结果
java语言程序设计(郑莉)第二章课后习题答案
Java语言程序设计(郑莉)第二章习题答案1.什么是对象、类,它们之间的联系?答:1)对象是包括现实世界物体特征的抽象实体,它反映系统为之保留信息和与它交互的能力。
对象是一些属性及服务的封装体,在程序设计领域,可以用“对象=数据+作用于这些数据上的操作”来表示。
现实生活中对象是指客观世界的实体;在程序中对象是指一组变量和相关方式的集合。
2)类是既有相同操作功能和相同的数据格式的对象的集合与抽象!3)二者的关系:对象是类的具体实例.。
2.什么是面向对象的程序设计方式?它有那些大体特征?答:面向对象程序设计从所处置的数据入手,以数据为中心而不是以服务为中心来描述系统。
它把编程问题视为一个数据集合,数据相对于功能而言,具有更强的稳定性。
它的特征:抽象,封装,继承,多态。
3.在下面的应用中,找出可能用到的对象,对每一个对象,列出可能的状态和行为。
1)模拟航空预订系统交易的程序2)模拟银行交易的程序答:1)航空预订交易:状态:旅客姓名,身份证号,联系号码,起身地址,抵达地址,起身日期。
行为:订票,领票,买票,退票。
2)银行交易:状态:客户姓名,账号,身份证号。
行为:存款,取款,汇款。
4.请解释类属性、实例属性及其区别。
答:实例属性,由一个个的实例用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同。
5.请解释类方式、实例属性及其区别。
答:实例方式表示特定对象的行为,在声明时前面不加static修饰符,在利历时需要发送给一个类实例。
类方式也称为静态方式,在方式声明时前面需加static修饰符,类方法表示具体实例中类对象的共有行为。
区别:实例方式可以直接访问实例变量,挪用实例方式,实例方法可以直接访问类变量,调用类方法;类方法可以直接调用类变量和类方法,类方法不能直接调用实例变量和实例方法;6.类的访问控制符有哪几种?具体含义及其区别。
答:类的访问控制符只有public(公共类)及无修饰符(默许类)两种。
JAVA期末复习题及答案——第二章
JAVA期末复习题及答案——第二章一、选择题1.以下关于Java标识符的叙述中,错误的是:BA、Java标识符的后续字符可以是字母,下划线,美元符号和数字B、Java标识符是不区分大小写的C、Java标识符没有最大长度的限制D、Java的标识符不可以用Java关键字来定义2.以下哪个标识符为合法标识符:AA、aVariable1B、1varC、var%D、static3.以下哪个标识符为非法的:CA、$var2B、_var2C、var2#D、var2$4.以下哪个不是Java中的整数类型:CA、byteB、intC、LongD、short5.请阅读下面程序import java.io.*;public class TypeTransition{public static void main(String args[]){char a=’a’;int i=100;long y=456L;int aa=a+i;long yy=y-aa;System.out.print(“aa=”+aa);System.out.print(“yy=”+yy);则程序的执行结果为:AA、aa=197 yy=259B、aa=177 yy=259C、aa=543 yy=288D、aa=197 yy=3336.阅读下面程序import java.io.*;public class TypeTransition{public static void main(String args[]){char a=’h’;int i=100;int j=97;int aa=a+i;System.out.println(“aa=”+aa);char bb=(char)j;System.out.println(“bb=”+bb);}}如果输出结果的第二行为bb=a,那么第一行的输出是:B A、aa=1 B、aa=204 C、aa=v D、aa=1567.阅读下面程序public class Increment{public static void main(String args[]){int c;c=5;System.out.println(c);System.out.println(c++);System.out.println(c);}}程序的运行结果是:BA、5B、5C、6D、66 57 6 6 6 7 68.下列标识符(名字)命名原则中,正确的是:DA、类名的首字母小写B、变量和方法名的首字母大写C、接口名的首字母小写D、常量完全大写10.阅读下列代码public class Test2005{public static void main(String args[]){System.out.println(~(0xa5)&0xaa);}}其运行结果是:BA、0xa5B、10C、0x50D、0xaa11.阅读下列代码public class Test2005{public static void main(String args[]){System.out.println((3>2)?4:5);}}其运行结果为:CA、2B、3C、4D、512.阅读下列代码public class Test{public static void main(String args[]){System.out.println(89>>1);}}其运行结果为:AA、44B、45C、88D、8913.下列叙述中,正确的是:AA、声明变量时必须指定一个类型B、Java认为变量number与Number相同C、Java中唯一的注释方式是”//”D、源文件中public类可以有0个或多个14.下列属于合法的Java标识符的是:DA、”ABC”B、&5678C、+rriwoD、saler15.下列代表十六进制整数的是:DA、0123B、1900C、fa00D、0xa216.++运算操作数的个数是:AA、1个B、2个C、3个D、4个17.在switch(expression)语句中,expression的数据类型不能是:A A、double B、char C、byte D、short18.下列代码中,将引起编译错误的行是:B1) public class Excecise{2) public static void main(String args[]){3) float f=0.0;4) f+=1.0;5) }6) }A、第2行B、第3行C、第4行D、第6行19.以下叙述错误的是( A )。
Java语言程序设计(第三版)第二章课后习题答案(仅供参考)
Java语⾔程序设计(第三版)第⼆章课后习题答案(仅供参考)2.1 注意不同类型转换1import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6double f = sc.nextDouble();7double t = (5.0/9)*(f-32); // 注意 (5/9) 结果为整形要写成 (5.0/9)8 System.out.println(t)9 }2.21import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6 System.out.println("请输⼊圆柱体半径和⾼:");7double r = sc.nextDouble();8double h = sc.nextDouble();9double v = Math.PI * r * r * h; //圆周率⽅法 Math.PI10 System.out.println(v);11 }2.31import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6 System.out.println("请输⼊体重和⾝⾼:");7double g = sc.nextDouble();8double h = sc.nextDouble();9double BMI = g / (h * h);10 System.out.println(BMI);11 }2.4 使⽤循环每次对个位取数相加取数后除以10 使前⼀位变为个位继续判断⼩于等于0时停⽌1import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5int sum = 0;6 Scanner sc = new Scanner(System.in);7int num1 = sc.nextInt();8while (num1 > 0) // 与 0 ⽐较判断是否需要取数9 {10 sum += (num1%10); // 通过取余获得个位数字11 num1 /= 10; // 每次取余后除以1012 }13 System.out.println(sum);14 }2.5 注意 System.currentTimeMillis()⽅法返回long形需要转换为int形1public class Ch02 {2public static void main(String[] args) {3// 通过 System.currentTimeMillis() ⽅法获得从1970年1⽉1⽇ 00:00:00 到现在的毫秒数4// 28800000 是格林时间与我们时区的时间差值5// 对 86400000 取余是把满⼀天的时间都去掉获取多出来的不⾜⼀天的时间6int t = (int)((System.currentTimeMillis()+28800000)%86400000);7int hour = t/3600000; // 除 3600000 获取满⼩时的个数即求⼩时为⼏点8int mine = t%3600000/60000; // 计算不⾜⼀⼩时的时间⾥有多少分钟9int s = t%3600000%60000/1000; // 计算不⾜⼀分钟的时间⾥有多少秒不要忘记除以 1000 (因为单位为毫秒)10 System.out.println("当前时间: "+hour+":"+mine+":"+s+" GMT");11 }2.6 a 不能为 0 b2 - 4 * a * c 不能为 01import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5double sum,a,b,c,t;6 Scanner sc = new Scanner(System.in);7while (true) {8 a = sc.nextDouble();9 b = sc.nextDouble();10 c = sc.nextDouble();11 t = b*b-4*a*c;12if (a == 0) {13 System.out.println("a 不能为 0,请重新测试 ^_^");14 } else if (t < 0) {15 System.out.println("b*b-4*a*c不能为0,请重新测试");16 }17else18 {19break;20 }21 }22 sum = ((-b+Math.sqrt(t)/(2*a))); //( 2*a ) 注意加括号23 System.out.println(sum);2.7 注意计算公式先后顺序多使⽤⼩括号1import java.util.Scanner;23public class Ch02 {4public static void main(String[] args) {5 Scanner sc = new Scanner(System.in);6double yrate = sc.nextDouble();7double amount = sc.nextDouble();8double year = sc.nextDouble();9double month = (amount * (yrate/12))/(1-(1/Math.pow(1+yrate/12,year*12)));10double sumamount = month*12*year;11 System.out.println("⽉⽀付⾦额:"+month+"\n总偿还⾦额:"+sumamount);12 }。
Java程序设计基础与实战-习题答案(人邮) 第2章作业参考答案
第2章作业参考答案1.填空题(1)表达式(2)强制类型转换(3)条件结构/分支结构(4)循环操作/循环体(5)顺序结构2.选择简答题(1)回答要点(2)回答要点布尔型和其它基本数据类型之间不能相互转换;byte 型能够转换为short、ini、、long> float 和double;short 可转换为int、long、float 和double;char 可转换为int、long> float 和double;int 可转换为long> float 和double;long 可转换为float 和double;float可转换为double(3)回答要点&表示当运算符两边的表达式的结果都为true时,整个运算结果才为true,否那么,只要有一方为false,那么结果为falseo &&具有短路的功能,即如果第一个表达式为false,那么不再计算第二个表达式。
(4)回答要点break应用在for、while和do…while循环语句中,用于强行退出循环,也就是忽略循环体中任何其他语句和循环条件的限制。
还可应用在switch语句中,用来终止switch语句。
continue语句是不可以应用在switch语句中的。
continue语句只能应用在for、while和do…while循环语句中,用于让程序直接跳过其后面的语句,进行下一次循环。
break语句和continue语句的区别在于,break语句将终止整个循环语句,而continue语句只结束本次循环。
4.编程题(1)源代码:参考本章资料文件夹下“作业1”。
(2)源代码:参考本章资料文件夹下“作业2”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Chapter2Elementary Programming1.Valid identifiers:applet,Applet,$4,apps,x,y,radiusInvalid identifiers:a++,--a,4#R,#44,class,public, intKeywords:class,public,int2.double miles=100;final double KILOMETERS_PER_MILE= 1.609;double kilometers=KILOMETERS_PER_MILE*miles;System.out.println(kilometers);The value of kilometers is160.9.3.There are three benefits of using constants:(1)you don’t have to repeatedly type the same value;(2)the value can be changed in a single location,ifnecessary;(3)the program is easy to read.final int SIZE=20;4.a=46/9;=>a=5a=46%9+4*4-2;=>a=1+16–2=15a=45+43%5*(23*3%2);=>a=45+3*(1)=48a%=3/a+3;=>a%=3+3;a%=6=>a=a%6=1;d=4+d*d+4;=>4+ 1.0+4=9.0d+= 1.5*3+(++a);=>d+= 4.5+2;d+= 6.5;=>d=7.5d-= 1.5*3+a++;=>d-= 4.5+1;=>d=1– 5.5=-4.55.22-4-416.(2+100)%7= 4.So it is Thursday.7.For byte,from-128to127,inclusive.For short,from-32768to32767,inclusive.For int,from-2147483648to2147483647,inclusive.For long,from-9223372036854775808to9223372036854775807.For float,the smallest positive float is1.40129846432481707e-45and the largest float is3.40282346638528860e+38.For double,the smallest positive double is4.94065645841246544e-324and the largest double is1.79769313486231570e+308d.8.25/4is 6.If you want the quotient to be a floating-point number,rewrite it as25.0/ 4.0,25.0/4,or25/ 4.0.9.Yes,the statements are correct.The printout is25/4is625/ 4.0is 6.253*2/4is13.0*2/4is 1.510. a. 4.0/(3.0*(r+34))–9*(a+b*c)+(3.0+d*(2+a))/(a+b*d)11. 1.0*m*(r*r)12.b and c are true.13.All.14.Line2:Missing static for the main method.Line2:string should be String.Line3:i is defined but not initialized before it isused in Line 5.Line4:k is an int,cannot assign a double value to k.Lines7-8:The string cannot be broken into two lines.15.long totalMills=System.currentTimeMillis()returns the milliseconds since Jan1,1970.long totalSeconds=totalMills/1000returns the total seconds.long totalMinutes=totalSeconds/60returns the total minutes.totalMinutes%60returns the current minute.16.Yes.Different types of numeric values can be used inthe same computation through numeric conversionsreferred to as casting.17.The fractional part is truncated.Casting does not change the variable being cast.18.f is12.5i is1219.System.out.println((int)'1');System.out.println((int)'A');System.out.println((int)'B');System.out.println((int)'a');System.out.println((int)'b');System.out.println((char)40);System.out.println((char)59);System.out.println((char)79);System.out.println((char)85);System.out.println((char)90);System.out.println((char)0X40);System.out.println((char)0X5A);System.out.println((char)0X71);System.out.println((char)0X72);System.out.println((char)0X7A);20.'\u345dE'is wrong.It must have exactly four hex numbers.21.'\\'and'\”'22.i becomes49,since the ASCII code of'1'is49;j become99since(int)'1'is49and(int)'2'is50;k becomes97since the ASCII code of'a'is97;c becomes character'z'since(int)'z'is90;23.char c='A';i=(int)c;//i becomes65float f=1000.34f;int i=(int)f;//i becomes1000double d=1000.34;int i=(int)d;//i becomes1000int i=97;char c=(char)i;//c becomes'a'24.bc-225.System.out.println("1"+1);=>11System.out.println('1'+1);=>50(since the Unicode for1is49System.out.println("1"+1+1);=>111System.out.println("1"+(1+1));=>12System.out.println('1'+1+1);=>5126.1+"Welcome"+1+1is1Welcome11.1+"Welcome"+(1+1)is1Welcome 2.1+"Welcome"+('\u0001'+1)is1Welcome21+"Welcome"+'a'+1is1Welcome a127.Class names:Capitalize the first letter in each name.Variables and method names:Lowercase the first word,capitalize the first letter in all subsequent words.Constants:Capitalize all letters.28.public class Test{/**Main method*/public static void main(String[]args){//Print a lineSystem.out.println("2%3="+2%3);}}pilation errors are detected by compilers.Runtimeerrors occur during execution of the program.Logicerrors results in incorrect results.30.The Math class is in the ng package.Any classin the ng package is automatically imported.Sothere is no need to import it explicitly.31.String s=JOptionPane.showInputDialog(“Enter aninput”);32.int i=Integer.parseInt(s);double s=Double.parseDouble(s);。