java语言与面向对象技术复习资料

java语言与面向对象技术复习资料
java语言与面向对象技术复习资料

一、单项选择题。

1、下列哪个是Java应用程序主类中正确的main方法?()

A.public void main(String args[])

B.static void main(String args[])

C.public static void Main(String args[])

D.public static void main(String args[])

2、下列哪项是正确的float变量的声明?()

A.float foo=-1; B.float foo=1.0;

C.float foo=2.02f; D.float foo=0x0123;

3、对于int a[]=new int[3];下列哪个叙述是错误的?()

A.a.length的值是3。B.a[1]的值是1。

C.a[0]的值是0。D.a[a.length-1]的值等于a[2]的值。

4、下列哪个叙述是正确的?()

A.5.0/2+10的结果是double型数据。

B.(int)5.8+1.0的结果是int型数据。

C.’苹’+’果’的结果是char型数据。

D.(short)10+’a’的结果是short型数据。

5、对于下列Hello类,哪个叙述是正确的?()

A.Hello类有2个构造方法。

B.Hello类的int Hello()方法是错误的方法。

C.Hello类没有构造方法。

D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。class Hello {

Hello (int m) {

}

int Hello() {

Return 20;

}

hello() {

}

}

6、下列哪个叙述是正确的?()

A.成员变量的名字不可以和局部变量的名字相同。

B.方法的参数的名字可以和方法中声明的局部变量的名字相同。

C.成员变量没有默认值。

D.局部变量没有默认值。

7、下列哪个叙述是正确的?()

A.子类继承父类的构造方法

B.abstract类的子类必须是非abstract类

C.子类继承的方法只能操作子类继承和隐藏的成员变量

D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量

8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()

class A {

static int m;

static void f() {

m=20; //A

}

}

class B extends A {

void f() //B

{ m=222; //C

}

}

class E {

public static void main(String args[]) {

A.f();

}

}

9、将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?()A.public float getNum() {return 4.0f;}

B.public void getNum() {};

C.public void getNum(double d) {}

D.public double getNum(float d) {return 4.0d;}

class A {

public float getNum() {

return 3.0f;

}

}

public class B extends A {

【代码】

}

10、下列哪个叙述是正确的?()

A. 一个类最多可以实现两个接口

B. 如果一个抽象类实现某个接口,那么它必须要重写接口中的全部方法

C. 如果一个非抽象类实现某个接口,那么它可以只重写接口中的部分方法

D. 允许接口中只有一个抽象方法

二、程序填空题。

