第一章习题及思考题.docx

上传人:b****2 文档编号:13919569 上传时间:2023-06-19 格式:DOCX 页数:20 大小:25.06KB
下载 相关 举报
第一章习题及思考题.docx_第1页
第1页 / 共20页
第一章习题及思考题.docx_第2页
第2页 / 共20页
第一章习题及思考题.docx_第3页
第3页 / 共20页
第一章习题及思考题.docx_第4页
第4页 / 共20页
第一章习题及思考题.docx_第5页
第5页 / 共20页
第一章习题及思考题.docx_第6页
第6页 / 共20页
第一章习题及思考题.docx_第7页
第7页 / 共20页
第一章习题及思考题.docx_第8页
第8页 / 共20页
第一章习题及思考题.docx_第9页
第9页 / 共20页
第一章习题及思考题.docx_第10页
第10页 / 共20页
第一章习题及思考题.docx_第11页
第11页 / 共20页
第一章习题及思考题.docx_第12页
第12页 / 共20页
第一章习题及思考题.docx_第13页
第13页 / 共20页
第一章习题及思考题.docx_第14页
第14页 / 共20页
第一章习题及思考题.docx_第15页
第15页 / 共20页
第一章习题及思考题.docx_第16页
第16页 / 共20页
第一章习题及思考题.docx_第17页
第17页 / 共20页
第一章习题及思考题.docx_第18页
第18页 / 共20页
第一章习题及思考题.docx_第19页
第19页 / 共20页
第一章习题及思考题.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

第一章习题及思考题.docx

《第一章习题及思考题.docx》由会员分享,可在线阅读,更多相关《第一章习题及思考题.docx(20页珍藏版)》请在冰点文库上搜索。

第一章习题及思考题.docx

第一章习题及思考题

第一章习题及思考题

1、Java程序是由什么组成的?

一个程序中必须有public类吗?

Java源文件的命名规则是怎样的?

2、怎样区分应用程序和小应用程序?

应用程序的主类和小应用程序的主类必须用public修饰吗?

3、开发与运行Java程序需要经过哪些主要步骤和过程?

4、安装JDK之后如何设置JDK系统的PATH,CLASSPATH?

他们的作用是什么?

5、Java语言特点是什么?

6、简述面向过程问题求解和面向对象问题求解的异同。

试列举出面向对象和面向过程的编程语言各两种。

第二章习题及思考题

1.试分析基本数据类型和引用数据类型的基本特点?

2.请使用异或运算符^,实现两个整数的交换。

3.下列哪个是合法的标识符:

()。

  A、a=b  B、_Hello  C、2nd  D、Chongqing

4.下列哪些是合法的标识符()。

  A、new  B、class  C、int  D、const2

5.如果定义有变量doubled1,d2=4.0则下列说法正确的是:

A、变量d1,d2均初始化为4.0

B、变量d1没有初始化,d2初始化为4.0

C、变量d1,d2均未初始化

D、变量d2没有初始化,d1初始化为4.0

6.判断题:

所有的变量在使用前都必须进行初始化。

()

7.内部数据类型byte的取值范围是:

()

   A、0~65,535

   B、(-128)~127

   C、(-32,768)~32,767

   D、(-256)~255

8.下列哪些是不能通过编译的语句:

()

   A、inti=32;

   B、floatf=45.0;

   C、doubled=45.0;

   D、chara=‘c’;

9.判断题:

Java中数据类型的长度与具体使用的机器相关。

()

10.如果定义有doublex;floaty;intm,则表达式x*y-m的类型为():

   A、double   B、float   C、int   D、short

11.如果定义有shorts;byteb;charc,则表达式s*b+c的类型为():

   A、char   B、short   C、int   D、byte

12.已知inti=;++i;则i的值等于多少()

A-BC

13.已知bytei=127;++i;则i的值等于多少()

A-128B127C128

14.已知bytei=127;i=i+1;这两行语句能否编译成功?

()

15.执行以下程序段inta=5,b;  b=++a*3后b的值为:

