Java编程入门(词汇表)-北京尚学堂

Java编程入门(词汇表)-北京尚学堂
Java编程入门(词汇表)-北京尚学堂

抽象类(abstract class):抽象类不能创建对象,主要用来创建子类。Java中的抽象类使用abstract 修饰符定义。

抽象数据类型(abstract data type ADT):抽象数据类型指明了可能的类型和允许进行的操作,但是没有提供实现。

访问标识符(access specifier):用于方法或变量定义,限定了哪些类可以访问该方法或变量。Java中的访问标识符有public、protected 和private。没有访问标识符修饰的方法或变量默认可见性为“package”。

活动记录(activation record):活动记录是包含了实现子程序调用必须的所有信息,包括参数值、子程序中的本地变量和子程序调用结束时计算机的返回地址。活动记录存储在栈中,使得多个子程序调用同时活跃成为可能。这对递归非常重要,递归时对同一个子程序的多个调用要求同时激活。

实参(actual parameter):子程序的参数叫做声明。当调用执行时,通过声明把值传递给自函数。实参也叫做“参数”。

地址(address):计算机内存中的每个位置都有一个地址,表示该位置的编号。内存中的位置按序号排列。在现代计算机中,内存中的每个字节都有自己的地址。在存储或读取内存信息时用需要用到地址。

算法(algorithm):完成某项任务所需要的一步一步的过程,过程本身没有歧义,且可以保证在有限的步骤内完成该任务。

阿尔法颜色组成(alpha color component):颜色组成用来描述颜色的透明度或不透明度。阿尔法组成越高,颜色越不透明。

API:应用编程接口。针对软件包或“工具箱”的接口说明。API包含了工具箱中所有类或子程序及其使用说明。

Applet:与可以单独运行的应用程序不同,Applet是一种在Web浏览器中运行在Web 页面上的Java程序。

动画(animation):由一组静态图片快速显示展示出动态效果。每一幅静态图片叫做帧。在Java中,动画通常由Timer 对象驱动。每次定时器触发时,会显示动画的下一帧。

反锯齿(antialiasing):当图形和文本以像素方式显示时,可以通过调整像素的颜色减轻“锯齿”效应。反锯齿画图时,图形只覆盖像素的一部分,图形的颜色与该像素之前的颜色混合而成。混合的程度由覆盖像素的多少决定。

数组(array):一个顺序排列的元素列表。列表中,每个元素都可以由自己的索引标识,即序号。在Java中,数组里所有元素必须类型相同,该类型也称作数组的基类型。数组是一种可随机访问的数据结构,也就是说,你可以随时直接访问数组中的任意元素。

数组类型(array type):这种数据类型的值是数组。比如类型的名字为Type,那么Type[] 就是数组类型,基类型为Type。

赋值语句(assignment statement):计算机程序中的一种语句,可以读取或计算数值,并将其存储到变量中。Java中的赋值语句形式为:变量名= 表达式。

异步事件(asynchronous event):异步事件指发生时间不可预料的事件,计算机程序无法对其控制。像点击鼠标、按键这样的用户输入事件都是异步的。

ASCII码:美国信息交换标准码。这种编码使用7个比特对字符编码。ASCII码只支持128个字符,不支持重音字符、非英语字符、特殊符号或非字符化语言的表意符号,比如中文。Java采用了容量更大、更加完整的Unicode编码处理字符。

基线条件(base case):在递归算法中,基线条件可以直接处理不需要继续递归。

二进制数(binary number):数值被编码为一组0、1序列。一般数字以“10为基数”,二进制数与其类似,只是以“2为基数”。

二叉树(binary tree):二叉树是一种链式数据结构。可以为空树,或者由两棵更小的二叉树(可能为空树)与根节点组成。根节点包含了指向两棵子树的指针。这两棵更小的二叉树被称作左子树和右子树。

比特(bit):一位二进制数,可能是0或1。

黑盒(black box):指系统或组件在使用时无需关心内部结构。黑盒包括接口和实现。在系统中,被当做组件使用的黑盒叫做模块。

块(block):在Java编程中,被花括号({})包围的一组语句称为块。(代码)块用来将一组语句组合成一条语句。块可以为空,表示不包含任何语句,即一对空的花括号。

阻塞操作(blocking operation):一个操作如果需要等待某些事件发生就称为“阻塞”操作,比如从网络连接读取数据。执行阻塞操作的线程会一直处在“阻塞”状态,直到事件发生。处于阻塞状态时,线程不能执行任何指令。而程序中的其它线程可以继续执行。

阻塞队列(blocking queue):当阻塞队列为空时,出队操作会引发阻塞,直到队列中有新成员加入。如果阻塞队列有大小限制,当队列填满时,入队操作也会引起阻塞。

自底向上设计(bottom-up design):自底向上设计是一种软件设计方法。从系统的基础组件开始设计,然后将它们组合成更复杂的组件,诸如此类。

BufferedImage类:BufferedImage类展示了“屏外画布”,即图片存储在计算机内存中,可以在屏幕外进行绘制。

分支(branch):分支是一种控制结构,计算机通过分支从2个或多个不同的执行路径中进行选择。Java有两种分支语句:if 语句和switch 语句。

字节(byte):字节是一种由8个比特组成的内存单元。一个字节可以保存8个比特二进制数。

字节码(bytecode):“Java字节码”是Java虚拟机机器语言的常用名称。Java程序会被编译成Java字节码,后者由JVM执行。

字符集(charset):字符集是一种将字符数据编码为二进制的特定编码形式。例如UTF-8和ISO-8859-1。

受检异常(checked exception):在Java中受检异常必须处理,可以通过try catch 语句捕获,或者在方法上使用throw 语句抛出该异常。如果没有用这两种方式处理受检异常,会报告语法错误。

类(class):类是Java的基础编程单元。类是静态方法、非静态方法和变量的集合。静态成员是类自身的一部分,非静态或“实例”成员是创建对象的蓝本,由此创建的对象“属于”该类。

类变量(class variable)和类方法(class methods):“静态变量”和“静态方法”的别名。它们是类的一部分,与对象无关。

客户端/服务器(client/server):一种网络通讯模式。其中,“服务器”在网络上守候某个已知地址,等待“客户端”向它发起连接请求。这是TCP/IP协议的基础通讯模型。

命令行接口(command-line interface):一种计算机交互方法。用户向计算机输入命令,计算机对每个命令进行响应。

注释(comment):在一个计算机程序中,注释是那些被计算机忽略的文本。注释的目的是方便人们阅读,帮助理解程序。

编译器(compiler):编译器是一种计算机程序,将某种计算机语言(通常是高级语言)编写的程序翻译成机器语言程序。

组件(component):组件是对GUI可视元素的泛称,包括窗口、按钮或菜单等。在Java 中,组件表现为https://www.360docs.net/doc/9315626993.html,ponent 子类创建的对象。

构造函数(constructor):类的一种特殊子程序,主要用来创建类的对象。构造函数一般使用new 操作符进行调用,通常不被看做“方法”。

容器(container):类似JPanel 这样的组件,容器可以包含其它GUI组件。调用容器的add() 方法可以向其添加组件。

方法契约(contract of a method):方法接口的语义组件。它指明了方法及其调用者的职责,如何调用该方法,以及正确调用方法时会执行的任务。方法契约应当在该方法的Javadoc注释中完整说明。