1、public class TV {

int channel; //电视频道

void setChannel(int m) {

if(m>=1){

channel=m;

}

}

int getChannel(){

【代码1】// 返回成员变量的值}

void showProgram(){

switch(channel) {

case 1 : System.out.println("综合频道");

break;

case 2 : System.out.println("经济频道");

break;

case 3 : System.out.println("文艺频道");

break;

case 4 : System.out.println("国际频道");

break;

case 5 : System.out.println("体育频道");

break;

default : System.out.println("不能收看"+channel+"频道");

}

}

}

public class Family {

TV homeTV;

void buyTV(TV tv) {

【代码2】//将参数tv赋值给homeTV }

void remoteControl(int m) {

【代码3】//调用setChannel()方法}

void seeTV() {

【代码4】//调用showProgram()方法

}

}

public class MainClass {

public static void main(String args[]) {

TV haierTV = new TV();

【代码5】

//haierTV调用setChannel(int m),并向参数m传递5

System.out.println("haierTV的频道是"+haierTV.getChannel());

Family zhangSanFamily = new Family();

【代码6】

//zhangSanFamily调用void buyTV(TV tv)方法,并将haierTV传递给参数TV System.out.println("zhangSanFamily开始看电视节目");

zhangSanFamily.seeTV();

int m=2;

System.out.println("hangSanFamily将电视更换到"+m+"频道");

zhangSanFamily.remoteControl(m);

System.out.println("haierTV的频道是"+haierTV.getChannel());

System.out.println("hangSanFamily再看电视节目");

zhangSanFamily.seeTV();

}

}

2、abstract class Employee {

public abstract double earnings();

}

class YearWorker extends Employee {

【代码1】//重写earnings()方法

}

class MonthWorker extends Employee {

【代码2】//重写earnings()方法

}

class WeekWorker extends Employee {

public void earnings() {

return 52*780;

}

}

class Company {

Employee[] employee;

double salaries=0;

Company(Employee[] employee) {

this.employee=employee;

}

public double salariesPay() {

salaries=0;

for (int i=0;i

salaries=salaries+employee[i].earnings();

}

return salaries;

}

}

public class CompanySalary {

public static void main(String args[]) {

【代码3】//公司有29名雇员

【代码4】{ //雇员简单地分成三类

if(i%3==0)

employee[i]=new WeekWorker();

else if(i%3==1)

employee[i]=new MonthWorker();

else if(i%3==2)

employee[i]=new YearWorker();

}

Company company=new Company(employee);

System.out.println("公司薪水总额:"+company.salariesPay()+"元");

}

}

三、阅读程序写结果题。

1、Public class E {

Public static void main (String []args) {

Int x=1,y=6;

While (y-->0) {

x--;

}

System.out.print(“x=”+x+”,y=”+y);

}

}

2、class B {

int n;

static int sum=0;

void setN(int n) {

this.n=n;

}

int getSum() {

for (int i=1;i<=n;i++)

sum=sum+i;

return sum;

}

}

public class A {

public static void main(String args[]) {

B b1=new B(),b2=new B();

b1.setN(3);

b2.setN(5);

int s1=b1.getSum();

int s2=b2.getSum();

System.out.println(s1+s2);

}

}

3、请说出E类中【代码1】~【代码4】的输出结果。class A {

double f(double x,double y) {

return x+y;

}

static int g(int n) {

return n*n;

}

}

class B extends A {

double f(double x,double y) {

double m=super.f(x,y);

return m+x*y;

}

static int g(int n) {

int m=A.g(n);

return m+n;

}

}

public class E {

public static void main(String args[])

B b=new B();

System.out.println(b.f(10.0,8.0)); //【代码1】

System.out.println(b.g(3)); //【代码2】

A a=new B();

System.out.println(a.f(10.0,8.0)); //【代码3】

System.out.println(a.g(3)); //【代码4】

}

}【代码1】【代码2】

【代码3】【代码4】

四、编程题1。

编写应用程序,输出满足1+2+3+……+n<8888的最大正整数n。

五、编程题2。

设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下。

●编写抽象类Animal

Animal抽象类有2个抽象方法cry()和getAnimaName(),即要求各种具体的动物给出自己的叫声和种类名称。

●编写模拟器类Simulator

该类有一个playSound (Animal animal )方法,该方法的参数是Animal 类型。即参数animal 可以调用Animal 的子类的重写的cry()方法播放具体动物的声音,调用子类重写的getAnimalName()方法显示动物种类的名称。

编写Animal 类的子类:Dog 和Cat 类

下图是Simulator 、Animal 、Dog 、Cat 的UML 图。

部分答案

一、单项选择题。

题号 1 2 3 4 5 6 7 8 答案

D

B

B

A

D

D

C

B

二、程序填空题。

1、【代码1】return channel; 【代码2】homeTV = tv;

【代码3】homeTV.setChannel(m); 【代码4】homeTV.showProgram(); 2、【代码1】public void earnings() { return 12000;

}

Simulator

playSound(Animal):void

Animal

cry():void

getAnimalName():String

Dog cry():void

Cat

cry():void

【代码2】public void earnings() {

return 12*2300;

}

三、阅读程序写结果题。

1、答:x=-5,y=-1

2、答:27

3、答:【代码1】98.0

【代码2】12

四、编程题1。

public class Xiti6 {

public static void main(String args[]) {

int n=1;

long sum=0;

while (true) {

sum=sum+n;

n++;

if (sum>=8888) break;

}

System.out.println(“满足条件的最大整数:”+(n-1));

}}

五、编程题2。

答:Animal.java

public abstract class Animal {

public abstract void cry();

public abstract String getAnimalName();

}

Simulator.java

public class Simulator {

public void playSound(Animal animal) {

System.out.print(”现在播放”+animal.getAnimalName+”类的声音:”); animal.cry();

}

}

Dog.java

public class Dog extends Animal {

public void cry() {(1分)

System.out.println(“汪汪…汪汪”);

}

public String getAnimalName() {

return “狗”;

}

}

Cat.java

public class Cat extends Animal {

public void cry() {(1分)

System.out.println(“喵喵…喵喵”);

}

public String getAnimalName() {

return “猫”’

}

}

Application.java

public class Example {

public static void main(String args[]) { Simulator simulator=new Simulator(); Simulator.playSound(new Dog());

Simulator.playSound(new Cat());

}

}

2.Java面向对象知识测试(答案版)解析

面向对象部分测试题 考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我们考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业! 本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。 1.下面描述函数重写错误的是(c) A. 要有子类继承或实现 B. 子类方法的权限必须大于等于父类的权限 C. 父类中被private权限修饰的方法可以被子类重写 D. 子类重写接口中的抽象方法,子类的方法权限必须是public的 2.下列说法哪个正确?(a b c) A. 一个程序可以包含多个源文件 B. 一个源文件中只能有一个公共类 C. 一个源文件中可以有多个类 D. 一个源文件只能供一个程序使用

3.下面关于类的设计思路描述错误的是 ( b c ) A. 根据需求写出类所包含的字段(成员变量) B. 根据面向对象的思想要求,所有的字段都必须私有化 C. 封装之后的字段在本类内也必须使用get/set方法 D. 按需求可添加若干构造方法 4.关于封装下面介绍错误的是(d )。 A. 封装将变化隔离 B. 封装提高重用性。 C. 封装提高安全性 D. 只有被private修饰才叫做封装 5.试图编译运行下面的代码会发生什么情况 (d) public class MyClass{ static int i; public static void main(String[] args){ System.out.println(i); } } A. 错误,变量i没有被初始化 B. 输出null C. 输出1 D. 输出0 6.下面对static的描述错误的是 b A. 静态修饰的成员变量和成员方法随着类的加载而加载 B. 静态修饰的成员方法可以访问非静态成员变量 C. 静态修饰的成员可以被整个类对象所共享

《Java编程基础知识点汇总及习题集》--答案

目录 第一章 Java入门 (2) 第二章 Java基础 (5) 第三章条件转移 (16) 第四章循环语句 (22) 第五章方法 (28) 第六章数组 (35) 第七章面向对象 (44) 第八章异常 (65)

第一章Java入门 知识点汇总 1、JAVA 三大体系 ?Java SE:(J2SE,Java2 Platform Standard Edition,标准版),三个平台中最核心 的部分,包含Java最核心的类库。 ?JavaEE:(J2EE,Java 2 Platform, Enterprise Edition,企业版),开发、装 配、部署企业级应用,包含Servlet、JSP、 JavaBean、JDBC、EJB、Web Service等。 ?Java ME:(J2ME,Java 2 Platform Micro Edition,微型版),用于小型电子设备 上的软件开发。 2、JDK,JRE,JVM的作用及关系 作用 ★JVM:保证Java语言跨平台 ★JRE:Java程序的运行环境 ★JDK:Java程序的开发环境 关系 ★JDK:JRE+工具 ★JRE:JVM+类库 3、JDK环境变量配置 ?path环境变量:存放可执行文件的存 放路径,路径之间用逗号隔开 ?classpath环境变量:类的运行路径, JVM在运行时通过classpath加载需要 的类 4、重点掌握两个程序 ?javac.exe:Java编译器工具,可以将编 写好的Java文件(.java)编译成Java 字节码文件(.class); ?java.exe:Java运行工具,启动Java虚 拟机进程,运行编译器生成的字节码 文件(.class) 5、一切程序运行的入口 public static void main(String args []){ System.out.println(“Hello World!”); } 课堂笔记

实验三Java面向对象高级编程

实验三Java面向对象高级编程 一、实验目的 1. 掌握Java 面向对象编程技术 2. 能够使用继承创建子类并实现方法覆盖 3. 能够创建异类集合并使用多态 4. 能够创建抽象类和接口,并探究它们的多态特性 二、预备知识 1. JDK的安装设置:JDK/JRE/JVM; 2. Eclipse集成开发环境的绿色安装; 3. 掌握Java语言的面向对象特性(封装性、继承性、多态性); 4. 掌握Java语言的抽象类和接口。 三、实验描述 1. 实验类型:设计 2. 实验学时:4学时 3. 实验容:2项(参照四) 四、实验容 (1) 检查所使用的计算机系统: 1. 确认是否已安装JDK,并确认系统的环境变量设置; 2. 确认是否已绿色安装Eclipse集成开发环境。 (2) 实验容一:使用继承和方法覆盖创建子类,并能够创建异类集合并使用多态 具体要求: 1. 在上述银行项目中,创建Customer类: ·位于包:.mybank.domain中; ·向Customer类添加四个实例变量:firstName,lastName,accounts(Account 对象数组,长度为10)和numberOfAccounts(记录accounts数组索引的一个整数); ·添加一个公有构造方法:两个形式参数firstName,lastname,用于初始化客户、创建accounts数组和初始化accounts数组元素个数numberOfAccounts; ·添加getFirstName方法:该方法返回客户的firstName实例变量; ·添加getLastName方法:该方法返回客户的lastName实例变量; ·添加addAccount方法:该方法有一个形式参数(即Account对象),数组的下标通过实例变量numberOfAccounts实现递增,同时将该参数对象存储在accounts 数组中; ·添加getNumberOfAccounts方法:该方法返回numberOfAccounts实例变量; ·添加getAccount方法:该方法返回与指定的index数组下标相关的对象。 2. 创建SavingsAccount类,该类是Account类的子类: ·位于包:.mybank.domain中; ·向SavingsAccount类中添加interestRate实例变量; ·添加一个有两个参数的公有构造方法:initBalance和interestRate。调用父类构造

java基础知识点总结

Created by AIwen on 2017/5/14、 java就是面向对象的程序设计语言;类可被认为就是一种自定义的数据类型,可以使用类来定义变量,所有使用类定义的变量都就是引用变量,它们将会引用到类的对象。类用于描述客观世界里某一类对象的共同特征,而对象则就是类的具体存在,java程序使用类的构造器来创建该类的对象。 java也支持面向对象的三大特征:封装、继承、与多态。java提供了private、protected、与public三个访问控制修饰符来实现良好的封装,提供了extends关键字让子类继承父类,子类继承父类就可以继承到父类的成员变量与与方法,如果访问控制允许,子类实例可以直接调用父类里定义的方法。继承就是实现类复用的重要手段。使用继承关系来实现复用时,子类对象可以直接赋给父类变量,这个变量具有多态性。 面向对象的程序设计过程中有两个重要的概念:类(Class)与对象(object,也被称为实例,instance)。类可以包含三种最常见的成员:构造器、成员变量、与方法。 构造器用于构造该类的实例,java语言通过new关键字类调用构造器,从而返回该类的实例。构造器就是一个类创建对象的根本途径,如果一个类没有构造器,这个类通常无法创建实例。因此java语言提供了一个功能:如果程序员没有为一个类编写构造器,则系统会为该类提供一个默认的构造器,这个构造器总就是没有参数的。一旦程序员为一个类提供了构造器,系统将不再为该类提供构造器。 构造器用于对类实例进行初始化操作,构造器支持重载,如果多个重载的构造器里包含了相同的初始化代码,则可以把这些初始化代码放置在普通初始化块里完成,初始化块总在构造器执行之前被调用。静态初始化块代码用于初始化类,在类初始化阶段被执行。如果继承树里某一个类需要被初始化时,系统将会同时初始化该类的所有父类。 构造器修饰符:可以就是public、protected、private其中之一,或者省略构造器名:构造器名必须与类名相同。 注意:构造器既不能定义返回值类型,也不能使用void声明构造器没有返回值。如果为构造器定义了返回值类型,或使用void声明构造器没有返回值,编译时不会出错,但java会把这个所谓的构造器当成方法来处理——它就不再就是构造器。 实际上类的构造器就是有返回值的,当使用new关键字来调用构造器时,构造器返回该类的实例,可以把这个类的实例当成构造器的返回值。因此构造器的返回值类型总就是当前类,无须定义返回值类型。不要在构造器里显式的使用return来返回当前类的对象,因为构造器的返回值就是隐式的。 java类名必须就是由一个或多个有意义的单词连缀而成的,每个单词首字母大写,其她字母全部小写,单词与单词之间不要使用任何分隔符。 成员变量: 成员变量的修饰符:public、protected、private、static、final前三个只能出现一个再与后面的修饰符组合起来修饰成员变量,也可省略。 成员变量:由一个或者多个有意义的单词连缀而成,第一个单词首字母小写,后面每个单词首字母大写,其她字母全部小写,单词与单词之间不要使用任何分隔符。 类型:可以就是java语言允许的任何数据类型,包括基本类型与引用类型。 成员方法: 方法修饰符:public、protected、private、static、final、abstract,前三个只能出现一个,static与final最多只能出现其中的一个,与abstract组合起来使用。也可省略。 返回值类型:可以就是java语言的允许的任何数据类型,包括基本类型与引用类型。 方法名:与成员变量的方法命名规则相同,通常建议方法名以英文动词开头。 方法体里多条可执行语句之间有严格的执行顺序,排在方法体前面的语句总先执行,排在方法体后面的语句总就是后执行。

面向对象技术Java 期末复习试卷(三)

期末复习试卷(三) 一、单项选择题 1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的源 文件名是() A. teststudent.java B. teststudent .class C. TestStudent.java D. TestStudent.class 正确答案:C 解析:一个java文件中可以包含多个类,但最多只能有一个类是公共类(public),该java文件的名字要与公共类的一致。 2、关于下面的代码,哪个描述是正确的? public class Test{ public static void main(String[] args){ Integer n1 = new Integer(3); Object n2 = new Integer(4); System.out.println(https://www.360docs.net/doc/3f15856394.html,pareTo(n2)); } } A. 可以编译通过,可以运行,并得到预期结果。 B. 可以编译通过,可以运行,但不能得到预期结果。 C. 可以编译通过,但又运行错误。 D. 有编译错误。 正确答案:D 解析:Integer类是基本数据类型int的包装类,里面封装了一个int类型的值,

提供了一些实用的方法(例如:在JavaFX中读取文本框内容是String类型的,如果要转换成int类型,就要调用Integer类的parseInt()方法)并实现了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T是泛型,对于Integer类,T 被替换为Integer,如下图: 因此,Integer类中compareTo()方法的定义如下: 因此,compareTo的参数只能是Integer类型的,所以代码中的下面语句中的n2的类型需要进行强制类型转换,由Object转为Integer: System.out.println(https://www.360docs.net/doc/3f15856394.html,pareTo(n2)); 正确写法如下: System.out.println(https://www.360docs.net/doc/3f15856394.html,pareTo((Integer) n2)); 类似的包装类还有Long\Float\Double\Char\Boolean等,都是将基本数据类型包装为类。 3、下面哪种类型不是引用数据类型?() A. 数组 B. char C. String D. Object 正确答案:B 解析:基本数据类型只是存放数据,不提供功能(即方法)包括4类八种: 布尔类型:boolean

java面向对象知识点总结

j a v a面向对象知识点总 结 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

1 类和对象 类: 类是用来描述一类事物的共性内容的, 类是抽象的; 创建类,如何描述 属性功能 用变量来描述属性 用方法来描述功能 对象: 就是现实中具体的事物,对象是具体的; 创建对象 类名对象名 = new 类名(); 如何通过对象访问类中属性和方法呢 对象名.变量名 对象名.方法名(); 只要是new的对象,就是新创建的,就会在内存中开辟一段单独的空间匿名对象 创建的对象没有赋值给具体的变量; 所以给匿名对象的属性赋值是没有任何意义的; 匿名对象使用场景

1 调用方法 2 作为参数传递 3 添加进容器中 This 关键字 This. 类中的普通方法访问到的成员前边都有this.这个关键字This. 就代表当前对象, 普通方法, 创建对象调方法, 谁调用就代表谁 This(); 可以用来在构造函数中调用本类与之相对应的构造函数使用注意事项: 1 this() 只能是构造函数的第一条执行语句 2 this() 不能在构造函数之间相互调用 3 this() 不能调用自己 构造函数(方法) 构造函数的作用 用来给对象进行初始话的(初始化就是指给对象的各个属性赋值) 构造函数何时执行 对象一创建就会调用与之相对应的构造函数

构造函数语法 修饰符没有返回值类型类名(参数列表){ 具体执行的代码 } 构造函数自动添加 当一个类中我们没有明确指定构造函数的话,jvm会自动帮我们添加一个空参数的构造, 如果我们指定了,就不添加了 构造函数和普通函数的区别 执行时机不同 对象一创建就会调用与之相对应的构造函数 普通函数只有被调用才会执行 return 1 就是用来在方法中返回具体结果(结果类型必须和方法的返回值类型一致) 2 即便方法的返回值类型是void,方法中也可以出现 return; 3 构造函数中也可以有return关键字 成员变量和局部变量 1 作用范围不同, 成员变量是定义在类中的,在整个类中都起作用 局部变量是定义在方法中的,在所在代码块起作用

超级经典java基础知识总结

Java基础知识总结 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。 4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点: 1,该技术是什么? 2,该技术有什么特点(使用注意): 3,该技术怎么使用。demo 4,该技术什么时候用?test。 ----------------------------------------------------------------------------------------------- 一:java概述: 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器; 1994年将Oak语言更名为Java; Java的三种技术架构: JAVAEE:Java Platform Enterprise Edition,开发企业环境下的应用程序,主要针对web程序开发; JAVASE:Java Platform Standard Edition,完成桌面应用程序的开发,是其它两者的基础; JAVAME:Java Platform Micro Edition,开发电子消费产品和嵌入式设备,如手机中的程序; 1,JDK:Java Development Kit,java的开发和运行环境,java的开发工具和jre。 2,JRE:Java Runtime Environment,java程序的运行环境,java运行的所需的类库+JVM(java虚拟机)。 3,配置环境变量:让java jdk\bin目录下的工具,可以在任意目录下运行,原因是,将该工具所在目录告诉了系统,当使用该工具时,由系统帮我们去找指定的目录。 环境变量的配置: 1):永久配置方式:JAVA_HOME=%安装路径%\Java\jdk path=%JAVA_HOME%\bin 2):临时配置方式:set path=%path%;C:\Program Files\Java\jdk\bin 特点:系统默认先去当前路径下找要执行的程序,如果没有,再去path中设置的路径下找。 classpath的配置: 1):永久配置方式:classpath=.;c:\;e:\ 2):临时配置方式:set classpath=.;c:\;e:\ 注意:在定义classpath环境变量时,需要注意的情况 如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件; 如果指定了classpath,那么会在指定的目录下查找要运行的类文件。 还会在当前目录找吗?两种情况: 1):如果classpath的值结尾处有分号,在具体路径中没有找到运行的类,会默认在当前目录再找一次。 2):如果classpath的值结果出没有分号,在具体的路径中没有找到运行的类,不会再当前目录找。 一般不指定分号,如果没有在指定目录下找到要运行的类文件,就报错,这样可以调试程序。 4,javac命令和java命令做什么事情呢?