()

   A、17    B、18    C、16    D、15   

16.如果x=3,y=5,则表达式x|y的值为:

()

   A、15    B、8    C、1    D、7 

17.如果inta=3,b=2,则执行a*=b+8后a的值为:

()

   A、20    B、14    C、30    D、16  

18.若所用变量都已正确定义,以下选项中,非法的表达式是:

()

   A、a!

=4||b==1  B、'a'%3  C、'a'=1/2  D、'A'+32

19.设有定义语句inta[]={1,1,2};则以下对此语句的叙述错误的是()。

A、定义了一个名为a的一维数组B、a数组有3个元素

C、a数组的下标为1~3D、数组中的每个元素是整型

20.以下数组初始化形式正确的是:

()

A、intt1[][]={{1,2},{3,4},{5,6}}B、intt2[][]={1,2,3,4,5,6}

C、intt3[3][2]={1,2,3,4,5,6}D、intt4[][];t4={1,2,3,4,5,6}

第三章习题及思考题

1、编写一个程序,用选择法对数组a[]={20,10,55,40,30,70,60,80,90,100}进行从大到小的排序

2、求两个整数的最大公约数

3、请打印出如下九九乘法表

*|123456789

-------|------------------------------------

1|1

2|24

3|369

4|481216

5|510152025

6|61218243036

7|7142128354249

8|816243240485664

9|91827364554637281

4、求一元二次方程ax2+bx+c=0的根,要求a、b、c从控制台输入。

5、求前40个Fibonacci数列。

Fibonacci数列:

1,1,2,3,5,8,13,21,34,…

从数列看到:

F1=1(n=1)

F2=1(n=2)

Fn=Fn-1+Fn-2(n≥3)

6、已知公鸡5元1只,母鸡3元一只,小鸡1元3只,要求用100元刚好买100只鸡,问有多少种采购方案。

7、判断一个字符串是否是回文,例如“rotor“反转之后还是”rotor“,所以是回文。

需查阅String类的一些方法。

8、求2-1000内的所有素数

9、在一个循环中使用break,continue和return有什么不同?

10、结构化程序设计有哪三种流程?

他们分别对应Java中那些语句

第四章习题及思考题

1.什么是类?

什么是对象?

对象和类是什么关系?

 2、什么是方法?

方法的结构是怎样的?

设计方法应考虑哪些因素?

3.创建一个有两个方法的类,其中第一个方法两次调用第二个方法,第一次不使用this,第二个使用this。

 

4、创建一个类,该类还有int和char类型的成员变量且未被初始化,然后编程输出这些成员变量的值,查看java是否执行了默认的初始化操作。

 

5、创建一个类,该类含有的成员变量和成员方法,创建一个该类的对象,察看当时图访问这些成员时,编译程序会给出那些信息(注意:

在同一目录下的类都属于一个默认的包)。

6、下面给出了一个矩形类Rectangle,其中含有多个构造方法。

上机编译并运行此程序,观察运行结果,体会其中不同构造方法的设计和使用。

importjava.io.*;

 

classRectangle//矩形类

{

privateintwidth;//矩形的宽度

privateintlength;//矩形的长度

Rectangle()//矩形的不带参数的构造函数,缺省的给出长(30)和宽(20)

{

length=30;width=20;

}

Rectangle(intl,intw)//矩形的带参数的构造函数

{

length=l;width=w;

}

Rectangle(Rectangler)//此构造方法以另一个Rectangle作为参数

{

width=r.width();//通过对象调用函数并附值给相应变量

length=r.length();

}

intwidth()//返回宽度

{

returnwidth;

}

intlength()//返回长度

{

returnlength;

}

}

 

publicclassCRctngle

{

publicstaticvoidmain(Stringargs[])

{

Rectanglex1=newRectangle();//声明类的对象并实例化

Rectanglex2=newRectangle(50,40);//声明类的对象并初始化

Rectanglex3=newRectangle(x1);

System.out.println(x1.length());

System.out.println(x1.width());

System.out.println(x2.length());

System.out.println(x2.width());

System.out.println(x3.length());

System.out.println(x3.width());

}

}

