您的位置 首页 java

面向对象程序设计java试题

1、概念类

(1)请你简述 Java 语言中最重要的概念:类和对象。(java语言又被称为面向对象的程序设计语言,其中最重要的概念就是类和对象。请你简述java语言中类和对象的概念,并用实例说明之。) P37 P45

答:类和对象是面向对象编程中最核心概念。Java的基本单元是类。源程序是由若干个类组成的,类是对一类事物的描述,因而是抽象概念的定义,而对象是实际存在的该类事物的一个个体。例:“人”是个类,“王二”是个对象,它具有黄皮肤、黑眼睛、两条腿。通过类来创建一个对象,创建对象的过程即类实例化的过程类似女娲造人的故事。

(2)什么叫成员变量、 局部变量 ,二者的区别是什么? P39

答:类体属性部分定义的变量称为成员变量;方法体内定义的变量成为局部变量。

成员变量在整个类内都有效,局部变量只在定义它的方法体内有效。

(3)说说java诞生的故事。 P1

答:工程师们打算自己开发一种简单的、现代的新语言。这种语言肩负有简单、跨平台、安全性强的使命,一开始,想用oak去注册商标,发现已被占用,后来边喝咖啡边讨论,干脆就叫Java好了,希望全世界的人都能像享受咖啡一样享受Java带来的美好生活。

(4)java编程语言的优秀品质有哪些? P3

答:①简单易用:c语言有复杂的指针和易出错的内存管理,而Java只有48个关键字。

②面向对象:符合人的思维模式,从而更容易掌握和分析问题,用其写出的程序易理解、更健壮。

③安全:Java平台的基本语言和库扩展都提供了用于编写安全应用程序的极佳基础。

④多线程:交互响应和实时性,大大提高了运行的效率和处理能力。

(5)java如何实现,在不同电脑,不同平台,不同设备都能运行的? P2

答:传统软件与具体的操作系统平台相关,一旦环境发生变化就需要对软件做很多改动,而Java编写的软件能在Java虚拟机上兼容。只要提供java运行环境,就能在其运行,Java程序可以运行在所有支持JVM的电子设备上。

(6 )请你简述java炸鱼小游戏的开发思路。(自己组织语言)

答:先设计背景图片,让鱼从两边移动,而船和人在鱼的上面,当炸弹落到鱼图片的范围内,鱼则消失,发出声响,分数增加,分数增加到一定程度,关卡升级,控制船左右来回运动,不断repaint.

(7)请写出在java语言的 Applet 类中使用键盘,使用鼠标的具体步骤。 P89-90

答:在事件处理时:①事件源:事件源会向注册的所有对象发出一个通过;

②监视器:通过调用相应的方法将某个对象作为自己的监视对象;

③处理事件的接口:对于鼠标事件,接口是Mouselistener,有5个实现方法:

鼠标键按下、释放,鼠标进入、退出、单击。

(8)Java基本语法包括哪些内容?请说出标识符的概念。(第二章) P17

答:标识符、关键字、基本数据类型、数组和字符串、运算符和表达式、语句、注释。

概念:用来标志类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。

(9)java语言标识符的命名规定,以及类和对象的命名惯例是什么? P17 P39

①类:每个单词的首字母大写;

②方法名、变量:第一个首字母小写,其他首字母大写;

③所有字母大写,单词之间用下划线分开。

(10)请你简述计算机中进程、线程的概念与作用?

答:一个应用程序从启动到停止,可以看成电脑cpu执行人类交给它的一系列任务的过程,即进程。

把人类交给电脑的一系列任务,划分为一条一条像线一样的任务流,即线程。

(11)java语言的访问权限指的是什么?请你用一张示意图,来说明java语言中四种访问权限的区别。

(12)java语言提供了几种方式来实现多线程?哪一种方式更加常用?为什么? P245 P248

答:Java提供了两种方式来实现多线程,Runnable更常用,因Java的类型规定只能继承一个类,所以有些时候已经继承了其他类时,比如已经继承了Applet类,那么就不能继承Thread类。

判断题:在java语言中,你新建的类可以继承两个父类的属性。(×)

(13)java网络通信:

问题1:如何查看你的电脑IP地址?

方法一:使用win7的“网络和共享中心”功能。

方法二:使用cmd命令行运行ipconfig-all命令。

问题2:请你简述 Socket 通信的原理? P257

答:Socket是实现客户机与服务器进行通信的一种机制。在客户机和服务器中,分别创建独立的Socket,并通过Socket的属性,将两个Socket进行连接,就可以通信了。

(14)请你画一张示意图来解释socket通信的过程?

(即:请根据课程所学知识,用一张示意图配合文字说明socket网络通讯的工作原理和具体实现的四个步骤。)

代码解析:考查形式:给出java小程序的代码,请你写出中文解释。

1、下面是我们用java语言开发的小人在草地上走动的Applet应用程序主要代码,请你在程序语句后面,解释每一条java语句的作用。

package study; __创建名为study的包__

import java.applet.Applet; __提供创建applet所需的类和applet用来与其applet上下文通信的类

public class Game extends Applet___ _ 定义一个公共类_名为Game继承Applet____