java面向对象试卷及答案

java面向对象程序设计 系班级姓名成绩得分评卷人 一、填空题(每空2分,共20分) 1.Java源程序的扩展名是,经过编译后的程序的扩展名是。2.Socket通常也称为,用于描述和。3.线程的优先级在至之间,数值越大 4.构造方法是一种特殊的成员方法,构造方法名与相同 5.Java语言只允许单继承,指每个类只能有一个。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的() A、继承 B、流程控制 C、抽象 D、封装 2.以下关于执行Java小程序的论述错误的是:() A、可以通过浏览器调用嵌入了Java小程序的HTML文档 B、可以通过appletviewer.exe调用嵌入了Java小程序的HTML文档 C、可以通过java.exe调用嵌入了Java小程序的HTML文档 D、可以在Java集成开发环境中调用嵌入了Java小程序HTML文档 3.符合对象和类关系的是:() A、人和老虎 B、书和汽车 C、楼和土地 D、松树和植物 4.关于选择结构下列哪个说法正确?() A.if语句和else语句必须成对出现 B.if语句可以没有else语句对应 C.一个if语句只能有一个else if语句与之对应 D.else if结构中必须有default语句 5.while循环和do…while循环的区别是:()

A.没有区别,这两个结构任何情况下效果一样 B.while循环比do…while循环执行效率高 C.do…while循环执行次数可能为0 D.while循环执行次数可能为0 6.关于for循环和while循环的说法哪个正确?() A.while循环先判断后执行,for循环先执行后判断。 B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 7.下列修饰符中与访问控制无关的是() A.private B.public C.protected D.final 8.方法内的形参:() A.必须定义多个形参B.可以没有 C.至少有一个D.只能是简单变量 9.throws的作用:() A.表示方法可能会抛出例外 B.表示后面是方法的输出量 C.方法的标志,每个方法都必须有 D.没有意义 10.在Java语言中,整型常量123占用的存储字节数是:()A.1B.2 C.4 D.8 11.关于对象成员占用内存的说法哪个正确?() A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存 D.以上都不对 12.return语句:()

