java期末复习参考(最新)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java语言程序设计
一、Java语言基础知识
1.双目运算符和单目运算符都有哪些?i++和++i的区别是什么?
答:双目运算符有:+(表示加)、-(表示减)、*、/、%,单目运算符有:+(表示正值)、-(表示负值)、++、--。
i++是先赋值,再自加;++i是先自加,再赋值;例如:
int a,i=1;
如果a=i++;则a=1,i=2;
如果a=++i;则a=2,i=2;
2.Java语言中,“逻辑与”“逻辑或”“逻辑非”分别用什么表示?
答:“逻辑与”用&&表示,“逻辑或”用||表示,“逻辑非”用!表示。
3.表示数组元素个数的属性是什么?
答:length
二、类与对象的基本概念
1.什么是对象、类,它们之间的联系?
答:对象是包含现实世界物体特征的抽象实体,它反映系统为之保存信息和与它交互的能力;
类是具有相同操作功能和相同的数据格式(属性)的对象的集合与抽象。
类与对象的关系可以表述为:一个类是对一类对象的描述,是构造对象的模版,对象是类的具体实例。
2.请解释类属性、实例属性及其区别。
答:类属性表示类中所有的对象都相同的属性,在声明时加上static修饰符;
实例属性用来存储所有实例都需要的属性信息,不同实例的属性值可能会不同,在声明时不加static修饰符。
二者的区别为:类属性为所有的对象拥有;实例属性为每个实例对象自己拥有。
3.请解释类方法、实例方法及其区别。
答:类方法表示具体实例的类中对象的共有行为,在使用时可以将类方法发送给类名,也可以发送给一个类实例,其作用是一样的;
实例方法表示特定对象的行为,在声明时前面不加static修饰符,在使用时需要发送给一个类实例。类方法也称为静态方法,在方法声明时前面需加static修饰符。
二者的区别为:类方法在使用时既可以将类方法发送给类名,也可以发送给一个类实例,实例方法在使用时需要发送给一个类实例。
4.类成员的访问控制符有哪几种?他们对类成员分别有哪些访问限制的作用?
答:类成员的访问控制符有 public,private,protected及无修饰符。
用public修饰的成员表示是公有的,也就是它可以被其他任何对象访问(前提是对类成员所在的类有访问权限)。用private修
饰的成员只能被这个类本身访问,在类外不可见。用proteced修饰的成分是受保护的,只可以被同一类及其子类的实例对象访问。
无修饰符表示相应的成员可以被所在包中的各类访问。
5.如果在类声明中声明了构造方法,系统是否还提供默认的构造方法?
答:不提供。
三、类的方法
1.编写程序,接收用户从键盘上输入的三个整数x,y,z,从中选出最大和最小者,并编程实现。
答:新建Keyboard.java文件,其内容为:
import java.util.Scanner;
import java.io.*;
public class Keyboard{
static BufferedReader inputStream=new BufferedReader(new InputStreamReader(System.in));
public static int getInteger(){
try{
return (Integer.valueOf(inputStream.readLine().trim()).intValue());
}
catch(Exception e){
e.printStackTrace();
return 0;
}
}
public static String getString(){
try {
return inputStream.readLine();
}catch (Exception e){
e.printStackTrace();
return null;
}
}
}
新建Ex1.java文件,其内容为:
public class Exe1{
public static void main (String[] args){
System.out.print("请输入x:");
int x=Keyboard.getInteger();
System.out.print("请输入y:");
int y=Keyboard.getInteger();
System.out.print("请输入z:");
int z=Keyboard.getInteger();
if (x>y){
if(x>z){
System.out.println("最大数为x:"+x);
if(y>z){
System.out.println("最小数为z:"+z);
}
else{
System.out.println("最小数为y:"+y);
}
}
else{
System.out.println("最大数为z:"+z);
System.out.println("最小数为y:"+y);
}
}
else{
if(x>z){
System.out.println("最小数为z:"+z);
}
else{
System.out.println("最小数为x:"+x);
if(y>z){
System.out.println("最大数为y:"+y);
}
else{
System.out.println("最大数为z:"+z);
}
}
}
}
}