运行结果:

30

20

50

40

30

20

7、下面给出了一个计算阶乘的类Fact和使用该类计算阶乘的程序Check1。

编译并运行该程序,观察运行结果,体会方法的参数的传递和返回值的用法。

在调用时改变参数的个数和类型,看看编译时会得到什么信息。

classFact

{

floatfact(intn)//定义计算n!

的方法

{

inti;

floatx=1;

for(i=1;i

x=x*n;

returnx;

}

}

publicclassCheck1

{

publicstaticvoidmain(Stringargs[])

{

Factx=newFact();

System.out.println(x.fact(10));//计算10!

System.out.println(x.fact(15));//计算15!

}

}

运行结果:

1.0E9

2.E16

8、编译并运行下面的程序,观察分析运行结果,体会程序中super和this的用法,进一步理解变量隐藏和方法重写的概念。

importjava.io.*;

classSuperClss//定义父类

{

intx;

SuperClss()//父类的构造方法

{

x=10;

}

voiddoClss()

{

System.out.println("SuperClss.doClass()");

}

}

classSubClssextendsSuperClss//定义子类

{

intx;

SubClss()//子类的构造方法

{

super();//调用父类的构造方法

x=100;

}

voiddoClss()//重写父类的doClss方法

{

System.out.println("SubClss.doClss()");

}

voiddoDemo()//演示super和this的方法

{

intx;

x=1000;

super.doClss();//调用父类的doClss方法

doClss();//调用本类的doClss方法

System.out.println("super.x="+super.x);//父类的x

System.out.println("this.x="+this.x);//本类的x

System.out.println("x="+x);//本方法的x

}

}

publicclassSuperDemo

{

publicstaticvoidmain(Stringargs[])//主方法

{

SubClsss=newSubClss();

s.doDemo();

}

}

运行结果:

SuperClss.doClass()

SubClss.doClss()

super.x=10

this.x=100

x=1000

9、编译并运行下面的程序,分析运行结果,体会其中方法重载的用法,进一步理解方法重载的概念。

classFather      //本类中的speak方法重载了两次

{

 voidspeak()    //无参数的speak方法

 {

  System.out.println(″IamFather!

″);

 }

 voidspeak(Strings)       //有参数的speak方法

System.out.println(″Ilike″+″″+s+″.″);

 }

}

publicclassOverLoadingDemo

{

 publicstaticvoidmain(Stringargs[])

 {

  Fatherx=newFather();

  x.speak();               //调用无参的speak方法

  x.speak(″music″)       //调用有参的speak方法

 }       

}

运行结果:

IamFather!

Ilikemusic.

第五章习题及思考题

1、什么是继承?

什么是父类?

什么是子类?

继承的特性可给面向对象编程带来

什么好处?

什么是单重继承?

什么是多重继承?

2、“子类的域和方法的数目一定大于等于父类的域和方法的数目”,这种说法是否

正确?

为什么?

3、什么是方法的覆盖?

方法的覆盖与域的隐藏有何不同?

与方法的重载有何不同?

4、什么是多态?

面向对象程序设计为什么要引人多态的特性?

使用多态有什么优点?

5、父类对象与子类对象相互转化的条件是什么?

如何实现它们的相互转化?

6、什么是包?

它的作用是什么?

7、CLASSPATH是有关什么的环境变量?

它如何影响程序的运行?

如何设置

和修改这个环境变量?

8、一个类如何实现接口?

实现某接口的类是否一定要重载该接口中的所有抽象方法?

9、为某研究所编写一个通用程序,用来计算每一种交通工具运行1000公里所需的时间,已知每种交通工具的参数都是3个整数A、B、C的表达式。

现有两种工具:

Car007和Plane,其中Car007的速度运算公式为:

A*B/C,Plane的速度运算公式为:

A+B+C。

需要编写三类:

