在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。那么我们该如何写一篇较为完美的范文呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。
Java面向对象程序设计题库篇一
oriented object programming in java 编号: 08065121
适用专业:计算机科学与技术、网络工程 学时数:32 学分数:2 执笔者:田小玲 编写日期:2009年11月
一、课程的性质和目的
本课程是为计算机科学与技术以及网络工程专业本科生开设的专业选修课,是一门面向对象的编程语言,通过本课程的学习,培养和提高学生面向对象程序设计的能力和java语言在web开发中的应用能力。
二、课程教学内容
第一章 面向对象软件开发概述(2学时)1.内容
面向对象问题求解的提出、面向对象问题求解的概述、对象、类与实体、对象的属性与相互关系、面向对象的软件开发过程、面向对象程序设计方法的优点、开发环境设置及开发工具简介。
2.要求
(1)了解:面向对象软件开发概述,面向对象的软件开发过程及面向对象程序设计 方法的优点。
(2)掌握:对象的属性与相互关系,对象、类与实体的基本概念。(3)熟练掌握:开发环境设置及开发工具简介(补充)。3.重点
对象、类与实体的基本概念。
4.难点
面向对象程序设计方法的理解。第二章 java概述(2学时)1.内容
java语言的特点、java虚拟机及垃圾回收机制、jdk目录结构、java 的api结构及java程序结构、第一个java application程序、第一个java applet程序、图形界面的输入输出、字符界面的输入输出。
2.要求
(1)了解:java语言的发展历史及特点,java application程序及java applet程 序,图形界面的输入输出,字符界面的输入输出。
(2)掌握:java语言实现机制(补充),java体系结构(补充)。(3)熟练掌握:java application程序的结构。3.重点
java application程序的结构。
4.难点
java语言实现机制。
第三章 java语言基础(2学时)1.内容
数据类型、变量与常量、表达式、流程控制语句。2.要求
(1)了解:java语言的发展。
(2)掌握:数据类型、变量与常量的定义及使用。(3)熟练掌握:表达式的使用,流程控制语句。3.重点
表达式的使用,流程控制语句。
4.难点
流程控制语句的运用。
第四章 抽象、封装与类(6学时)
1.内容
抽象与封装、java的类、类的修饰符、域、方法、访问控制符。2.要求
(1)了解:抽象、封装概念,系统定义的类。
(2)掌握:类的修饰符(abstract和final),域(包括静态域、静态初始化器、最终域和易失域),方法(包括抽象方法、静态方法、最终方法)。
(3)熟练掌握:用户程序自定义类及创建对象与定义构造函数,访问控制符(包括public、缺省访问控制符、private、protected)的运用。
3.重点
自定义类、创建对象与定义构造函数。
4.难点
四种访问控制符的运用。第五章 继承与多态(4学时)1.内容
java的继承、多态、java的重载、构造函数的继承与重载、包及接口的概念。2.要求
(1)了解:继承及多态的概念,java接口的概念。(2)掌握:java的方法重载,包的创建及引用。(3)熟练掌握:构造函数的继承与重载。
3.重点
方法的重载、类的继承。4.难点
属性的隐藏、方法的覆盖。第六章 工具类与算法(2学时)
1.内容
语言基础类库(包括object类、数据类型类、math类及system类)、applet类与applet小程序、数组。
2.要求
(1)了解:applet类与applet小程序。(2)掌握:java语言基础类库。(3)熟练掌握:数组的声明及初始化。3.重点
数组的声明及初始化、数组的应用。4.难点
编写applet小程序。
第七章 图形用户界面的设计与实现(8学时)
1.内容
图形用户界面概述、gui标准组件概述及布局设计、java的事件处理机制。2.要求
(1)了解:图形界面组件之间的层次关系、容器的概念和作用。(2)掌握:图形用户界面程序的基本结构。(3)熟练掌握:事件监听机制。3.重点
图形用户界面程序的基本结构。4.难点
java的事件处理机制。
第八章 java高级编程(6学时)
1.内容
异常处理、java多线程机制、swing gui 组件、流式输入输出与文件处理、用java实现底层网络通信、java程序对网上资源的访问。
2.要求
(1)了解:例外的概念、java中线程的基本概念、java的线程类与runnable接口及如何在程序中实现多线程、java输入输出类库及文件的处理与随机访问、使用java实现底层网络通信、java程序对网上资源的访问。
3(2)掌握:例外处理机制。
(3)熟练掌握:swing gui组件的运用。3.重点
例外处理机制、swing gui组件的创建。
4.难点
自定义异常类。
三、课程教学的基本要求
课程教学的基本要求包含三项:上机环节、作业要求、考试方式。1.上机环节
根据课堂讲授的理论,并结合上机操作让学生及时掌握每章节所学的知识,通过实操可加深学生对面向对象程序设计的思想及java程序设计的领会。
2.作业要求
(1)作业要求:独立思考完成、书写工整、按时交(2)作业量:每次课均布置作业,作业量约2~3题(3)总作业量:约30~40道题 3.考试方式
(1)考试方式:闭卷笔试(2)评定成绩要求:
总成绩=平时成绩×30%+考试成绩×70%
四、本课程与其它课程的联系与分工
1.前期课程:
程序设计基础、计算机网络、c语言程序设计、c++程序设计 2.后续课程:
软件工程、web应用程序开发
五、建议教材与教学参考书
[1] 印旻.《java语言与面向对象程序设计》,清华大学出版社 [2] 於东军,杨静宇.《java程序设计与应用开发》,清华大学出版社 [3] 辛运帏.《java程序设计》,清华大学出版社 [4] 姜刚.《java语言程序设计》,人民邮电出版社 [5] 阎菲.《java程序设计教程》,中国水利水电出版社
Java面向对象程序设计题库篇二
java面向对象程序设计课程教学大纲
object-oriented programming with java syllabus
课程名称 课程类别 建设单位/教研室 前后课程 适用专业、层次 java面向对象程序设课程英文名object-oriented programming with java 计 称 专业必修课 学分/学时 4.0/42+42 计算机系/软件工程教研室 考核方式 考试 c语言程序设计
软件工程、计算机科学与技术、网络工程
upon completion of this course, students should master the basic knowledge of java language, understand and grasp the basic object-oriented programming design ideas and skillfully use java language to write, compile and debug would lay a good foundation for students on independently finish the work of program development with java in the future.教学目的
the emphasis: origin of java, why should we learn java language, java cross-platform principle analysis(jvm)and java environment variable and expressions: including character strings, variables and assignment, primitive data types, expressions, data conversion, interactive ed object programming ideas: including class, object, variables, methods, encapsulation, inheritance, polymorphism, interface and so statements: including conditionals and loops : declaring and using one-dimensional arrays and two-dimensional ions: including exception handling, uncaught exceptions, and try-catch statement and so : including event handling and graphics user difficulty:
object-oriented concept and idea, establishing application model and algorithm of description, the algorithm optimization of program and so on.教材和主要参考资料: text and references text :
john lewis “java程序设计教程(第六版)英文版” 电子工业出版社 isbn-978-7-121-08808-7 references:
1.《java编程思想(英文版 第3版)》,(美)bruce eckel编,机械工业出版社出版社; 程序设计基础》,(美)gary n编, 赵德奎 林仕平译,北京大学出版社。
ann, gary 2核心技术 卷i:基础知识.机械工业出版社, ann, gary 2核心技术 卷ii:高级特性.机械工业出版社, 2001.教学内容 学时 基本要求
按章、节具体列出
教学内容 topic 具体列出教学的基本要求,如了解、理解、掌握及应用等。
by the end of chapter ,students should understand chapter 1 introduction
chapter 2 data and expressionschapter 3 using classes and objects chapter 4 writing classes 3+3 to be able to have a fundamental understanding of software role in a computer system. to know components of a computer to understand how those components interact to grasp how computers store and manipulate information to know how computers are connected into networks to share information. to profile programming and programming languages to profile an introduction to java to grasp object-oriented concepts 3+6 explore some of the basic types of data used in a java program and the use of expressions to perform calculations. to understand character strings, concatenation, and escape sequences. to grasp the declaration and use of variables. to be familiar with java primitive data types. to understand expressions and operator precedence. to grasp the syntax and processing of expressions. to understand the types of data conversions and the mechanisms for
accomplishing them. to know how to create interactive programs. to understand the basic graphic concepts and the techniques for drawing
shapes. to know the concept of a java applet.4+4 use the predefined classes in the java class library that are provided to us to make the process of writing programs easier. to grasp the creation of objects and the use of object reference variables. to be familiar with the services provided by the string class. to know how the java standard class library is organized into packages. to be familiar with the services provided by the random and math class. to grasp ways to format output using the numberformat and decimalformat
classes. to be familiar with enumerated types. to understand wrapper classes and the concept of autoboxing. to understand components and containers used in graphics user interfaces. to know a label component and the use of images.6+6 we've been using predefined we will learn to write our own classes to define objects. to grasp the structure and content of a class definition. to understand the concept of object state using instance data. to know the effect of visibility modifiers on methods and data. to grasp the structure of a method definition, including parameters and return
values. to grasp the structure and purpose of a constructor. to grasp the creation of graphical objects. to understand the concepts needed to create an interactive graphical user
r 5 conditionals and loops
chapter 6 object-oriented design
chapter 7 arrays
chapter 8 inheritance to know some basic gui components and events.4+4 now we will examine programming statements that allow us to make decisions and repeat processing steps in a loop. to know the flow of control through a method. to understand boolean expressions that can be used to make decisions. to grasp to perform basic decision making using if and switch statements. to understand issues pertaining to the comparison of certain types of data. to grasp familiarly to execute statements repetitively using while, do, and for
loops. to understand the concept of an iterator object and use one to read a text file. to know how to draw with the aid of conditionals and loops. to know more gui components and events.4+4 now we can extend our discussion of the design of classes and objects to know key issues related to the design of object-oriented software. to techniques for identifying the classes and objects needed in a program. to understand the relationships among classes. to understand the effect on the static modifier on methods and data. to grasp the creation of a formal object interface. further grasp the definition of enumerated type classes. to grasp issues related to the design of methods, including method
overloading. to know issues related to the design of graphics user interface, including
layout managers.6+3 arrays are objects that help us organize large amounts of information define and use arrays for basic data organization. to know bounds checking and techniques for managing capacity. to learn to compare the issues related to arrays as objects and arrays of
objects. to grasp the use of command-line arguments. to grasp the syntax and use of variable-length parameter lists. to be familiar with the creation and use of multidimensional arrays. to be familiar with the arraylist class and its generic parameter. to know more mouse and keyboard events.6+6 inheritance is a fundamental object-oriented design technique used to create and organize reusable classes. to know the derivation of new classes from existing ones. to understand the concept and purpose of method overriding. to grasp the design of class hierarchies. to grasp the issue of visibility as it relates to inheritance. to have the ability to derive on interface from another. to grasp object-oriented design in the context of inheritance. to know the inheritance structure for gui components. to explore the creation of listeners by extending adaptor r 9 polymorphism 3+3 chapter 10 exceptions 3+3 有关说明:
拟稿(签名):谢彦麒 polymorphism is an object-oriented concept that allows us to create versatile software designs to understand polymorphism and explore its benefits. to understand the concept of dynamic binding. to grasp to use inheritance relationships to create polymorphic references. to grasp to use interfaces to create polymorphic references. to grasp sorting and searching using polymorphic implementations. to be familiar with object-oriented design in the context of polymorphism. to know the processing of events as an example of polymorphism. to know more gui ion handling is an important aspect of object-oriented design to know the purpose of exceptions. to know exception messages and the call stack trace.
to be familiar with the usage of the try-catch statement for handling exception. to understand the concept of exception propagation.
to be familiar with the exception class hierarchy in the java standard class library. to be familiar with i/o exception and the ability to write text files. to know how to create gui using mnemonics and tool tips.
to know additional gui components and containers.核稿(签名): 审批(签名): 年 月 日
Java面向对象程序设计题库篇三
第一章:抽象和封装
1,为什么使用面向对象
1.1:万事万物皆对象,面向对象就是采用“现实模拟”的方法设计和开发程序。
2,使用面向对象进行设计
2.1:面向对象设计三部曲
1,发现类。
2,发现类的属性。
3,发现类的方法。
经验:在需求中找出名词的方式确定类和属性,找出动词的方式确定方法。
3,创建类的对象
1,通过构造方法来创建对象
2,通过对象名.属性名的方式调用属性。
3,通过对象名.方法名的方式调用方法。
4,static可以用来修饰属性,方法和代码块。static修饰的变
量属于这个类所有。即由这个类创建的所有对象共有同一个static变量。类属性,类方法可以通过类名和对象名访问,势力属性,实例方法只能通过对象名访问。
5,在方法里不可以定义static变量,类变量不能是局部变量。6,构造函数的重载
1,构造方法的名字和类名相同,没有返回值类型。构造
方法的作用主要就是在创建对象是执行一些初始化操作,赋值。
2,在没有给类提供任何构造方法时,系统会提供一个无
参的方法体为空的默认构造方法。一旦提供了自定义构造方法,系统将不会提供这个默认构造方法,如果要使用她,必须手动添加。
3,如果同一个类中包含了两个或两个以上方法,它们的方法名相同,方法参数个数或参数类型不同,则称该方法被重载。成员方法和构造方法都可以重载。
4,构造方法没有返回值类型。如果有,就不是构造方法,而是构造方法同名的成员方法。
5,封装
1,封装是类的三大特性之一,就是将类的状态信息隐
藏在内部。
2,封装的具体步骤:为每个属性创建一对一赋值,在赋值方法中,加入对属性的存取控制语句。
3,隐藏类的实现细节,让使用者只能通过程序员规定的方法来访问数据,可以方便地加入存取控制语句,限制不合理操作。
Java面向对象程序设计题库篇四
第一章
面向对象开发方法概述
1.面向对象的软件开发有哪些优点?
1)
把软件系统看成是各种对象的集合,这更接近人类的自然思维方式。
2)
软件需求的变动性往往是功能的变动,而功能的执行者——对象,一般不会有多大的变化,比结构化更稳定。
3)
对象包括属性和行为,对象把数据及方法的具体实现方式一起封装起来,使得方法与之相关的数据不再分析,提高了每个子系统的相对对立性,从而提高软件的可维护性。
4)
支持封装,抽象,继承和多态。提高了软件的可重用性,可维护性和可扩展性。
2.在软件系统中,为什么说一个孤立的不对外提供任何服务的对象是没有意义的?
1)
每个对象都具有特定的功能,相对于其他对象而言,它的功能就是为其他对象提供的服务。
2)
从使用者角度出发,整个软件系统就是一个服务的提供者。
3)
在系统内部,每个子系统也都是服务的提供者,它们其他子系统提供服务。
4)
因此说一个孤立的部队为提供任何服务的系统是美欧任何意义的。
3.列举一些现实生活中的例子,来说明什么是依赖关系、什么是聚集关系,以及什么是关联关系。
1)
关联关系:关联是指类之间的特定对应关系,可以分为单向关联和双向关联,也可以分为一对一关联、一对多关联以及多对多关联。a关联b,是指class a与class b之间存在特定的对应关系。举例如学生和老师,订单和客户。
2)
依赖关系:类之间的调用关系。a依赖b,class a访问class b提供的服务。如panel与shape的关系。
3)
聚集关系:是整体与部分之间的关系
4.列举一些显示生活中的例子,来说明什么是封装,什么是接口。
1)
接口:对象中所有向使用者公开的方法的声明构成了对象的接口。
2)
封装:隐藏对象的属性和实现细节,仅仅对外公开接口。
3)
接口的优点:a.提高系统之间松散耦合b.提高了系统的可扩展性。
4)
封装的有点:
a.便于使用者正确、方便地理解和使用系统,防止使用者错误修改系统的属性。
b.有助于建立各个系统之间的松耦合关系,提高系统的独立性。
c.提高软件的可重用性,没个系统都是一个相对独立的整体,可以在多种环境中得到重用。
d.降低构建大型系统的风险,即使整个系统不成功,个别的独立子系统有可能依然有价值。
5.抽象的最主要特征是什么?
抽象是指从特定角度出发,从已经存在的一些事物中抽取我们所关注的特性,形成一个新的事物的思维过程。
6.在建立对象模型时,要经历哪些抽象思维过程?
1)
从问题领域的事物到软件模型中对象的抽象。
2)
从对象到类的抽象。
3)
从子类到父类的抽象
7.类就是程序员自定义的类型。这种说法是否正确?
不正确,类是一组具有相同属性和行为的对象的抽象。类及类的关系构成了对象模型的主要内容。开发人员需要根据先识别对象,然后再进行分类(创建任意的数据模型)的思路来建立对象模型。
8.小王本来体重70kg,经过减肥,体重降到45kg,试从这个问题领域中识别对象、类、属性、状态和状态的变化。
1)
类:人。
2)
对象:小王。
3)
属性:体重。
4)
状态:70kg。
5)
状态的变化:小王的减肥行为导致体重下降。
9.在uml图中哪些框图描述了系统的动态结构,哪些框图描述了系统的静态结构?
1)
用例图、类框图、组件图、部署图构成了系统的静态模型。
2)
状态转换图、时序图、协作图则构成了系统的动态模型。
第二章
第一个java应用
1.把一个类放在包里有什么用?
答:把类分包的作用:
(1)
能够区分名字相同的类
(2)
有助于实施访问权限控制
(3)
有助于划分和组织java应用中的各个类
c文档是不是为软件的终端用户提供的使用指南?
答:不是的,javadoc文档是供java开发人员阅读的,他们通过javadoc文档来了解其他开发人员开发的类的用法。java开发人员应该养成经常阅读javadoc文档的良好习惯。
3.对于n类,使用以下命令进行编译,文件位于什么目录下?
java –d c:classes –sourcepath c:src c:
答:将会存放在c:classescomabcdollapp下。
4.对于以上编译出来的appmain类,以下哪个java命令能正确运行它?
(a)
java c:
(b)
java –classpath c:classes appmain
(c)
java –classpath c:classescomabcdollapp appmain
(d)
java –classpath c:classes n
答:(b)
5.以下哪些main()方法的声明能够作为程序的入口方法?
(a)
public static void main()
(b)
public static void main(string[] string)
(c)
public static void main(string args)
(d)
static public int main(string[] args)
(e)
static void main(string[] args)
答:(b),主函数必须以public static void形式存在,参数必须为string数组形式。
文件中,哪些程序代码能够编译通过?
(a)
import .*;package mypackage;
class myclass{};
(b)
package mypackage;
import .*;
class myclass{};
(c)
/*this is comment*/
package mypackage;
import .*;
public class myclass{};
答:(c),程序顺序必须按照import, package, class走,源文件必须以public类型的类命名。
7.对于以下myprog类,运行命令”java myprog good morning”,将会得到打印结果?
public class myprog {
public static void main(string argv[])
{
n(argv[2]);
} }
答:打印结果为空。argv[0] = “good”, argv[1] = “morning”。
8.下面哪些是java的关键字?
(a)
default
(b)
null
(c)
string
(d)
throws
(e)
long
(f)
true
答:(a),(d),(e),(f),java中所有的关键字都是小写。
9.当appmain类的main()方法创建了5个doll对象时,运行时数据区的数据如何分布的?参考2.4节的图2-13,画出此时运行时数据区的状态图。
运行时数据区(内存)
java栈区
执行main()方法的主线程的方法调用栈
局部变量beibei
局部变量jingjing
局部变量huanhuan
局部变量yingying
局部变量nini
堆区
doll实例
name:贝贝
doll实例
name:晶晶
doll实例
name:欢欢
doll实例
name:迎迎
doll实例
name:妮妮
方法区
doll类型信息
appmain类型信息
(包含main()方法信息)
10.下面哪些是合法的java标识符?
(a)
#_pound
(b)
_underscore
(c)
5interstate
(d)
interstate5
(e)
_5_
(f)
class
答:(b),(d),(e)标识符命名规则如下:
(1)
标识符首字母必须为字母、下划线“_”、美元“$”、人民币“¥”(2)
标识符由数字、大写字母、小写字母、下划线以及美元等组成
(3)
不能把关键字和保留字作为标识符
(4)
标识符没有长度的限制
(5)
标识符是大小写敏感的第三章
数据类型和变量
1.对于以下程序,运行“java abs”,将得到什么打印结果?
public class abs
{
static int a = 0x11;
//十六进制
static int b = 0011;
//八进制
static int c = 'u0011';
//十六进制数据的unicode字符编码
static int d = 011;
//八进制
/**
* @param args
*/
public static void main(string[] args)
{
n(“a=”+a);
n(“b=”+b);
n(“c=”+c);
n(“d=”+d);
} }
答:输出如下
a=17 b=9 c=17 d=9
2.以下哪段代码能正确编译通过?
(a)
char a = „a‟;
char b = 1;
char c = 08;
(b)
int a = „a‟;
(c)
long a =‟u00ff‟;
(d)
char a = „u0ff‟;
(e)
char d = “d”;
答:(b)、(c)能通过编译。(a)中“char c=08”将int赋值给char需要部分强制转换,“char c=8”就正确;(d)中unicode编码错误,java采用的是ucs-2编码,共16位;(e)字符赋值是使用单引号,字符串string赋值时才使用双引号。
3.下面哪些代码能编译通过?
(a)
short myshort=99s;
(b)
string name = „excellent tutorial mr green‟;(c)
char c = 17c;
(d)
int z = 015;
答:(d)可以编译通过。(a)中char赋值给short需要强制转换;(b)中string类型赋值用双引号;(c)中int赋值给char需要部分强制转换。
4.字符“a”的unicode字符编码为65.下面哪些代码正确定义了一个代表字符“a”的变量?
(a)
char ch=65;
(b)
char ch=‟65‟;
(c)
char ch =‟u0041‟;
(d)
char ch=‟a‟;
(e)
char ch =”a”
答:(c)、(d)可以得到”a”。(b)的输出为5,其他无法编译通过。
5.以下代码共创建了几个对象?
string s1=new string(“hello”);
string s2=new string(“hello”);
string s3=s1;
string s4=s2;
答:共创建了2个对象。栈区4个局部变量分别引用了堆区的2个实例,而2个实例又引用了工作区的同一个类。
6.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
class test {
static int myarg = 1;
public static void main(string[] args)
{
int myarg;
n(myarg);
} }
答:无法编译通过,因为局部变量myarg声明之后java虚拟机就不会自动给它初始化为默认值,若在使用前未被初始化,编译会报错。
7.对于以下程序,运行“java mystery mighty mouse”,将得到什么打印结果?
public class mystery
{
public static void main(string[] args)
{
changer c = new changer();
(args);
n(args[0]+“ ”+args[1]);
}
static class changer
{
void method(string[] s)
{
string temp = s[0];
s[0] = s[1];
s[1] = temp;
}
} }
答:打印结果为“mighty mystery”
8.对于以下程序,运行“java pass”,将得到什么打印结果?
public class pass
{
static int j = 20;
public static void main(string[] args)
{
int i=10;
pass p = new pass();
d(i);
n(“i=”+i);
n(“j=”+j);
}
public void amethod(int x)
{
x*=2;
j*=2;
} }
答:打印结果是
i=10 j=40
其中“int x”是传参,作用域仅在amethod之中。
第四章 操作符
1.以下哪些程序代码能够编译通过?
(a)
int i=0;if(i){
n(“hello”);}
(b)
boolean b1=true;
boolean b2=true;
if(b1==b2){
n(“so true”);}
(c)
int i=1;
int j=2;
if(i==1||j==i){
n(“ok”);}
(d)
int i=1;
int j=2;
if(i==1&|j==i){
n(“ok”);}
答:(b)、(c)能编译通过。(a)中int不能作为boolean出现,(d)中不能出现&|该操作符。
2.运行以下程序,将得到什么打印结果?
n(-1>>>1);
n(-1>>1);
n(2>>1);
n(1<<<1);
答:>>>是逻辑右移位操作符,也称不带符号右移位操作符,在移位的过程中二进制数开头填0;>>是右移位操作符,也称带符号右移位操作符,舍弃末尾,在开头填符号位;<<<操作符不存在;
11111111 11111111 11111111 11111111
-1>>>1
01111111 11111111 11111111 11111111
11111111 11111111 11111111 11111111
-1>>1
11111111 11111111 11111111 11111111
00000000 00000000 00000000 00000010
2>>1
00000000 00000000 00000000 00000001
2147483647-1 1
3.以下temp变量最终取值是什么?
long temp =(int)3.9;
temp %= 2;
答:取值为1。
4.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
if(5 & 7 > 0 && 5 | 2)n(“true”);
答:int型不能作为boolean型出现。
5.以下代码能否编译通过?假如编译通过,运行时将得到什么打印结果?
int output=10;
boolean b1 = false;
if((b1==true)&&((output+=10)==20)){
n(“we are equal”+output);} else {
n(“not equal!”+output);}
答:not equal!10
6.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
int output=10;
boolean b1 = false;
if((b1==true)&((output+=10)==20)){
n(“we are equal”+output);} else {
n(“not equal!”+output);}
答:not equal!20
7.对于以下声明:
string s1=new string(“hello”);
string s2=new string(“there”);
string s3=new string();
下面哪些是合法的操作?
(a)
s3=s1+s2;
(b)
s3=s1-s2;
(c)
s3=s1&s2
(d)
s3=s1&&s2
答:(a)是合法操作。除了“+”能用于字符串的连接以外,其他操作符(如“-”、“&”、“&&”等)都不支持string类型的操作元。
第五章
流程控制
1.运行以下代码,将得到什么打印结果?
int i = 3;
int j = 0;
double k = 3.2;
if(i < k)
if(i == j)
n(i);
else
n(j);
else
n(k);
答:0
2.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
int i = 4;
switch(i){
default:
n(“default”);
case 0:
n(“zero”);
break;
case 1:
n(“one”);
case 2:
n(“two”);}
答:可以编译通过,打印结果是:
default
zero
分析:default可以放在任何位置上,一旦符合一个case即从头执行到尾,不再判断case。
3.以下哪些是合法的
(a)
int i;for(i=5, int j=10;i<10;j--){}
(b)
int i,j;for(i=0, j=10;i<10, j>0;i++, j--){}
(c)
int i,k;for(i=0, k=9;(i<10 && k>0);i++, k--){}
(d)
int i,j;for(i=0;j=10;i<10;i++,j--){} 答:(a)for语句中int定义要放在开头。编译不通过。
(b)循环判断语句不可以用逗号连接。编译不通过。
(c)合法。
(d)分号只能有2个。
4.运行以下代码,将得到什么打印结果?
int i = 1;
switch(i){
default:
n(“default”);
case 0:
n(“zero”);
break;
case 1:
n(“one”);
case 2:
n(“two”);}
答:分析同1,运行结果如下:
one
two
5.以下哪些代码合法?
(a)
float x=1;
switch(x){
case 1;
n(“got a 1”);
}
(b)
long x=1;
switch(x){
case 1;
n(“got a 1”);
}
(c)
byte x=1;
switch(x){
case 1/1;
n(“got a 1”);
}
(d)
int x=1;
int c=1;
switch(c){
case x;
n(“got a 1”);}
(e)
short x=1;
switch(x){
case 3.2/2;
n(“got a 1”);
}
(f)
short x=1;
switch(x){
case 1,2,3;
n(“got a 1”);
}
答:只有(c)是合法的。
6.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
for(int a=0, b=0;a<2;b=++a, n(“b=”+b)){
n(“a=”+a);}
答:可以通过编译,打印结果:
a=0 b=1 a=1 b=2
7.以下代码能否编译通过?假如能编译通过,运行时将得到什么打印结果?
int x=0;one:
while(x<10)
{
two:
n(++x);
if(x>3)
break two;
}
答:不能通过编译。