控制结构(control structure):类似if 语句、while 循环这样可影响程序控制流(即程序中指令执行顺序)的程序结构。

CPU:中央处理器。CPU是计算机中实际执行计算和运行程序的部分。

数据结构(data structure):经过组织的数据集合。在程序中被当做一个单元处理。死锁(deadlock):一种多个线程无限等待的情况。出现死锁的原因,比如每个线程都在等待其它线程锁定的资源。

默认方法(default method):Java 8 接口中的方法,该方法提供了自己的实现。所有实现带有默认方法的接口都可以使用默认实现,但是不能覆盖默认方法。通过default 保留字标记默认方法。Java 7不支持默认方法。

默认包(default package):默认包没有包名。没有在带有名字的包中声明的类都归属默认包。

明确赋值(definite assignment):在程序中,变量在使用前必须确保已经被赋值。局部变量只有在赋值后才能合法使用。为了达到这个要求,编译器必须对变量从声明开始到使用的每条路径都进行赋值检查。

弃用(deprecated):表示已经废弃,但为了先后兼容仍然保留。弃用的Java类或方法仍然是Java语言的一部分,但不建议在新代码中使用。在未来的Java版本中,弃用的内容会被移除。

对话框(dialog box):对话框是依赖其它窗体创建的新窗体。弹出对话框通常用作获取用户信息或展示消息。Swing API中,对话框表示为JDialog 创建的对象。

分布式计算(distributed computing):一种在由网络连接的多个计算机中进行的并行处理。

虚参数(dummy parameter):调用子程序时,用来代替实际传入参数的标识符。虚参数也叫“形式参数”(有时候会用“变元argument”表示实参,这时虚参数也叫做“参数”)。

enum:枚举类型。枚举类型的定义中列举了该类型所有可能值。在Java中,枚举类型是一个类,所有可能的值都是对象。

事件(event):在GUI编程中,事件指发生在程序控制以外的操作,比如点击鼠标。程序必须对发生的事件进行响应。

异常(exception):程序控制流程之外的错误或异常情况。在Java中,异常表示为Throwable 对象,可以由try..catch 语句捕捉并处理。

获取-执行周期(fetch-and-execute cycle):也称指令周期。指CPU执行机器语言程序的过程。CPU会从内存获取(即读取)指令,执行(运行)指令,然后再循环重复该过程。标志(flag):一个布尔值。设为true 时表示达到某些条件或发生了某种事情。可利用二进制数中的某个比特位作为标志。

形式参数(formal parameter):“虚拟参数”的另一种说法。

帧(frame):组成动画的某一幅画面,也是活动记录的另一种说法。

函数(function):带有返回值的子程序。

垃圾回收(garbage collection):自动回收内存的过程。被回收的内存由对象占用但已不再会对其访问。

泛型编程(generic programming):编写的代码不仅限于单一数据类型,可适应多种数据类型。Java集合框架及其它使用了相似技术的类都是泛型编程的实例。

getter方法:类中的一个实例方法,用来读取类的某个属性值。通常,属性代表一些实例变量的值。按惯例,getter方法被命名为getXyz(),其中xyz 是属性的名字。

全局变量(global variable):成员变量的别名。强调类中的成员变量可以在类方法外存在。

图形上下文(graphics context):用来绘制某些特定地点所必须得数据和方法。Java中的图形上下文是属于Graphics 类的对象。

GUI:图形用户界面是与计算机的现代交互方式。计算机通过GUI在显示器上展示类似按钮和菜单这样的接口组件,用户可以通过像鼠标点击这样的方式与之交互。

哈希表(hash table):一种优化的数据结构,可以高效搜索、插入和删除对象。哈希表包含对象的地址数组。对象存储的地址由自身的“哈希代码”决定。通过对象的内容可以高效地计算出地址整数值。

堆(heap):计算机内存中存储对象的区域。

高级语言(high level language):类似Java这样的计算机语言,方便人们阅读,但在执行前需要翻译成机器语言。

HSB:一种颜色系统。其中颜色由3个数值表示(在Java中,实际的数值在0.0到1.0之间)。分别代表色调、饱和度和亮度。

IDE:集成开发环境。带图形用户界面的编程环境,集成了创建、编辑和执行程序的各种工具。

标识符(identifier):在程序中可用作名字的一组标识符。标识符可用作变量名、方法名和类名。

索引号(index):元素在数组中的位置编号。

实现(implementation):黑盒的内部实现,比如子程序的实现代码。

不可变对象(immutable object):不可变对象构造完成后不能改变,因为实例中所有变量都标记为final。

无限循环(infinite loop):循环永远不会结束,因为它的循环条件永远判定为true。继承(inheritence):一个类可以继承另一个类。继承者会从父类继承数据和行为。

类的实例(instance of a class):指归属于类(或者该类型子类)的对象。当类用作对象模板时,对象由类中的构造函数创建的对象归属于这个类。

实例方法(instance method):类中的非静态方法,该类的所有实例都具有该方法。

实例变量(instance variable):类中的非静态变量,该类的所有实例都包含该变量。

接口(interface):对如何使用类似子程序这样的黑盒子一种通用说法。接口对其内部发生的情况没有提供任何信息。“interface”同时也是Java中的保留字。从这个意义上说,接口是一种定义了一个或多个抽象方法的类型。实现该接口的对象必须提供这些方法的定义。解释器(interpreter):一种执行程序的计算机程序,被执行的程序由某种编程语言编写。通过从程序中一个接一个读取指令然后逐条执行(将指令翻译为等价的机器语言)。

I/O:输入/输出。计算机程序与其它部分的通讯方式,比如向用户展示数据、从用户那里获取信息、读写文件、通过网络发送和获取数据。

迭代器(iterator):与list 或set 这样的集合相关联的对象。可用来对该集合进行遍历。迭代器会轮流访问集合中的每个元素。

Java集合框架(Java Collection Framework JCF):一组实现了泛型数据结构的标准类。包括ArrayList、TreeSet等。

JavaFX:新的应用程序GUI工具集。在Java 8中推荐使用。JavaFX不在本书的讨论范围。JDK:Java开发工具集。支持编译、运行Java程序的基本软件。JDK包含命令行编程环境以及JRE。要编译Java源代码或执行预编译程序时,需要使用JDK。

JRE(Java Runtime Environment):Java运行时环境。支持运行已编译的标准Java

程序。JRE包括一个Java虚拟机和所有标准的Java类。

即时编译器(just-in-time compiler):一种解释器和编译器的结合,在解释程序某部分的同时可对其进行编译。接下来对该部分程序执行时比首次运行更快速。这样可以大大提高执行速度。现代JVM都使用了即时编译器。

JVM:Java虚拟机。将Java字节码作为机器语言执行的虚拟计算机。也用来称呼解析字节码程序的计算机程序。要在计算机上运行Java程序需要使用JVM。

布局管理器(layout manager):负责对容器中组件进行布局的对象。进行的部分操作包括设置大小和位置。不同类型的布局管理器实现的布局策略各不相同。

链式数据结构(linked data structure):一组由之指针相互链接的对象数据。这些指针存储在对象的实例变量中。链式数据结构包括链表和二叉树。

链表(linked list):一种链式数据结构,节点之间由指针串连形成线性链表。

监听器(listener):在GUI编程中,可以向对象注册特定事件的触发通知。因此可以说,对象在“监听”这些事件。

文字(literal):在程序中键入的一组字符序列,表示常量值。例如,当A在Java程序中出现时,’A'是一个常量字符。