Java语言编程基础知识

Java语言编程基础知识 Java语言编程基础知识 学习Java要掌握不同数据类型的变量定义与使用,掌握不同运 算符的运算规则,掌握流程控制语句的执行流程,编写方法的声明 与调用,创建数组并访问数组元素等知识。那么Java语言编程基础 知识有哪些呢,一起来看看! 1)注释 在程序开发工程中,用于解释和说明程序的文字我们称之为注释,Java中的注释分为以下几种:单行注释、多行注释、文档注释。 2)关键字 了解Java关键字的含义及特点,掌握关键字使用的注意事项。 3)标识符 了解什么是标识符,标识符的组成规则,以及标识符使用时的注意事项。 4)常量与变量 理解常量与变量的含义,并掌握常量与变量的区别、变量的定义格式以及变量的赋值。 5)数据类型 掌握Java语言的'数据类型,如基本数据类型:byte、short、int、long、float、double、char、boolean,以及引用类型:类、 接口、数组。 6)运算符

熟练掌握Java中的运算符:算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三目运算符。 7)流程控制语句 了解什么是流程控制语句,掌握以下流程控制语句:顺序结构、选择结构、循环结构,并能够通过流程控制语句实现特定的功能。 8)方法 掌握方法的定义及格式,并能正确的调用方法,理解方法的调用过程,同时清楚方法的注意事项;掌握方法重载及其特点。 9)数组 了解数组的概念,掌握数组的定义格式、静态初始化、动态初始化,并能够理解Java中数组的内存图解。熟练掌握数组的遍历、获取最值、数组元素逆序、数组元素查找、数组排序和二分查找,以及二维数组的定义格式及初始化。