ComputeTime.java,Plane.java,Car007.java和接口Common.java,要求在未来如果增加第3种交通工具的时候,不必修改以前的任何程序,只需要编写新的交通工具的程序。

其运行过程如下,从命令行输入ComputeTime的四个参数,第一个是交通工具的类型,第二、三、四个参数分别时整数A、B、C,举例如下:

  计算Plane的时间:

"javaComputeTimePlane203040"

  计算Car007的时间:

"javaComputeTimeCar007233445"

  如果第3种交通工具为Ship,则只需要编写Ship.java,运行时输入:

"javaComputeTimeShip223344"

  提示:

充分利用接口的概念,接口对象充当参数。

  实例化一个对象的另外一种办法:

Class.forName(str).newInstance();例如需要实例化一个Plane对象的话,则只要调用Class.forName("Plane").newInstance()便可。

10、编写求解几何图形(如直线、三角形,矩型,圆,多边型)的周长,面积的应用程序,要求用到继承和接口等技术。

第六章习题及思考题

a)找出以下有问题的代码

pulicintsearchAccount(int[25]number){

number=newint[15];

for(inti=0;i

number[i]=number[i-1]+number[i+1];

returnnumber;

}

2、将一个字符串中的小写字母变成大写字母,并将大写字母变成小写字母.

3、求若干个数的平均数,若干个数从键盘输入.

4、将一个字符串数组按字典序重新排列.

5、编写应用程序,分析字符串,分别输出字符串的单词,并统计出单词个数.

6、使用java.lang包中System类的静态方法arraycopy可以实现数组的快速拷贝

7、运行下面程序,给出结果

publicclassExample4{

publicstaticvoidmain(Stringargs[]){

byted[]="你我他".getBytes();

System.out.println("数组d的长度是(一个汉字占两个字节):

"+d.length);

Strings=newString(d,0,2);

System.out.println(s);

}

}

第七章习题及思考题

1、编写判断某年是否是闰年的Java程序。

2、已知f(n)公式如下:

f

(1)=f

(2)=1当n=1,2

f(n)=f(n-1)+f(n-2)当n>=3

计算f(28)的结果,并测试计算该公式所花的时间数。

(提示:

可以用System类的静态方法publiclongcurrentTimeMillis()获取系统当前时间,也可以根据currentTimeMillis()方法得到的数字,用Date的构造方法)

解:

3、利用Vector类,实现一个先进先出队列。

4、将从小到大的素数30个放入数组中。

5、编写生成100个1-6之间的随机数,统计1—6每个出现的概率。

6、在所有的Java系统类中,Object类有什么特殊之处?

它在什么情况下使用?

7、试列举你使用过的数据类型类,数据类型类与基本数据类型有什么关系?

8Math类用来实现什么功能?

设x,y是整型变量,d是双精度型变量,试书写表

达式完成下面的操作:

(1)求x的y次方。

(2)求x和y的最小值。

(3)求d取整后的结果。

(4)求d四舍五人后的结果。

(5)求atan(d)的数值。

9、向量与数组有何不同?

它们分别适合于什么场合?

10、什么是排序?

你了解几种排序算法?

它们各自有什么优缺点?

分别适合在什么情况下使用?

第八章习题及思考题

1. 什么是异常?

简述Java的异常处理机制。

2.系统定义的异常与用户自定义的异常有何不同?

如何使用这两类异常?

3.输入并运行下面的程序:

4.编写从键盘读入10个字符放入一个字符数组,并在屏幕上显示它们的程序。

请处理数组越界异常.

第九章习题及思考题

1、编一个应用程序,按行顺序地读取一个可读文件的内容。

2、把Hashtable存放的信息输出到磁盘文件中,并再从中读进Hashtable.

3、利用StringBuffer类编写从键盘读入字符串、整数、实型数,并在屏幕上输出。

4、什么叫流?

简述流的分类?

5、编写一个测试文件一般属性(如显示文件的路径、绝对路径、显示文件是否可写、显示文件是否可读、显示文件的大小等属性)的程序。

6、利用RandomAccessFile类编写应用程序,要求输入10组数据到文件中,每组数据为1个整形数和一个双精度数,然后随机修改文件的某组数,并显示修改的结果。

7、将如下三组不同类型的数据利用DataInputStream和DataOutputStream写入文件,然后从文件中读出。

三组数据如下

{19.99,9.99,15.99,3.99,4.99};

{12,8,13,29,50};

{"JavaT-shirt","JavaMug","DukeJugglingDolls","JavaPin","JavaKeyChain"}

8、利用BufferedReader和BufferedWriter在文件中实现输入输出字符串。

9、什么是过滤流,并举例

10、什么是串行化,并举例

第十章习题及思考题

1.什么是线程?

它产生的背景是什么?

线程有几种状态?

说明状态变化调用的方法。

 

2、实现两个定时线程,一个线程每隔1秒显示一次,一个线程每隔3秒显示一次。

3、创建两个线程,每个线程打印出线程名字后再睡眠,给其它线程以执行的机会,主线程也要打印出线程名字后再睡眠,每个线程前后共睡眠5次。

要求分别采用从Thread中继承和实现Runnable接口两种方式来实现程序。

(即写两个程序)

  

第十一章习题及思考题

1、什么是AWT,什么是Swing?

2、AWT中包含了那些常用的组件,有什么用途?

3、什么是事件?

什么是委托事件处理模型?

4、编程包含一个标签和一个按钮,单击按钮时,标签的内容在"你好"和"再见"之间切换。

5、编程包含一个复选按钮和一个普通按钮,复选按钮选中时,普通按钮的背景色为青色,未选中时为灰色。

6、编程包含一个下拉列表和一个按钮,下拉列表中有10、14、18三个选项。

选择10时,按钮中文字的字号为10,选择14时,按钮中文字的字号为14,选择18时,按钮中文字的字号为18。

7、编程包含一个列表和两个标签,在第一个标签中显示列表中被双击的选项的内容,在第二个标签中显示列表中被选中的所有选项的内容。

8、编程确定当前鼠标的位置坐标。

9、编程创建一个Frame,实现窗口的监听器接口。

10、使用组件,制作一元二次方程求根的系统。

要求:

(1)      一元二次方程三个系数a,b,c输入界面

(2)      显示检查b*b-4*a*c的值

(3)      显示求出的根

第十二章习题及思考题

1. 以在屏幕上显示“您好!

”为例,简述Java小应用程序Applet的开发的步骤。

2、浏览器采取哪些办法,保证Applet安全运行。

3、实现一个Applet,使其可以用用三个按钮控制:

  

(1)从服务器下载音乐播放

  

(2)不停地运行一个动画;

使上述动画和音乐协调播放。

第十三章习题及思考题

1.如何建立数据库的连接?

2、有哪写方法可以发送访问、操作数据库的SQL语句?

3.如何处理对数据库访问操作的结果?

4、如何获得关于数据库的信息?

 

第十四章习题及思考题

1.组建模型提供哪些服务?

2.简单回答JavaBean的5个特性?

3.JavaBean属性类型?

4.编写一个表示银行账户的JavaBean,名称叫AccountBean,分别设计一个绑定属性和限制属性;取款时,如果账户余额不足,不能取款;存款时,自动通知用户现在新的存款余额。

第十五章习题及思考题

1.套接口作用是什么?

端口有什么意义?

2.什么是URL?

一个URL由哪此部分组成?

3.编程读出中国矿业大学主页的html文件,判断主页的html文件有无关于“教学改革”的内容。

上面的程序中用到了哪些有关URL操作的方法?

各起什么作用?

中国矿业大学URL为:

.

4、顾客和服务者通过套接口通讯,描述基于有连接和无连接通讯时的流程图。

5、利用Java网络包java.io中套接口类Socket和服务者套接口类(ServerSocket)分别实现有连接和无连接的通讯。

第十六章习题及思考题

1.(简答题)简单回答对计算机系统的攻击方法?

2.什么是对称密码技术和非对称密码技术?

3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2