(内存)位置(location in memory):计算机内存由一系列位置组成。这些位置顺序编号,标识特定位置的编号被称为该位置的地址。

本地变量(local variable):在方法内部声明的变量,只能在该方法内部使用。代码块中声明变量的有效性,从声明处开始到该代码块的尾部结束。

循环(loop):一种控制结构,重复执行一组指令。Java提供了3种循环:for 循环、while 循环和do 循环。

循环控制变量(loop control variable):for 循环中的变量,每次执行for 循环时都会修改循环变量值,通过检查该变量决定是否结束循环。

机器语言(machine language):由计算机能够直接执行的指令组成的编程语言。机器语言中的指令会被编码成二进制数。每种类型的计算机都有自己的机器语言。用其它语言编写的程序必须翻译为该计算的机器语言,才能在它上面执行。

主内存(main memory):程序和数据可以存储在计算机的主内存中,主内存可以被CPU 直接访问。其它形式的内存,比如磁盘驱动器,虽然也能存储信息,但是唯有主内存可被CPU直接访问。磁盘分区中的程序和数据只有拷贝到内存中才能被CPU访问。

map:一种映射数组。这种数据结构将一组(Collection)中的某个对象与摸个集合(Set)中的所有对象关联在一起。在Java中,map 由泛型接口Map 表示。

成员变量(member variable):定义在类中的变量,但不属于任何方法。成员变量与本地变量不同,后者在某个方法中定义。

内存(memory):计算机中的内存用来存储程序和数据。

方法(method):子程序的另一种称呼,在面向对象编程中使用。方法指包含在类或对象中的子程序。

模块(module):大型系统中的组件,与系统中其它部分以简单、定义清晰、直接的方式进行交互。

多任务(multitasking):一次执行多个编程任务。要么在多个任务之间快速来回切换,要么同时逐个执行多个任务。

多重处理(multiprocessing):进行多任务处理时使用多个处理器。这样,多个任务可以同时逐个执行。

互斥(mutual exclusion):防止两个线程同时访问相同的资源。在Java中,这种方法应用于多个线程同时访问同步方法或同步语句中的资源。互斥可以阻止竞态条件,但是可能引发死锁。

MVC模式(MVC pattern):模型-视图-控制器模式。一种用在GUI组件中进行职责划分的策略。模型代表组件的数据,视图指该模型在屏幕上的展示,控制器负责响应模型变化事件。在MVC模式中,这些职责由不同的对象负责处理。

非数值(NaN):不是一个数值。Double.NaN表示一种特殊的double 值,表示未定义或非法值。

节点(node):链式数据结构中,某个对象的常用称呼。

null:一种特殊的指针值,表示“没有指向任何东西”。

数值分析(numerical analysis):使用逼近法研究算法的领域,比如实数以及从逼近计算中得到的错误。

差一错误(off-by-one error):一种常见错误,处理时多减或多加了一个元素。通常是技术错误或者循环时由其它原因过早停止或过度执行造成的。

对象(object):计算机程序中带有数据(变量)和行为(方法)的实体。Java中的对象必须以某个类作为创建模板。对象所属的类决定了对象包含的类和方法。

对象类型(object type):这种类型的值是对象而非基础类型。类和接口都是对象类型。OOP(Object-Oriented Programming):面向对象编程。一种计算机程序设计和实现的方法。OOP使用类和对象创建、表示实体及实体间的交互。

操作系统(operating system):在计算机中一直运行的基础软件。没有操作系统的计算机无法工作。操作系统由Linux、Mac OS 和Windows Vista。

操作符(operator):类似“+”、“<=”或”++”这样的操作符,可以在表达式中计算一个或多个值。

(操作符)重载(overloading of operators):相同操作符可以在不同类型的数据上使用。比如“+”操作可以同时应用于数字和字符类型。

(方法名)重载(overloading of method names):同一个类中定义了几个名称相同的方法,区别在于各个方法的签名不同。

重写(覆盖)(overriding):在子类中进行重定义。子类中,对从父类继承的方法重新定义,新定义的方法就是对原方法进行重写。

包(package):在Java中,相关类和子包的有名集合称为包,例如java.awt 和javax.swing。

并行处理(parallel processing):同时执行多个任务,可以是多个处理器,也可以由一个处理器在多个任务间返复执行。

参数(parameter):调用子程序时,参数用来向子程序提供信息。在执行子程序代码前,子程序调用语句中的“实参”会分配给子程序定义的“虚参数”。

参数化类型(parameterized type):类似ArrayList 这样,包含了一种或多种类型参数的类型(这里的参数类型是String)。

解析(parsing):确定预演中字符串语法结构的过程。解析字符串用来确定字符串中是否遵循该语言的语法;如果是,那么会确定该字符串是如何根据语法进行创建。

部分完全数组(partially full array):数组是用来存储数量各异的元素。部分完全数组表示为一个带有追踪元素个数计数器的普通数组。

像素(pixel):指屏幕或图片中的“图像元素”。一幅图像由像素的行和列组成。每个像素的色彩都可以单独设置。

多态(polymorphism):多态是指调用实例方法的意义取决于调用方法时对象的实际类型。也就是说,如果变量的类型是var,那么调用方法的语句,比如var.action() 取决于执行时var 所指向的对象类型,而非var 变量的类型。

指针(pointer):代表计算机内存中某个地址的值,因此可以看做“指向”具有该地址的位置。在Java中,变量不存有对象;变量只是指向存储该对象的位置。指针也称作“引用”。语用学(pragmatics):描述如何编写好程序的经验法则。例如样式规则、程序组织指南都是编程语用学的一部分。

优先级(precedence):操作符的优先级指,在没有括号的情况下,表达式中多个操作符的作用顺序。

前置条件(precondition):在程序的执行过程中,为了让程序正确运行,前置条件必须判定为true。子程序的前置条件是指,为了让子程序正确运行必须满足的前置条件。子程序的前置条件通常是对传入的子程序的实参值进行的限制。

优先级队列(priority queue):一种表示元素结合的数据结构,其中每个元素都有自己的“优先级”。优先级队列具有添加和移除操作。可以按照任意的顺序添加元素,但移除时总是先移除优先级最低的元素。(某些版本的优先级队列会先移除优先级最高的元素)

后置条件(postcondition):在执行程序的某个节点,该条件的计算结果为true。子程序的后置条件在子程序执行结束后必须为true。函数的后置条件通常表示为函数的返回值。

基本类型(primitive type):Java的8个内建基本数据类型有double、float、long、int、short、byte、boolean 和char。基本类型变量存储了真实的值,而非指向数值的指针。

线程优先级(priority of a thread):与线程关联的整数值,可以影响线程的执行顺序。优先级高的线程比优先级低的线程提前执行。

生产者/消费者(producer/consumer):并行编程中的一种经典模式,一个或多个生产者生产的产品被一个或更多的消费者使用。生产者和消费者设计为可以并行执行。这里的难点在于,如何安全、高效地从生产者向消费者非配产品。在Java中,通过阻塞队列实现生产者/消费者模式。

程序(program):用某种合适的编程语言编写的一组指令,由计算机执行。用做动词时,表示创建该指令的动作。

编程语言(programming language):用来为计算机编程的一种语言。编程语言的复杂性,从机器语言到像Java这样的高级语言跨度很大。