1.Java基础知识测试

考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业! 本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。 1.下面说法正确的是) A. JVM就是Java虚拟机,包含java核心类库 B. JRE就是java运行环境,包含java程序编译运行的工具环境 C. JDK就是java开发环境,javac是其中的一个工具 D. 功能范围:JDK > JVM > JRE 2.下面的说法正确的是( ) A. Java 语言是面向对象的、解释执行的网络编程语言。 B. Java 语言具有可移植性,是与平台无关的编程语言。 C. Java 语言可对内存垃圾自动收集。 D. Java 语言编写的程序虽然是“一次编译,到处运行”,但必须要java的运行环境。 3.给定java代码,如下: public byte count(byte b1, byte b2){ return ____; } 要使这段代码能够编译成功,横线处可以填入 A. (byte)(b1-b2) B. b1-b2 C. (byte)b1+b2 D. (byte)b1/b2

4.关于类的命名,正确说法是() A. 可以由数字和英文拉丁字母组成,且可以任意排序 B. 命名要做到见名知意 C. 如果是由多个单词组成,每个单词首字母大写 D. 可以是Java已经定义过的关键字 5.关于main方法说法错误的是() A.main方法是java程序执行的入口 B.main方法的方法体重至少要有一行代码 C.main必须定义在一个类中 D. main方法的定义格式为:public static void main(String[] args){} 6.类中某方法定义如下: double fun(int a,int b){ return a*1.0/b; } 同一类内其它方法调用该方法的正确方式是: A. double a = fun(1,2); B. double a = fun(1.0,2.0); C. int x = fun(1,2); D. int x = fun(1.0,2.0); 7.给定java代码,如下,编译运行,结果是() public static void main(String[] args){ boolean flag; System.out.println(“flag”+flag); } A. 编译错误 B. 编译通过,单出现运行时错误 C. 正常运行,输出flag=false D. 正常运行,输出flag= 8.下面哪个关键字可以定义一个类() A. interface B. class C. extends D. implements

