Java语言程序设计课后习题集

  • 格式:doc
  • 大小:435.50 KB
  • 文档页数:44

Java课后习题第一章1、简述计算机语言的主要分类。

答:低级语言,包括:机器语言、汇编语言高级语言,目前比较流行的有:FORTRAN语言、ALGOL语言、COBOL语言、PASCAL语言、C语言、面向对象程序语言C++、纯面向对象的程序设计语言Java、函数式程序设计语言、脚本语言、描述性语言。

2、简述不同语言翻译程序的特点。

答:解释型翻译程序:读入一句源程序,翻译一句,执行一句,这样反复操作直到最终完成全部源程序的翻译。

编译型翻译程序:加个整个源程序,最终翻译成机器语言代码,然后交给计算机执行。

3、什么是虚拟机,什么是Java运行环境?答:虚拟机:配置了某种语言的翻译程序的计算机被人们称为这种语言的虚拟机。

虚拟机好似通用的计算机,有自己的指令系统,但本身没有实际的硬件。

一个Java运行环境:一个Java运行环境包括实际计算机、适配器、Java虚拟机(JVM)、Java 基本软件和Java应用程序接口。

JVM是Java运行环境的核心。

4、简述Java程序开发的步骤。

答:编写→编译→运行(1)创建Java源程序:简单的Java程序可以用任何编辑程序(如记事本)进行编辑,然后以纯文本方式存储在文件中,文件必须以.java作为后缀。

(2)编译Java源程序:由Java编译器编译成字节码,存储在以.class为后缀的文件中。

(3)运行Java程序:最后由运行系统解释和执行。

第二章2.1 先下载jdk安装程序,然后按要求安装即可。

JAVA_HOME 为Java安装的路径。

需要设置的环境变量有:path,classpath我的电脑->属性->高级->单击“环境变量”按钮->单击“系统变量”区域的“新建”按钮->在“变量名”文本框中输入path,在“变量值”里输入%JAVA_HOME%\jdk1.5\bin;同样方法创建CLASSPATH变量,变量值为:,;%JAVA_HOME%\jdk1.5\lib\dt.jar;%JAVA_HOME%\jdk1.5\lib\tools.jar2.2学会下载安装Eclipse软件,正确配置它们的组件。

答:从下载安装Eclipse 首先下载版本Eclipse SDK 3.2-win32.zip下载地址为: (/downloads/)然后将eclipse-SDK-3.2.2-win32.zip直接解压到你想安装的地方:我的是C:\Program Files\Java\q其次按照书上的提示安装Eclipse。

其次打开Eclipse,安装NLpack1-eclipse-sdk-3.2-win32中文包,选择Search for new features to install 选项然后单击Next进入对话框,单击New Local Site 然后再单击Next,进入到“”浏览文件夹,最后选择NLpack—eclipse-SDK-3.2-win32——eclipse文件夹,在单击确定最后单击Finish,安装结束。

在Eclipse中配置JDK步骤为:在中文界面Java-Eclipse SDK窗口,选择“窗口”——“首选项”命令打开对话框然后选择Java—InstalledJREs,进入首选项,再单击Edit,进入Edit JRE对话框,最后单击Browse找到jdk1.5.0_01文件单击确定。

2.3程序:class HelloWorld{public static void main(String args[]){System.out.println("Hello World!");}}运行:2.4程序及运行如下:第三章3.1此程序出现以下两个问题:public static void main(String[] args)int i;System.out.println(i);//1、 i在此处未初始化int i=15;//2、 i已在前面定义以下为正确的源代码:public class T3_1{public static void main(String[] args){int i=10;//可任取一值System.out.println(i);i=15;System.out.println(i);}}3.2public class BasicTypis{public static void main(String[] args){byte b=(byte)0X88;short s=0200;int i=11111;long l=0x1111111;char c='A';float f=.333f;double d=.00001001;boolean b1=true;System.out.println("byte b="+b);System.out.println("short s="+s);System.out.println("int i="+i);System.out.println("long l="+l);System.out.println("char c="+c);System.out.println("float f="+f);System.out.println("double d="+d);System.out.println("boolean b1="+b1);}}运行结果如下:3.3(1)double(2)6.53.4运行结果:a=0 b3 c=3a=6 b4 c=4a=8 b3 c=3其源程序为:public class ArithmeticOp{public static void main (String arge[]){int a,b,c;a=b=c=2;a=++b-++c;System.out.println("a="+a+" b"+b+" c="+c); a=b+++c++;System.out.println("a="+a+" b"+b+" c="+c); a=b--+c--;System.out.println("a="+a+" b"+b+" c="+c); }}3.5(1)结果为i=1 j=2(如下图),与分析结果一致。

(2)break语句起到跳出switch语句的作用。

本题源代码如下:public class Test{public static void main(String[] s){int x=1,y=2,i=0,j=0;switch(x){case 1: switch(y){case 1: i++;break;case 2: j++;break;// i=0;j=1default: i++;j++;}case 2: i++; j++; break;//i=1;j=2;default:i++;j++;}System.out.println("i="+i);System.out.println("j="+j);}}3.6// xunhuan.javapublic class xunhuan{public static void main (String[] args){int n;for(n=10;n<=50;n++){if(n%3==0)System.out.println(n);}}}// xunhuan1.javapublic class xunhuan1{public static void main (String[] args){int n=10;while(n<=50){if(n%3==0)System.out.println(n);}}}// xunhuan1.javapublic class xunhuan2{public static void main (String[] args){int n=10;do{n++;}while(n<=50);if(n%3==0)System.out.println(n);}}3.7public class T3_7{public static void main(String args[]){int num1,num2,temp;//定义这两个数为100、20,当然你可以随意定义。

num1=100;num2=20;temp=0;if(num1>num2){temp=num1;num1=num2;num2=temp;}System.out.println("按从小到大的顺序输出:"+num1+" "+num2);}}3.8public class T3_8{public static void main(String args[]){int i,j=0;for(i=1;i<=100;i++){if(j==5){System.out.println();j=0;}if(i%2==0){System.out.print(i+" ");j++;}}}}3.9public class ShuiXianHuaShu{public static void main(String[] args){int count = 0;for(int i = 100; i < 1000; i ++){if(getCount(i)){System.out.println(i + "是水仙花数.....");count++;}}System.out.println("共有" + count + "个水仙花数!"); }public static int getLifang(int i){return i * i * i ;}public static boolean getCount(int i){int a = i / 100; //取出百位的的数字int temp = i % 100;int b = temp / 10; //取出十位的数字int c = temp % 10; //取出各位的数字if(getLifang(a) + getLifang(b) + getLifang(c) == i){ return true;}else{return false;}}}运行结果如下:3.10public class T3_10{public static void main(String[] args) {int i=0,j=0,k=0;for(i=0;i<5;i++){for(k=0;k<i;k++)System.out.print(' ');for(j=0;j<5;j++)System.out.print("* ");System.out.println("");}}}3.11public class T3_11{public static void main(String[] args) {int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++){System.out.print(j+"x"+i+"="+i*j+" ");}System.out.println("");}}}3.12略。