协议(protocol):在指定上下文中,构成合法通信的一组规范。协议中规定了合法的消息、传送的时间、期待的恢复类型等。

伪代码(pseudocode):非正式算法规范。与实际编程语言相比,伪代码更加接近英语。并且,通常无需明确地写出过程的每个细节。

队列(queue):由一组元素构成的数据结构。只能在列表的一头添加数据,在列表的另一头移除数据。

竞态条件(race condition):并行编程中可能的错误源。由于某个线程改变了第二个程序依赖的程序状态(比如变量值),从而引发错误。

RAM(Random Access Memory):随机访问内存。计算机主内存的同义词。然而,从技术角度看,RAM是指在任意时间内都可以同样访问内存地址。RAM也意味着可以同时读写数据。

递归(recursion):用自身的形式定义自己。特别地,递归子程序可以直接或通过一系列其它子程序间接调用自己。递归算法的工作方式,通过将一个复杂问题拆分成更小的子问题。子问题要么可以直接解决,要么可以“递归”使用相同的算法。

RGB:一种颜色系统。颜色由3个数值定义(在Java中,数值的范围从0到255)。分别表示颜色中的红色、绿色和蓝色组成。

引用(reference):“指针”的另一种称呼。

函数返回类型(return type of a function):函数返回值的类型。

保留字(关键字)(reserved word):一组字符串序列,看起来和标识符很像。但是由于在编程语言中有特殊含义,所以不能用作标识符。例如class、public 是Java中的保留字。

资源(resource):图片、声音、文字或程序中的数据文件都是资源。Java资源文件与编译好的class文件存储在相同的路径(class path)。

健壮的程序(robust program):健壮的程序不仅正确,同时也能合理地处理错误,比如文件不存在或者无法建立网络连接。

集合(set):没有重复的一组对象。在Java中,集合用泛型接口Set 表示。

作用域(scope):表示程序中声明的标识符的有效作用域。

语义(semantics):语义是指,语言的语义规则决定了该语言中字符串符号(例如句子或语句)的含义。

哨兵值(sentinel value):表示数据序列结束的特殊标记,表明该数据已结束。setter方法:类中的实例方法,用来设置类中的一些属性值。通常,这些属性只是实例变量值。按照惯例,setter 方法命名为setXyz(),其中xyz 是属性的名字。

方法签名(signature of a method):方法名、方法定义中形参的个数以及每个形参的类型。编译器通过方法签名来识别指定子程序调用语句究竟调用了哪个方法。

套接字(socket):网络上两个计算机之间的连接,对其中一端的抽象表示。套接字表示计算机程序间的一个逻辑连接,而非计算机间的物理连接。

栈(stack):一组元素组成的列表数据结构,只能在列表的尾部,也称作“栈顶”。向栈中添加元素叫“入栈push”,移除元素称作“出栈pop”。栈也指用来实现子程序调用的活动记录。

标准输入(standard input):程序读取输入数据的标准源,由System.in 对象表示。通常,标准输入来自用户键入的文本,但是标准输出也可以重定向到其它源,比如文件。

标准输出(standard output):程序将输出文本写入的标准目标,由System.out 对象表示。通常,标准输出会向用户展示,但是也可以“重定向”到其它目标,比如文件。此外,System.err 对象用来输出错误信息。

状态机(state machine):一种计算机模型。抽象的“机器”可处于有限状态集中的任何一种状态。机器会根据自身的状态决定行为,根据输入或事件进行状态切换。GUI程序的基本逻辑可表现为状态机。

逐步精化法(step-wise refinement):一种算法开发技术。开始列出算法步骤大纲,通常用伪代码表示,然后逐步填充细节。

流(stream):输入数据源或输出数据目标的抽象表示。Java为字符和二进制数据输入、输出流提供了4个基础类。这些类组成了Java I/O API的基础。

源代码(source code):用高级编程语言编写的文本。在计算机执行前,必须翻译成机器语言,比如Java字节码。

子类(subclass):一个类,直接或间接继承了其它类,从而继承了它的数据和行为。前一个类就叫做第二类的子类。

子程序(subroutine):一系列程序指令。通过子程序名可以“调用”该子程序。在面向对象编程中,子程序也称作方法。

子程序调用语句(subroutine call statement):程序中调用子程序的语句。当执行子程序调用语句时,计算机会执行子程序内部的代码。

super:一个特殊变量,在实例方法中自动定义。super指包含该方法的对象,归属于方法所在类的父类。super可以访问父类中被隐藏的成员变量,这些变量与子类中的成员变量同名。

语法(syntax):定义了该语言中哪些字符串符号符合该语言的语法规则。

TCP/IP:Internet上用来网络通讯的协议。

this:一个特殊变量,在实例方法中自动定义,归属于方法所在的类。

线程(thread):对一系列逐条执行语句的抽象表示。计算机可以并行执行多个线程。

线程池(thread pool):执行任务时可以使用的一组“工作线程”。当任务就绪时,可分配给池中的线程。线程池通常使用阻塞式队列存储任务。

自顶向下设计(top-down design):一种软件设计方法。开始把问题作为一个整体,然后拆分成更小的问题,再逐步细化,直到子问题可以直接解决。

类型(type):数值的特定类型。例如,int类型规定了整形值可以表示为32比特二进制数。在Java中,类型可以是基本类型、类名或接口名。类型名可用来定义变量的类型,子程序中的虚拟参数和子程序的返回类型。

类型转换(type cast):把一种类型的值强制转换为另一种类型。例如,在

(int)(6*Math.random()) 中,(int) 是一个类型转换操作,将 (6*Math.random()) 的浮点值转换为了整形,丢弃了实数中的小数部分。

Unicode:将字符编码成二进制数的一种方式。Unicode字符集包含了许多语言的字符,不仅限于英语。Java内部使用的就是Unicode字符集。

URL:全球资源定位器。Internet上资源的地址,比如网页。

变量(variable):一个带名字的内存位置(或一系列位置),用来存储数据。在程序中创建变量,通过变量声明语句将名字赋予该变量。根据使用情况,这个名字在程序中可以代指该内存位置,或者向内存地址中存储数据。在Java中,变量具有类型,可以表示变量持有数据的种类。

包装类(wrapper class):类似Double、Integer这样的类,将一个基本类型的值“包装”在对象中,该对象归属于包装类。这样,在需要使用对象的地方也可以使用基本类型值,比如Java集合框架。

XML(eXtensible Markup Language):可扩展标记语言。一种非常常见且语法标准、支持良好的语言。用来创建基于文本的数据表示。

【最新文档更新请加入尚学堂https://www.360docs.net/doc/9315626993.html,】

【专业JAVA培训机构,真正的0元入学https://www.360docs.net/doc/9315626993.html,】

Java笔试题及答案

Java笔试题及答案 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A. class中的constructor不可省略 B. constructor必须与class同名,但方法不能与class同名 C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 详解:见下面代码,很明显方法是可以和类名同名的,和构造方法唯一的区别就是,构造方法没有返回值。 package net.study; public class TestConStructor { public TestConStructor() {

} public void TestConStructor() { } public static void main(String[] args) { TestConStructor testConStructor = new TestConStructor(); testConStructor.TestConStructor(); } } 4.提供Java存取数据库能力的包是() 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 详解: java 中没有<> := 这种运算符,if else不算运算符 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是()

Java软件开发工程师笔试题(答案)