2012-2013java面向对象期末测试题(带答案)

济南大学2009~2010 学年第二学期课程考试试卷 课 程 java 面向对象程序设计 授课教师 考试时间 考试班级 学 号 姓 名 题号 一 二 三 四 五 总 分 审核人 得分 一、填空题(每空2分,共20分) 1.Java 源程序的扩展名是 .java ,经过编译后的程序的扩展名是 .class 。 2.Socket 通常也称为 套接字 ,用于描述 IP 地址 和 端口 。3.线程的优先级在 1 至 10 之间,数值越大 优先级越高 4.构造方法是一种特殊的成员方法,构造方法名与 类名 相同 5.Java 语言只允许单继承,指每个类只能有一个 父类或子类 。 二、选择题(每题2分,共50分) 1.下列哪个概念是面向对象和面向过程程序设计所共有的 ( B ) A 、继承 B 、流程控制 C 、抽象 D 、封装 2.以下关于执行Java 小程序的论述错误的是: ( C ) A 、可以通过浏览器调用嵌入了Java 小程序的HTML 文档 B 、可以通过appletviewer .exe 调用嵌入了Java 小程序的HTML 文档 C 、可以通过java.exe 调用嵌入了Java 小程序的HTML 文档 D 、可以在Java 集成开发环境中调用嵌入了Java 小程序HTML 文档 3.符合对象和类关系的是: ( D ) A 、人和老虎 B 、书和汽车 C 、楼和土地 D 、松树和植物 4.关于选择结构下列哪个说法正确? (B ) A .if 语句和 else 语句必须成对出现 B .if 语句可以没有else 语句对应 … … …… …… …… …… …… … …… …装 …… …… …… … …… …订 …… …… …… … …… …线 …… …… …… … …… …… …… …… …

java基础知识大全(必看经典)

第一讲 Java语言入门 1.1 Java的特点 1.1.1面向对象: ?与C++相比,JAVA是纯的面向对象的语言 C++为了向下兼容C,保留了很多C里面的特性,而C,众所周知是面向过程的语言,这就使 C++成为一个"混血儿"。而JAVA语法中取消了C++里为兼容C所保留的特性,如取消了头文件、指针算法、结构、单元等。 1.1.2可移植(平台无关性): ?生成中间字节码指令 与其他编程语言不同,Java并不生成可执行文件(.exe文件),而是生成一种中间字节码文件(.class文件)。任何操作系统,只要装有Java虚拟机(JVM),就可以解释并执行这个中间字节码文件。这正是Java实现可移植的机制。 ?原始数据类型存储方法固定,避开移植时的问题 Java的原始数据类型的大小是固定的。比如,在任何机器上,整型都是32位,而C++里整型是依赖于目标机器的,对16位处理器(比如8086),整数用两个字节表示;在像Sun SPARC这样的32位处理器中,整数用4个字节表示。在Intel Pentium处理器上,整数类型由具体的操作系统决定:对于DOS和Win32来说,整数是2个字节;对于Windows 9x 、NT和2000,整数是4个字节。当然,使整数类型平台无关之后,性能必然有所下降,但就Java来说,这个代价是值得的。Java的字符串,则采用标准的Unicode格式保存。可以说,没有这个特性,Java的可移植性也不可能实现。 1.1.3简单 ?JAVA在语法上与C++类似 JAVA的语法与C++很接近,有过C或者C++编程经验的程序员很容易就可以学会JAVA语法; ?取消了C++的一些复杂而低效的特性比如:用接口技术代替了C++的多重继承。C++中,一个类允许有多个超类,这个特性叫做"多重继承",多重继承使得编译器非常复杂且效率不高;JAVA 的类只允许有一个超类,而用接口(Interface)技术实现与C++的多继承相类似的功能 其它被取消的特性包括:虚拟基础类、运算符过载等 ?JAVA的基本解释器和类支持模块大概仅40K 即使加入基本的标准库和支持线程的模块,也才220K左右。与GUI(图形用户界面)相比,