{

Image caodi,js; _定义图片 caodi,js_

int x=300; __定义一个变量 x=300__

public void init()__初始化函数___

{

try{

caodi=getImage(new java.net.URL(“file:///E:/”),”caodi.jpg”);

js=getImage(new java.net.URL(“file:///E:/”),”js.gif”);

} ___获取在e盘路径下:caodi图片赋值给caidi;_js图片赋值给js__

catch (Exception e) { e.printStackTrace(); }

_打印出错的地方_

}

public void paint(Graphics g) ___执行一个公共类参数类型为Graphics ,对象为g的画板_

{

g.drawImage(caodi, 0, 0, this); __画caodi左上角坐标(0,0)___

g.drawImage(js, x, 0, this); __画js坐标(x,0)___

try{ Thread.sleep(50); 画图线程休息50ms___

x=x-10; } _向右移动10个单位___

catch(Exception e){ e.printStackTrace(); }___打印出错的地方_____

repaint(); ____重新画图,刷新画面___

}

}

3、编程类。

简单的语句应用: if、while、for、switch语句,变量、数组的使用。

1、甲、乙、丙、丁、小明、老王 的身高分别为:158、193、174、165、169、177

请你用java语言找出最高身高和最矮身高。并计算平均身高。

publicclass Shengao

{ //shuzu[0] shuzu[5]

staticintshuzu[] = { 158 ,193,174,165,169,177 };

publicstaticvoid main(String[] args)

{

int i,zuigao=0; float zonghe=0;

for( i=0;i<6;i++) //此处没有分号

{

zonghe=zonghe+ shuzu[i];

if( zuigao<shuzu[i] )

zuigao=shuzu[i];

}

float pingjun = zonghe/6 ;

System .out.println(“平均身高是:”+pingjun);

System.out.println(“最高身高是:”+zuigao);

}

}

2、请你用java语言计算出500以内,所有除以7余1的数的总和。

int i , zonghe ;

例子: for(i=0;i<=500;i++) for(循环变量初值; 循环变量终值; 让循环变量向终值变化) { 循环体; }

{

if( i%7==1 )

zonghe=zonghe+i;

} System.out.print(“500以内除7余1数的总和为:”+zonghe);

3、有5个数:1,7,4,11,13存在数组中,请你用while循环语句,求出它们的平方和,并求出数组最后一个数的开方,并输出到屏幕上。

int shuzu[]={1,7,4,11,13};

shuzu[0] — shuzu[4]

for( i=0;i<5;i++) //此处没有分号

{

zonghe=zonghe+ shuzu[i]*shuzu[i];

}

开方函数sqrt( X ) Math数学库

例如计算9的开方: Math.sqrt(9);

4、根据课本45页梯形类,50页练习2矩形类的案例代码,请你编写三角形类的类定义代码,并使用类生成两个三角形:

三角形1:底边:16.8,高:7.6

三角形2:底边:9.5,高:6.9

编写三角形面积计算函数,最后将两个三角形的面积输出给用户看。

package bao; //声明你的类是存放在bao这个包里面的

class SanjiaoXing //类定义

{

float Di,gao; //定义浮点型变量,分别为三角形的底和高

SanjiaoXing( float x , float h )//定义类的构造函数

{

Di=x; //参数传递,第一个参数传递给底

gao=h;//参数传递,第二个参数传递给高

}

}

public class SanjiaoXingExample //定义主类

{

public static void main(String[] args) //定义主函数main(),通常java程序都是从main()函数开始执行的

{

SanjiaoXing tx1; //用三角形类定义对象tx1

tx1 = new SanjiaoXing( 16.8f , 7.6f ); //使用类的构造函数创建出对象

SanjiaoXing tx2;

tx2 = new SanjiaoXing( 9.5f , 6.9f );

System.out.println( “三角形1的面积是:”+ mianji(tx1) );//使用系统输出函数在电脑屏幕上输出文字和面积计算结果

System.out.println( “三角形2的面积是:”+ mianji(tx2) );

}

static float mianji(SanjiaoXing t) //求三角形面积的函数

{

float mianji = (t.Di * t.gao /2; //三角形面积公式: 底*高/2

return mianji;//把计算机过传回到调用函数的地方

}

}

5、请你用java语言计算出100以内,所有能整除3,但不能整除5的数,输出到屏幕。

请你用java语言计算出100-200以内,所有尾数是1,或者尾数是7的数,输出到屏幕。

for(i=0;i<=100;i++)

{

if( i%3==0 && i%5!=0 )

System.out.println(“这个数为:”+i);

}

for(i=0;i>=100&&i<=200;i++)

{

if( i%10==1 || i%10==7 )

System.out.println(“这个数为:”+i);

}

6、请用java语言编写一个类,类名为Study,实现以下三个功能:在屏幕上输出文字:“欢迎来到java学习的世界!”,计算出1x2x3x4x5。。。x19x20的结果并输出到屏幕,比较两个数a和b,判断两个数的大小并把判断结果(如:a比b大,ab相等,a比b小)显示给用户看。

System.out.println(“欢迎来到java学习的世界!”);

int chengji = 1 ;

for(i=0;i<=20;i++)

{

chengji=chengji*i;

} System.out.println(“乘积为:”+chengji);

if(a>b) System.out.println(“a比b大”);

else if(a==b) System.out.println(“ab相等”);

else if(a<b) System.out.println(“a比b小”);

文章来源:智云一二三科技

文章标题:面向对象程序设计java试题

文章地址:https://www.zhihuclub.com/176580.shtml

关于作者: 智云科技

热门文章

网站地图