Java工程师笔试题 一、填空题(本大题10小题,每空1分,共20分)。 1.Java语言的三大特性即是: 继承、封装、多态。 2.在Java中,char 型采用____unicode_______编码方案,这样,无论是中文字符还是英文字符,都是占用__2___个字节的内存空间。 3. 形式参数指的是方法被__定义____ 时的参数行,实际参数是方法被__调用__ _ 时所传递进去的变量或值。 4.JSP内置对象中,application对象是代表应用程序上下文,它允许JSP页面与包括在同一应用程序中的任何Web组件共享信息,而session 对象则是每个客户专用的。 5.如果想把一个对象写入一个流,那么这个类就必须实现Seralizable 接口。 6.程序中实现多线程的方法有两种:继承Thread类和实现___Runable _ 接口。 7.多线程中,可以通过调用相应的setPriority() 方法来修改一个线程的相对优先级。 8.面向对象编程的五大设计原则,分别是单一职责、开放封闭、 里氏替换、依赖倒置、接口分离 9.通过Ajax,客户端获取的数据主要有两种类型:文本型和xml 10.Socket通常也称为套接字,用于描述__ ip 和_ _接口 二、选择题(本大题20 小题,每小题2分.共40分)。 1.在JA V A中,如果父类中某些方法不包含任何逻辑,并且需要由子类重写.应该使用( )关键字来声明父类的这些方法: A) final B) static C) abstract D) void 2.在JA V A中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是()。 A) interface A extend B,C B) interface A implements B,C C) class A implements B,C D) class A implements B, implements C

JAVA笔试题--基础很全有答案

第一组 1.下列不可作为java语言修饰符的是(D) A) a1 B) $1 C) _1 D) 11 2.有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(A) A) a1.java B) a1.class C) a1 D) 都对 3.整型数据类型中,需要内存空间最少的是(D) A) short B) long C) int D) byte 4. Java 类可以作为(C) A) 类型定义机制 B) 数据封装机制 C) 类型定义机制和数据封装机制 D) 上述都不对 5.在创建对象时必须(C) A) 先声明对象,然后才能使用对象 B) 先声明对象,为对象分配内存空间,然后才能使用对象 C) 先声明对象,为对象分配内存空间,对对象初始化,然后才能使用对象 D) 上述说法都对 6.在调用方法时,若要使方法改变实参的值,可以(B) A) 用基本数据类型作为参数 B) 用对象作为参数 C) A和B都对 D) A和B都不对 7. Java中(C) A) 一个子类可以有多个父类,一个父类也可以有多个子类 B) 一个子类可以有多个父类,但一个父类只可以有一个子类 C) 一个子类可以有一个父类,但一个父类可以有多个子类 D) 上述说法都不对 8.Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(B) A) 安全性B) 多线性C) 跨平台D) 可移植 9. Character流与Byte流的区别是(C) A) 每次读入的字节数不同B) 前者带有缓冲,后者没有 C) 前者是字符读写,后者是字节读写D) 二者没有区别,可以互换使用

10.以下声明合法的是( D ) A、default String s; B、public final static native int w( ) C、abstract double d; D、abstract final double hyperbolicCosine( ) 11.关于以下application的说明,正确的是( C ) 1.class StaticStuff 2.{ 3.static int x=10; 4.static { x+=5;} 5.public static void main(String args[ ]) 6.{ 7.System.out.println(“x=”+ x); 8.} 9.static { x/=3;} 10. } A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=5 D、编译通过,执行结果为:x=3 12.关于以下程序代码的说明正确的是( D ) 1.class HasStatic{ 2.private static int x=100; 3.public static void main(String args[ ]){ 4.HasStatic hs1=new HasStatic( ); 5.hs1.x++; 6.HasStatic hs2=new HasStatic( ); 7.hs2.x++; 8.hs1=new HasStatic( ); 9.hs1.x++; 10.HasStatic.x- -; 11.System.out.println(“x=”+x); 12.} 13.} A、5行不能通过编译,因为引用了私有静态变量 B、10行不能通过编译,因为x是私有静态变量 C、程序通过编译,输出结果为:x=103 D、程序通过编译,输出结果为:x=102 13.以下选项中循环结构合法的是( C ) A、while (int i<7) { i++;

java基础笔试测试题与答案

Java 一章至五章考试 一. 填空题(8 分) 1. 面向对象的三大原则是( 封装),( 继承) 和( 多态).2 分 2. 如果想在对象实例化的同时就初始化成员属性,则使用( 构造函数).2 分 3. ( 实体) 方法和( 构造) 方法不能修饰为abstract ?2分 二.选择题(60 分) 1) 在Java 语言中,下列(a,d )是不满足命名规范的变量名。(选择二项) a) 姓名 b) $Name c) _instanceof d) instanceof 2) 下列Java 代码片段的输出结果是( a ) 。 char c='a'; int i=c; float f=i; byte b=(byte)c; System.out.println(c+","+i+","+f+","+b); a) 编译错误 b) a,97,97,97 c) a,97,97.0,97 d) a,97,97.0f,97 3) 下列Java 代码中,空白处的代码是(b,c )。( 选择两项) public interface Fee{ public float calLabFee(float unitPrice, float time); } public class FeeImpl implements Fee { public float calLabFee(float unitPrice, float time){ return unitPrice * time; } } public class FeeInterfaceTest { public static void main(String[] args){ ________________ Float labFee = fee.calLabFee(400.00,5); } }

Java基础笔试机试测试题(带答案)

Java基础考试题 班级:__________ 姓名:___________ 日期:_____________ 一、笔试(45题,每题2分) 1) 分析下面的Java程序段,编译运行后的输出结果是()。 public class Test { public static void changeString(StringBuffer sb) { sb.append("stringbuffer2"); } public static void main(String[] args) { StringBuffer sb = new StringBuffer("stringbuffer1"); changeString(sb); System.out.println("sb = " + sb.toString()); } } A. sb = stringbuffer2stringbuffer1 B. sb = stringbuffer1 C. sb = stringbuffer2 D. sb = stringbuffer1stringbuffer2 2) 在Java中,包有多种用途,但不包含()。 A. 将类组合成较小的单元,便于使用 B. 有助于避免命名冲突 C. 有助于提高运行效率 D. 允许在更广的范围内保护类、数据和方法 3) 在Java中,如果要在字符串类型s="java"中,得到字母'v' 出现的位置,选()语句。 A)s.matches('v'); B)s.charAt('v'); C)s.indexOf('v'); D)s.substring('v'); 4)下列代码运行后,变量c的值是()。 int a=15,b=10; double c=a/b; a) 1.5 b) 1.0 c) 1 d) 0 5)main方法如下所示,该程序的运行结果是()。 public static void main(String [] args){ int i=0; System.out.print(i++); } a) 输出0 b) 输出1 c) 编译错误d) 运行时出现异常

java笔试题及答案.doc