面向对象技术(Java)-实验2-类与对象

实验报告 课程名称面向对象技术(Java)实验项目类和对象 实验仪器个人计算机 学院计算机学院 专业计算机大类 班级/学号 学生姓名___ ___________ 实验日期2019/04/03 指导教师___ _________

实验项目二类和对象 一、实验目标 1.掌握类的定义和对象的创建以及使用方法;掌握UML类图的绘制。 2.掌握实例变量与静态变量、实例方法与静态方法的区别与使用。 3.掌握成员变量与局部变量的定义与使用。 4.理解和掌握面向对象技术的封装性,能够运用面向对象思想、术语和相关技术正确表达一般工程问题。 二、实验要求 1.上机实验前,按照每一个实验题目的具体要求提前完成准备工作,如:查找资料、设计 算法、写出全部源程序,做好预习笔记,做到有准备地上机。 2.上机实验课内,积极调试及修改程序。上传程序到过程化考核平台 /http://211.68.40.252:8008/ 3.上机实验课后,学生应根据实验数据及结果,完成实验报告。实验报告是评定实验成绩 的重要组成部分。完成的实验报告交给课代表,课代表收齐本班的实验报告后统一交指导教师审阅评定。 三、实验环境 硬件环境:个人电脑一台 软件环境:JDK1.8及以上版本,NetBeans8.0及以上版本 四、实验内容 任务1 、定义一个名为Circle的类表示圆形。这个Circle类包括: (1)一个名为radius的私有double型数据域,表示圆的半径。radius的默认值为1。(2)一个名为numberOfObjects的私有静态数据域,用于记录创建的圆对象的个数。(3)一个无参构造方法。 (4)一个能指定radius的构造方法。 (5)一个名为getArea()的方法返回这个圆形的面积。 (6)一个名为getNumberOfObjects的类静态方法,返回已创建圆的个数。 (7)radius的set/get方法。 然后,编写一个测试程序。要求在测试程序中: (1)创建一个半径为5.0的圆对象myCircle,并输出这个圆的半径及面积。 (2)修改这个圆的半径,将其半径扩大到1.1倍后,重新输出它的半径及面积。 解题要求:使用Math.PI,计算圆面积。 输出参考样例如图所示。

java编程语言基础知识要点

java编程语言基础知识要点 专门多Java编程初学者在刚接触Java语言程序的时候,不明白该学习把握哪些必要的基础知识。下而就讲讲Java零基础学习,Java编程语言基础知识的几个要点。期望能够对Java编程基础入门学习的新手有关心。 一、先明白了解Java的四个方面 初学者先弄淸这些Java的差不多概念也是必不可少的,死记硬背确信是不行的,重在明白得,明白得它们之间的区不与联系,分不有哪些应用。想想这些代码中用到了哪些知识点。不要一味地照着书本敲代码。而不去明白得。 Java编程语言,即语法。 Java文件格式,即各种文件夹、文件的后缀。 Java虚拟机(JVM),即处理*.class文件的讲明器。 Java应用程序接口(Java API)c 要明白java是分两部分的:一个是编译,一个是运行。 javac:负责的是编译的部分,当执行javac时,会启动java的编译器程序。对指泄扩展名的.java文件进行编译。生成了jvm能够识不的字节码文件。也确实是class文件,也确实是java 的运行程序。 java:负责运行的部分.会启动jvm.加载运行时所需的类库,并对class文件进行执行。一个文件要被执行,必须要有一个执行的起始点,那个起始点确实是main函数。 二、把握静态方法和属性 静态方法和属性用于描述某一类对象群体的特点,而不是单个对象的特点。Java中大量应用了静态方法和属性,这是一个通常的技巧。然而这种技巧在专门多语言中不被频繁地使用。明白得静态方法和属性关于明白得类与对象的关系是十分有关心的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该明白得静态方法和属性。Java在方法和属性的调用上是一致的,区不只表现在声明的时候,这和c卄是不同的。 三、A VA的三个技术平台的关系 初学者还需明白JAVA的三个技术平台的关系。 Java分为三个体系,分不为:

面向对象技术Java-期末复习试卷(三)