java笔试题及答案 有了下面java笔试题及答案,进行java笔试时就容易多了,请您对下文进行参考: 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package子孙类其他package public 7 7 7 7 protected 7 7 7 X friendly 7 7 X X private 7 X X X 不写时默认为friendly 2、Anonymouslnner Class (匿名内部类)是否可以exte nd s (继承)其它类,是否可以imple ment s (实现)i nterf ace (接口) 答:匿名的内部类是没有名字的内部类。不能exte n ds (继承)其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Sta ti cNestedC las s 和Inner Clas s 的不同答: Nes tedC lass (一般是C+ +的说法),In ne rClass (—般是JAVA的说法)。J ava内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(I

nn erClass)意味着1创建一个st atic内部类的对象,不需要一个外部类对象,2不能从一个st atic内部类的一个对象访问一个外部类对象 4、和的区别 答:是位运算符,表示按位与运算,是逻辑运算符,表示遷辑与(and ) 5、Coll ect ion 和Col lect ions 的区别 答:Coll ect ion是集合类的上级接口,继承与他的接口主要有Set和List. Col lections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:asserti on (断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,a ssertion 就是在程序中的一条语句,它对一个boolea n表 达式进行检查,一个正确程序必须保证这个bool ean表达 式的值为tr ue;如果该值为fal se,说明程序己经处于不正确的状态下,系统将给出警告或退出。一般来说,

java笔试题及答案

java笔试题及答案(必背) 来源:黄德洋的日志 1、作用域public,private,protected,以及不写时的区别 答:区别如下: 作用域当前类同一package 子孙类其他package public √√√√ protected √√√× friendly √√ × × private √××× 不写时默认为friendly 2、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实 现)interface(接口) 答:匿名的内部类是没有名字的内部类。不能extends(继承) 其它类,但一个内部类可以作为一个接口,由另一个内部类实现 3、Static Nested Class 和Inner Class的不同 答:Nested Class (一般是C++的说法),Inner Class (一般是JAVA的说法)。Java内部类与C++嵌套类最大的不同就在于是否有指向外部的引用上。注:静态内部类(Inner Class)意味着1创建一个static 内部类的对象,不需要一个外部类对象,2不能从一个static内部类的一个对象访问一个外部类对象 4、&和&&的区别 答:&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and) 5、Collection 和Collections的区别 答:Collection是集合类的上级接口,继承与他的接口主要有Set 和List. Collections是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作 6、什么时候用assert 答:assertion(断言)在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。在实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式的值为true;如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion检查通常是关闭的

java笔试题含答案

班级:_______________ 学号:______________ 姓名:___________ Java 笔试题 (可多选) 1. 下面哪些是Thread类的方法( ABD) A start() B run() C exit() D getPriority() 2. 下面关于类的说法正确的是(A) A 继承自Throwable B Serialable C 该类实现了Throwable 接口 D 该类是一个公共类 3. 下面程序的运行结果是( false ) String str1 = "hello"; String str2 = "he" + new String("llo"); == str2); 4. 下列说法正确的有( C) A. class中的constructor不可省略

B. constructor必须与class同名,但方法不能与class同名C. constructor在一个对象被new时执行 D.一个class只能定义一个constructor 5. 指针在任何情况下都可进行>, <, >=, <=, ==运算( true ) 6. 下面程序的运行结果:(B) public static void main(String args[]) { Thread t = new Thread() { public void run() { pong(); } }; (); "ping"); } static void pong() { "pong"); } A pingpong

B pongping C pingpong和pongping都有可能 D 都不输出 7. 下列属于关系型数据库的是(AB) A. Oracle B MySql C IMS D MongoDB 8. GC(垃圾回收器)线程是否为守护线程( true ) 9. volatile关键字是否能保证线程安全( false ) 10. 下列说法正确的是(AC) A LinkedList继承自List B AbstractSet继承自Set C HashSet继承自AbstractSet D WeakMap继承自HashMap 11. 存在使i + 1 < i的数吗(存在) 12. 的数据类型是(B) A float B double C Float D Double

JAVA面试题(_华为)(答案)

软件开发应试人员考试试题(Java) 姓名:___________ 电话:___________ 以下信息有工作经验人员如实填写,应届毕业不填(时间从毕业参加工作算起) 从事Java开发时间____月熟悉JavaScrip时间____月 熟悉EXT开发时间____月熟悉PDM开发时间____月 熟悉的数据库及时间(如SQLServer 3个月,可多填)___________________ 一、JAVA基础 1、简述你所知道的JA V A修饰符及各自的使用机制?(public、abstract、final、synchronized、super…) public :允许所有客户访问 protected:只能在本包内被该类的子类所使用 private:只允许在本类内使用 abstract:没有提供实现,需要子类提供 static:与整个类相关,与单个对象无关 final:你只能定义一个实体一次,以后不能改变它或继承它。一个final修饰的类不能被子类化,一个final 修饰的方法不能被重写,一个final修饰的变量不能改变其初始值 synchronized:方法获得对对象监控的访问权;如果该方法是static类型的,获得是对类本身的访问权。super:构造器和方法,都用关键字super指向超类,但是用的方法不一样。方法用这个关键字去执行被重载的超类中的方法。 2. String、StringBuffer与StringBuilder之间区别?别简述各自的执行效率? 区别:String 类型和StringBuffer 类型的主要性能区别其实在于String 是不可变的对象, 因此在每次对String 类型进行改变的时候其实都等同于生成了一个新的String 对象,然后将指针指向新的String 对象,所以经常改变内容的字符串最好不要用String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后,JVM 的GC 就会开始工作,那速度是一定会相当慢的, 执行速度:三者在执行速度方面的比较:StringBuilder > StringBuffer > String 使用场景:1.如果要操作少量的数据用= String 2.单线程操作字符串缓冲区下操作大量数据= StringBuilder 3.多线程操作字符串缓冲区下操作大量数据= StringBuffer 2、静态变量和实例变量的区别?能在静态方法中调用非静态变量吗? 静态变量属于类,该类不生产对象,通过类名就可以调用静态变量。实例变量属于该类的对象,必须产生该类对象,才能调用实例变量 静态方法及变量属于整个类,数据将会被存储在公共区域,非静态方法及变量属于对象 静态方法中无法调用实例变量,而实例方法却可以调用静态变量

Java经典面试题大全_带答案

Java经典面试题带答案一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A.Java程序经编译后会产生machine code B.Java程序经编译后会产生byte code(字节码) C.Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行(构造器) D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.Java.sql /sql/数据库还有Oracle 也是一种数据库 B.java.awt C.https://www.360docs.net/doc/9315626993.html,ng D.java.swing 答案:A 5.下列运算符合法的是() A.&& B.<> C.if D.:= 答案:A 6.执行如下程序代码 a=0;c=0; do{ --c; a=a-1; }while(a>0); 后,C的值是() A.0 B.1 C.-1 D.死循环

答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住 C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数 D.形式参数不可以是对象 答案:A 9.下列哪种说法是正确的() A.实例方法可直接调用超类的实例方法 B.实例方法可直接调用超类的类方法 C.实例方法可直接调用其他类的实例方法 D.实例方法可直接调用本类的类方法 答案:D 二、多项选择题 1.Java程序的种类有() A.类(Class) B.Applet C.Application D.Servlet 2.下列说法正确的有() A.环境变量可在编译sourcecode时指定 B.在编译程序时,所能指定的环境变量不包括class path C.javac一次可同时编译数个Java源文件 D.javac.exe能指定编译结果要置于哪个目录(directory)答案:BCD 3.下列标识符不合法的有() A.new B.$Usdollars C.1234 D.car.taxi 答案:ACD 4.下列说法错误的有() A.数组是一种对象 B.数组属于一种原生类 C.intnumber=[]={31,23,33,43,35,63} D.数组的大小可以任意改变 答案:BCD 5.不能用来修饰interface的有()

Java开发工程师笔试题(带答案)

Java开发工程师笔试试题 (请不要在试题上留任痕迹,所有答案均写在答题纸上) 一.编程题(共26分) 1.任意写出一种排序算法。(6分) public void sort(int [] array){ //代码区 } 2.求1+2+3+..n(不能使用乘除法、for 、while 、if 、else 、switch 、case 等关键字 以及条件判断语句)(8分) public int sum(int n){ //代码区 return 0; } 3.完成下面法,输入一个整数,输出如下指定样式图案。(12分) 输入:3, 输出: 1*2*3 7*8*9 4*5*6

输入:4 输出: 1*2*3*4 9*10*11*12 13*14*15*16 5*6*7*8 public void drawNumPic(int n){ //代码区 } 二.选择题(定项选择每题3分,不定项选择每题4分,共63分) 1.在基本JAVA类型中,如果不明确指定,整数型的默认是__类型,带小数的默认是__类型?( B ) A.int float B.int double C.long float D.long double 2.只有实现了__接口的类,其对象才能序列化( A ) A.Serializable B.Cloneable https://www.360docs.net/doc/9315626993.html,parable

D.Writeable 3.代码System. out. println(10 % 3 * 2);将打印出?( B ) A. 1 B.2 C.4 D.6 4.以下程序运行的结果为( A ) public class Example extends Thread{ @Override public void run(){ try{ Thread.sleep(1000); }catch (InterruptedException e){ e.printStackTrace(); } System.out.print("run"); } public static void main(String[] args){ Example example=new Example(); example.run(); System.out.print("main"); } } A.run main B.main run C.main D.run E.不能确定 5.下面有关java实例变量,局部变量,类变量和final变量的说法,错误的是?( B ) A.实例变量指的是类中定义的变量,即类成员变量,如果没有初始化,会有默认值

最新最新java笔试题及答案

一.选择题(1-10题每题2分,11-15题每题4分) 1.下面关于Java语言说法错误的是:() A.java语言是完全面向对象的 B。java语言支持多继承 C.java语言支持多线程 D。java语言最早是为消费电子产品领域设计的 2.下面标识符中正确的是:() A.*123 B。12java C.continue D。java$next 3.下列关于注释语句的描述中,正确的一项是() A。以//开始的是多行注释语句 B。以/*开始,*/结束的是单行注释语句 C。以/**开始,*/结束的是可以用于生成帮助文档的注释语句 D。以/**开始,*/结束的是单行注释语句 4.为了区分重载多态中同名的不同方法,要求()。 A)形式参数个数或者类型不同 B)返回值类型不同 C)调用时用类名或对象名做前缀 D)形式参数名称不同 5.下面定义数组的格式中正确的是:() A.int a[10] B。int a=new int[10] C.int []a=new int[5] D.int a[] 6.下面说法中不正确的是:() A.类是对象的抽象,对象是类的实例 B。类是组成java程序的最小的单位 C.java语言支持多继承 D。java一个程序中只能有一个public类 7.定义类时,不可能用到的保留字是()。 A) private B) class C) extends D) implements 8.为 AB 类的定义一个公共的构造函数,该方法头的形式为()

A.void AB( ) B。public void method( ) C.public method ( ) D。public AB( ) 9.下面说法中不正确的是:() A.java中一个类只允许实现一个接口 B。抽象类中允许有非抽象方法的存在 C.类变量(实例变量)可以直接用类名调用 D。通过super可以调用基类的构造函数 10.容器JFrame 默认使用的布局编辑策略是() A.BorderLayout B。FlowLayout C。GridLayout D。CardLayout 11.以下哪个表达式是不合法的() A.String x=”Hello”; int y=9; x+=y; B.String x=”Hello”; int y=9; if(x= =y) { } C.String x=”Hello”; int y=9; x=x+y; D.String x=null; int y=(x!=null)&&(x.length()>0) 12.class person { public int addvalue(int a,int b) { int s; s=a+b; return s; } }

Java面试题(带答案)

湖南世杰Java工程师面试题选择题: 单选题 1,以下java程序代码,执行后的结果是( ) java.util.HashMap map=newjava.util.HashMap(); map.put("name",null); map.put("name","Jack"); System.out.println(map.size()); A: 0 B: null C: 1 D: 2 答案:C 2,执行以下程序后的输出结果是( ) Public class Test { Public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); operator(a, b); System.out.println(a +","+ b); } Public static void operator(StringBuffer x, StringBuffer y) { x.append(y); y = x; }

} A: A,A B: A,B C: B,B D: AB,B 答案:D 3,关于依赖注入,下列选项中说法错误的是( ) A:依赖注入能够独立开发各组件,然后根据组件间关系进行组装 B:依赖注入使组件之间相互依赖,相互制约 C:依赖注入提供使用接口编程 D:依赖注入指对象在使用时动态注入 答案:B 4,关于spring说法错误的是( ) A: spring是一个轻量级JAVA EE的框架集合 B: spring是“依赖注入”模式的实现 C: 使用spring可以实现声明事务 D: spring提供了AOP方式的日志系统 答案:D 5,要在session对象中保存属性,可以使用以下哪个语句( ) A: session.getAttribute(“key”,”value”) B: session.setAttribute(“key”,”value”) C: session.setAttribute(“key”) D: session.getAttribute(“key”) 答案:B 6,关于以下程序代码的说明正确的是?( ) Public class HasStatic{ Private static int x = 100;

2017年最新Java经典笔试面试题笔试题目及答案

2017年最新Java经典笔试面试题 2017年最新Java经典笔试面试题 想要成为java程序员可不是容易的事情,下面YJBYS小编为大家精心搜集了关于Java 经典笔试的面试题,欢迎大家参考借鉴,希望可以帮助到大家! 一.选择题(共50题,每题1.5分,共75分。多选题选不全或选错都不得分。) 1. 以下属于面向对象的特征的是(C,D)。(两项) A) 重载 B) 重写 C) 封装 D) 继承 2. 以下代码运行输出是(C) public class Person{ private String name=”Person”; int age=0; } public class Child extends Person{

public String grade; public static void main(String[] args){ Person p = new Child(); System.out.println(https://www.360docs.net/doc/9315626993.html,); } } A) 输出:Person B) 没有输出 C) 编译出错 D) 运行出错 3. 在使用super 和this关键字时,以下描述正确的是(A) A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 B) super()和this()不一定要放在构造方法内第一行 C) this()和super()可以同时出现在一个构造函数中

D) this()和super()可以在static环境中使用,包括static方法和static语句块 4. 以下对封装的描述正确的是(D) A) 只能对一个类中的方法进行封装,不能对属性进行封装 B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用 C) 封装的意义不大,因此在编码时尽量不要使用 D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性 5. 以下对继承的描述错误的是(A) A) Java中的继承允许一个子类继承多个父类 B) 父类更具有通用性,子类更具体 C) Java中的继承存在着传递性 D) 当实例化子类时会递归调用父类中的构造方法 6. 以下程序的运行结果是(D) class Person{ public Person(){ System.out.println(“this is a Person”);

java笔试题目及答案分析

Java上市公司笔试题目及答案分析 一、选择题(不定项选题) 1下面说法正确的是( C ) A.Java中包的主要作用是实现跨平台功能 B.package语句只能放在import语句后 C.包(package)是由一组类(class) 和接口(inter'face)组成 D.无 2不能用来修饰interface的有(ACD ) Aprivate Bpublic Cprotected Dstatic 3在Java语言中,下列关于字符编码和国际化的叙述,哪些是正确的(CD) A每个中文字符占用2个字节,每个英文字符占用1个字节 B假设数据库中的字符是以GBK编码的,那么显示数据库数据的网页也必须是GBK编码的。 CJava的char类型,通常以UTF-16 Big Endian的方式保存一个字符。 D实现国际化应用常用的手段是利用ResourceBundle类 解析: 1.不同的编码格式,字符所占用的字节数是不一样的。如GBK中每个中文占用2个字 节,UTF-8中则是变长编码,可能占用3个字节或者4个字节。因此A不正确。 2.不同的编码方式之间是可以转换的,如果数据库GBK编码,页面上可以使用任意 支持汉字编码的编码方式显示都可以,只要在向页面传输的数据过程中进行编码的转换即可。如:数据库是GBK,页面上是UTF-8,那么可以这样转换:实例代码以java语法编写 4下面代码的执行结果是(C ) public class TestDemo { public static void main(String[] args) { System.out.println(test1());

Java经典面试笔试题及答案

1.什么是对象序列化,为什么要使用? 所谓对象序列化就是把一个对象以二进制流的方式保存到硬盘上。好处:方便远程调用。 2.值传递与引用传递的区别? 所谓值传递就是把一个对象的值传给一个新的变量,但是系统会给这个新的变量开辟一个新的内存空间。不会改变原有的值所谓引用传递就是把一个对象在堆中保存的数据传递给一个变量,此时新的变量与原有的变量对应同一个内存存储空间,当新的变量修改对象的属性时,内存中的数据也会修改。 3.接口与抽象类的区别? 1:接口里面不可以实现方法体,抽象类可以实现方法体。 2:接口可以多继承接口,抽象类不可以。 3:接口需要被子类实现,抽象类是要被子类继承(单一继承)。 4:接口中只能有公有的方法和属性而且必须赋初始值,抽象类中可以有私有方法和属性. 5: 接口中不能存在静态方法,但属性可以和final,抽象类中方法中可以有静态方法,属性也可以。 4.谈谈继承,为什么要使用继承? 所谓继承就是找出几个类中共同的部分,提取出来作为父类。而子类只需要继承父类,就可以共享父类的方法。 使用继承能够减少重复的代码。 5.方法重载的好处?

所谓重载就是在一个类中可以定义多个相同的方法,但是方法的参数类型和参数的个数以及顺序要不同。 重载的好处就是能够让我们很快的掌握该方法的功能,我们只要要记住该方法就能很快的理解该方法的参数以及参数的作用 6.项目中印象最深的部分? 我觉得在该项目中我体现到了反射技术的强大之处,原来我一直不清楚反射是一种什么样的技术,只知道一些概念上的知识,经过这个项目之后,终于知道该怎样灵活运用反射,以及在什么时候运用。 谈谈你对面向对象的理解与认识? 我觉得使用面向对象这种思维的方式比较符合我们人类的思想,不需要去学习一些什么新的思考方式,就按照现实生活做的一些故事就能让人理解该内容的知识以及他们的作用。 我的看法就是: 1:当加入新的功能的时候不会修改原有的代码。(面向接口编程) 2: 当我们写的一个类可以重复的运用在其他项目中。(代码的复用性) 3:当写一个新类的时候要考虑到他的可扩展性。(灵活性) 7.谈谈集合框架? 集合框架分为三部分,第一部分是collection接口,第二部分是Map接口、第三部分是collections帮助类 首先说一下collection接口,collection接口下面的接口分为set 接口、list接口,在往下面就是他们一些实现类。

BAT等IT公司最新Java笔试题及答案

给出以下代码 public class Switch1{ final static short x=2; public static int y=0; public static void main(String[] args) { for(int z=0;z<4;z++){ switch(z){ case x:System.out.print(“0″); default:System.out.print(“def”); case x-1:System.out.print(“1″);break; case x-2:System.out.print(“2″); } } } } class ParentClass{ public int doStuff(int x){ return x*2; } } public class ChildClass extends ParentClass{ public static void main(String[] args){

ChildClass cc=new ChildClass(); long x=cc.doStuff(7); System.out.println(“x=”+x); } public long doStuff(int x){ return x*3; } } Public static void main(String[] args){ X.x=new X(); X.x2=m1(x); X.x4=new X(); X2=x4; //comment …. } Static X m1(X mx){ Mx=new X(); Return mx; } } 以上代码执行到comment处时有多少个可被垃圾收集的对象

精选最新2020年JAVA笔试面试考核题库完整版588题(含答案)

2020年JAVA笔试面试题库588题 一、简答题 1.将两个表连接在一起时,下面那一项通常是另外一个表的主键A. 外键 B. 总控键 C. 重复的组 D. 主键 答案:A 2.下列关于Java语言的叙述中,正确的是:A. 源文件名其扩展名为.jar B. Java是不区分大小写的 C. 源文件中public类的数据不限 D. 源文件名必须与public类型的类名相同 答案:D 3.在Weblogic中如果部署的应用访问两个数据库并需要进行事务控制时,则需配置 答案:两阶段提交协议 4.关系数据库中,典型的实体关系模型有三个要素? 答案:数据结构、关系操作、完整性约束 5.转发HTTP请求的两个方法 respsonse.sendDirect 和 RequestDispatcher.forward 的区别 答案:RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。 6.下面哪个是合法的布尔值 A. “false” B. false C. 10 答案:B 7.J2EE的三层模型是什么?

华为java笔试题以及答案

最新华为java笔试题以及答案 华为作为世界500强企业之一,每年都会在各省市招募大量人才,因为其巨大的威望和声誉以及较好的薪酬,近年来华为成为很多学子争相进入的理想之地。尤其对于很多学计算机技术的人来说,更是一大吸引之地。然而,这么大的公司可不是想进就能进的。多年来,华为对人才的要求都很高,类别也多,已形成了完整的人才招聘体系。想进去,就需要各渠道想办法,首先要过笔试。本小编在此整理了华为java笔试题,以供大家参考: 一、单项选择题 1.下列运算符合法的是() A.&&B.<>C.ifD.:= 答案:A 2.下列语句哪一个正确() A.Java程序经编译后会产生machinecode B.Java程序经编译后会产生bytecode C.Java程序经编译后会产生DLL D.以上都不正确

答案:B 3.下列说法正确的有() A.class中的constructor不可省略 B.constructor必须与class同名,但方法不能与class同名C.constructor在一个对象被new时执行 D.一个class只能定义一个constructor 答案:C 4.提供Java存取数据库能力的包是() A.java.sqlB.java.awtC.https://www.360docs.net/doc/9315626993.html,ngD.java.swing 答案:A 5.Java是从()语言改进重新设计。 A.AdaB.C++C.PasacalD.BASIC 答案:B 6.执行如下程序代码 a=0;c=0; do{

--c; a=a-1; }while(a>0); 后,C的值是() A.0B.1C.-1D.死循环 答案:C 7.下列哪一种叙述是正确的() A.abstract修饰符可修饰字段、方法和类 B.抽象方法的body部分必须用一对大括号{}包住C.声明抽象方法,大括号可有可无 D.声明抽象方法不可写出大括号 答案:D 8.下列语句正确的是() A.形式参数可被视为localvariable B.形式参数可被字段修饰符修饰 C.形式参数为方法被调用时,真正被传递的参数

相关文档
最新文档