期末复习试卷(三) 单项选择题 1、有一段java应用程序,其中包含一个公共类,名字为TestStudent,那么保存它的源 文件名是( ) A. teststudent.java B. teststudent .class C. TestStudent.java D. TestStudent.class 正确答案:C 解析:一个java 文件中可以包含多个类, 但最多只能有一个类是公共类 ( public ), 该java 文件的名字要与公共类的一致。 2、关于下面的代码,哪个描述是正确的? public class Test{ public static void main(String[] args){ Integer n1 = new Integer(3); Object n2 = new Integer(4); System.out.println(https://www.360docs.net/doc/3f15856394.html,pareTo(n2)); } } A. 可以编译通过,可以运行,并得到预期结果。 B. 可以编译通过,可以运行,但不能得到预期结果。 C. 可以编译通过,但又运行错误。 D. 有编译错误。 正确答案:D 解析:Integer 类是基本数据类型int 的包装类,里面封装了一个int 类型的值, 提供了一些实用的方法 (例如:在JavaFX中读取文本框内容是String类型的,如果要转换成int类型,就要调用Integer类的parselnt() 方法)并实现了Comparable接口,在Comparable接口中定了抽象方法compareTo(T o), T 是泛型,对于Integer 类,T 被替换为Integer,如下图:

Java基础知识整理2

Java知识点总结 1环境搭建与开发 1.1环境变量 JAV A_HOME:Java的安装目录; CLASSPATH:指定一个路径列表,用于搜索Java在编译或运行时需要用到的类(.class文件); PATH:指定一个路径列表,用于搜索可执行文件。 1.2Java SDK应用 编译:Javac类名.class; 运行:Java类名; 打包:jar cf test.jar test(把当前目录下的test目录下的所有文件压缩到test.jar文件中)。 2变量与常量 Java中的常量用保留字final来实现。 变量:局部变量(local variable)、实例变量(instance variable)、类变量(class variable);任何变量在使用前都必须初始化,局部变量必须显示初始化,实例变量在类的构造方法被调用时初始化(分配默认值),类变量在类被加载时被初始化。 3标识符 3.1命名 在Java语言中,标识符的定义规则是以字母、下划线、美元符开始,后面可以跟字母、下划线、美元符、数字。 因为Java语言使用Unicode字符集,所以对字母不仅限于英文,还可以是日文、韩文、阿拉伯文、中文等。 区分大小写,没有字数限制。

3.2关键字 3.2.1static static方法中不能有this和super关键字(static方法不是“面向对象”的,而是“面向类”的)。 static方法中只能访问所属类的static方法和变量。 static数据成员的初始化:在第一次生成该类的对象时初始化。 3.2.2final 1)final数据 a)static final ●更加典型的定义方式是public static final; ●占用一段不能改变的存储空间; ●代表编译时常量,即在编译器就能知道其值(如果只声明为final或 者static,是在运行时才知道值)。 ●全部用大写字母命名,单词之间用下划线隔开。 b)final数据与final引用 ●final数据的值不能被改变; ●final引用是指无法将其指向一个新的对象(数组也是一种引用),对 象本身的值是可以改变的。 c)空白final(声明为final却未赋初始值) ●可以做到根据对象有所不同,又保持恒定不变的特性; ●必须保证使用前已经初始化:在定义处赋值或者在构造器中赋值。 2)final参数 ●无法在方法中更改引用所指向的对象。 3)final方法 ●禁止覆盖,防止任何继承类修改它的定义; ●private方法都是final的,因此private方法无法覆盖。 4)final类 ●不允许继承该类; ●final类中的所有方法都隐式指定为final的。

Java语言与面向对象技术复习资料

一、单项选择题。 1、下列哪个是Java应用程序主类中正确的main方法?() A.public void main(String args[]) B.static void main(String args[]) C.public static void Main(String args[]) D.public static void main(String args[]) 2、下列哪项是正确的float变量的声明?() A.float foo=-1; B.float foo=1.0; C.float foo=2.02f; D.float foo=0x0123; 3、对于int a[]=new int[3];下列哪个叙述是错误的?() A.a.length的值是3。B.a[1]的值是1。 C.a[0]的值是0。D.a[a.length-1]的值等于a[2]的值。 4、下列哪个叙述是正确的?() A.5.0/2+10的结果是double型数据。 B.(int)5.8+1.0的结果是int型数据。 C.’苹’+’果’的结果是char型数据。 D.(short)10+’a’的结果是short型数据。 5、对于下列Hello类,哪个叙述是正确的?() A.Hello类有2个构造方法。 B.Hello类的int Hello()方法是错误的方法。 C.Hello类没有构造方法。 D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)。 class Hello { Hello (int m) { } int Hello() { Return 20; } hello() { } } 6、下列哪个叙述是正确的?() A.成员变量的名字不可以和局部变量的名字相同。 B.方法的参数的名字可以和方法中声明的局部变量的名字相同。 C.成员变量没有默认值。 D.局部变量没有默认值。 7、下列哪个叙述是正确的?() A.子类继承父类的构造方法 B.abstract类的子类必须是非abstract类 C.子类继承的方法只能操作子类继承和隐藏的成员变量 D.子类重写或新增的方法也能直接操作被子类隐藏的成员变量 8、下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?()class A {

面向对象技术

《面向对象技术(本)》课程第一阶段练习题 一.填充题 1.Java源程序文件的扩展名是java;Java源程序经编译后生成Java字节码文件,其扩展名是class。 2.Java程序可分为Application和Applet两大种类。 3.开发与运行Java程序需要经过的三个主要步骤为编写源程序、 编译源程序和解释运行字节码文件。 4.在Java程序中定义的类有两种成员:成员变量、成员方法。 5.一个Application源程序文件名为MyPro.java,如果使用Sun公司的Java开发工具SDK编译该源程序文件并使用其虚拟机运行这个程序的字节码文件,应该顺序执行如下两个命令: javac MyPro.java 、 java MyPro 。 6.定义初值为123456789的长整型变量 var 的语句是__long var=123456789L;__。 7.在Java语言中,逻辑常量值除了true之外另一个是false。 8.表达式15+4*5-12的运算结果是23。 二.选择题 1.编译Java源程序文件后所产生的字节码文件的扩展名为: C A.java B. html C.class D. exe 2. main方法是Java Application程序执行的入口点,以下main方法头部合法的是:B A. public static void main() B. public static void main(String args[]) C. public static int main(String[] arg) D. public void main(String arg[]) 3.下面的Java源文件代码片断是不正确的定义次序的是: D A.package mypack; public class Demo{//do something…

相关文档
最新文档