JAVA基础 第3章类与对象_练习题_200910
第3章类与对象
一.选择题
1.下列不属于面向对象编程的特性是(D)。
A.封装性 B. 继承性 C. 多态性 D. 编译执行
2.下列类的声明中不合法的是(C)。
A. class People{…}
B. class 植物{…}
C. Class A{…}
D. public class 共有类{…
3.下列方法的声明中不合法的是(C)。
A. float area(){…}
B. void area(){…}
C. double area(d){…}
D. int area(int r){…}
4. 下列构造方法(构造器)的调用中正确的是(C)。
A. 按照一般的方法调用
B. 由用户直接调用
C. 只能通过new自动调用
D. 被系统调用
5.下列程序运行的结果是(A)。
class Book{
int width;
int length;
}
public class A{
static void f(Book p){
p.width=20;
p.length=40;
}
public static void main(String args[]){
Book b=new Book();
b.width=10;
b.length=20;
f(b);
System.out.print(" "+b.width);
System.out.print(" "+b.length);
}
}
A. 20 40
B. 10 40
C. 10 20
D. 以上都不对
6.下列程序运行的结果是(D)。
public class A{
static void f(int y){
y=y+10;
}
public static void main(String args[]){
double x=10;
f(x);
System.out.println(x);
}
}
A. 10
B. 20
C. 10.0
D. 程序编译错误
7.下列程序运行的结果是(C)。
public class A{
int z=20;
static void f(int y){
y=z;
System.out.println(y);
}
public static void main(String args[]){
f(10);
}
}
A. 10
B. 20
C. 程序编译错误
D. 以上都不对
8. 以下代码的输出结果为(C)。
public class Pass{
static int j=20;
public static void main(String args[]){
int i=10;
Pass p = new Pass();
p.amethod(i);
System.out.println(i+" and "+j);
}
public void amethod(int x){
x=x*2;
j=j*2;
}
}
A.错误: 方法参数与变量不匹配
B. 20 and 40
C. 10 and 40
D. 10 and 20
9. 编译和运行程序会出现什么样的结果(A)。
public class Ref{
public static void main(String args[]){
Ref r = new Ref();
r.amethod(r);
}
public void amethod(Ref r){
int i=99;
multi(r);
System.out.println(i);
}
public void multi(Ref r){
r.i = r.i * 2;
}
}
A.编译出错 B. 输出:99 C. 输出:198 D. 运行出错10. 关于以下程序代码的说明正确的是(D)。
1.class HasStatic{
2. static int x=100; int y=0;
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
11. 有如下代码:
public class Test {
void printValue(int m){
do {
System.out.println("The value is"+m);
}while( --m > 10 );
}
public static void main(String arg[]) {
int i=10;
Test t= new Test();
t.printValue(i);
}
}
其输出结果是什么(C)。
A. The value is 8
B. The value is 9
C. The value is 10
D. The value is 11
12. 以下代码的调试结果为(D)。
1. public class Q21
2. {
3. int maxElements;
4.
5. void Q21()
6. {
7. maxElements = 100;
8. System.out.println(maxElements);
9. }
10.
11. Q21(int i)
12. {
13. maxElements = i;
14. System.out.println(maxElements);
15. }
16.
17. public static void main(String[] args)
18. {
19. Q21 a = new Q21();
20. Q21 b = new Q21(999);
21. }
22. }
A. 输出 100 和 999
B.输出 999 和 100
C.第3行出现编译错误, 变量 maxElements 未初始化
D. 第19行出现编译错误
13. 给出如下类定义:
public class test {
test(int k) {…}
}
如果要创建一个该类的对象,正确的语句是(B)。
A. test obj1=new test(); B. test obj1=new test(5);
C. test obj1=new test("5 "); D. test obj1=new test(3.4);
14. 指出下列哪个方法不能与方法public void add(int a){…}重载(A)。
A. public int add(int b)
B. public void add(double b)
C. public void add(int a, int b)
D. public void add(float g)
15.下面程序的输出结果是什么(C)。
class J_Test{
int m_i = 2;
String m_s = null;
J_Test(){
m_i = 3;
m_s = "constructor";
}
public static void main(String args[]){
J_Test app = new J_Test();
System.out.println(app.m_i+app.m_s);
}
}
A. 2null
B. 3null
C. 3constructor
D. 以上都不对
16. 下面程序的输出结果是什么(A)。
class J_Test{
int m_i = 2;
String m_s = null;
void J_Test(){
m_i = 3;
m_s = "constructor";
}
public static void main(String args[]){
J_Test app = new J_Test();
System.out.println(app.m_i+app.m_s);
}
}
A. 2null
B. 3null
C. 3constructor
D. 以上都不对
17.下列代码的运行结果是(D)。
public class J_Test{
static short m_index;
static int m_age;
public static void mb_setData(long n){
m_index = n;
}
public static void main(String args[]){
mb_setData(98);
System.out.println("Index=" + m_index + ";Age="+m_age);
}
}
A. Index = 98 ;Age=0
B. Index = 0 ;Age=0
C. Index = 0;Age=98
D. 以上都不对
18.下列程序的运行结果为(B)。
public class J_Test{
static char m_name;
static int m_age;
public static void mb_setData(char n){
m_name = n;
}
public static void mb_setData(int n){
m_age = n;
}
public static void main(String args[]){
mb_setData((int)’a’);
mb_setData((char)98);
System.out.println("Name=" + m_name + ";Age="+m_age);
}
}
A.Name=98;Age=97 B. Name=b;Age=97
C. Name=97;Age=B
D. 以上都不对
19. 程序的运行结果为(A)。
public class J_Test{
static short m_index;
static int m_age;
public static void mb_setData(short n){
m_index = n;
}
public static void mb_setData(int n){
m_age = n;
}
public static void main(String args[]){
mb_setData(98);
System.out.println("Index=" + m_index + ";Age="+m_age);
}
}
A. Index=0;Age=98
B. Index=98;Age=0
C. Index=0;Age=0
D. 以上都不对
二.编程题(温馨提示:编程时尽量不要使用中文标识符。)
1. 编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。
具体要求如下:
1)Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。
2)Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。
3)创建主类,用来测试类Lader和类Circle的功能。
1. class Lader {
double 上底, 下底, 高, 面积;
Lader(double a, double b, double h) {
上底 = a;
下底 = b;
高 = h;
}
double getArea(){
//将计算结果存放在对象的成员变量里面,且作为函数值返回。
面积 = (上底 + 下底) * 高 / 2;
return 面积;
}
}
class Circle {
double 半径, 周长, 面积;
Circle(double r) {
半径 = r;
}
double getLength() {
周长 = 3.14 * 2 * 半径;
return 周长;
}
double getArea() {
面积 = 3.14 * 半径 * 半径;
return 面积;
}
}
class One {
public static void main(String[] args) {
Lader la = new Lader(3,4,2); //参数类型相同或相容
la.getArea(); //必须先调用该方法,面积属性才有相应值。
System.out.println("梯形的面积为:" + la.面积);
Circle cr = new Circle(1);
System.out.println("圆的周长为:" + cr.getLength());
System.out.println("圆的面积为:" + cr.getArea());
}
}
2. 建立一个名叫Cat的类,具有属性:姓名、毛色、年龄;具有行为:显示姓名、喊叫。
编写主类,在主类中创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。2.class Cat {
String name;
String color;
int age;
void showName(){
System.out.println(name);
}
void cry(){
System.out.println("喵喵");
}
}
public class Two {
public static void main(String[] args) {
Cat c = new Cat();
https://www.360docs.net/doc/573229350.html,="妮妮";
c.color="灰色";
c.age=2;
System.out.println("color = " + c.color);
System.out.println("age = " + c.age);
c.showName();
c.cry();
}
}
3. 创建一个叫做People的类,具有属性:姓名、年龄、性别、身高;具有行为:说话、
计算加法、改名;还有能为所有属性赋值的构造方法。
创建主类,在主类中创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80;
让该对象调用成员方法:说出“你好!”,计算23+45的值,并将名字改为“李四”。
3. class People {
String name;
int age;
char sex;
float height;
People(String n, int a, char s, float h){
name = n;
age = a;
sex = s;
height = h;
}
void speak(String s){
System.out.println(s);
}
double add(double x, double y){
return x+y;
}
void rename(String m){
name = m;
}
}
public class Three {
public static void main(String[] args) {
People zhang3 = new People("张三",18,'男',1.80f);
zhang3.speak("你好!");
System.out.println("23+45=" + zhang3.add(23,45));
zhang3.rename("李四");
System.out.println(https://www.360docs.net/doc/573229350.html,);
}
}
4. 创建一个叫做机动车的类:
属性:车牌号(String),车速(int),载重量(double)。
功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。
编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速度设置为100,载重量设置为100;另一个能为对象的所有属性赋值。
创建主类:
创建两个机动车对象。创建第一个时调用无参数的构造方法,调用成员方
法使其车牌为“辽A9752”,并让其加速。
创建第二个时调用有参数的构造方法,使其车牌为“辽B5086”,车速为
150,载重为200,并让其减速。输出两辆车的所有信息。
4. class Vehicle{
String id;
int speed;
double load;
void upSpeed(){
++speed;
}
void downSpeed(){
--speed;
}
void idChanging(String i){
id = i;
}
double showLoad(){
return load;
}
Vehicle(){
id = "XX1234";
speed = 100;
load = 100;
}
Vehicle(String i, int s, double l){
id = i;
speed = s;
load = l;
}
}
public class Four {
public static void main(String[] args) {
Vehicle v1 = new Vehicle();
v1.idChanging("辽A9752");
v1.upSpeed();
Vehicle v2 = new Vehicle("辽B5086",150,200);
v2.downSpeed();
System.out.println(v1.id+","+v1.speed+","+v1.load);
System.out.println(v2.id+","+v2.speed+","+v2.load);
}
}
5. 创建一个point类,有成员变量x、y,方法getX()、setX(),还有一个构造方法用于初
始化x和y。创建主类来测试它。
5. class Point {
double x,y;
Point(double x, double y){
this.x=x;
this.y=y;
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
}
public class Five {
public static void main(String[] args) {
Point p = new Point(1,2);
p.setX(3);
System.out.println(p.getX());
}
}
6. 创建一个三角形类,有成员变量三条边,有方法求周长,创建主类来测试它。
6. class Triangle{
double a,b,c;
double getLength(){
return a+b+c;
}
}
public class Six {
public static void main(String[] args) {
Triangle t = new Triangle();
t.a = 2;
t.b = 3;
t.c = 4;
System.out.println("周长=" + t.getLength());
}
}
7. 编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int x),
1)如果x的值是1,在控制台打印出大写的英文字母;
2)如果x的值是2,在控制台打印出小写的英文字母。
其次,再定义一个主类,在主类的main方法中创建Print类的对象,使用这个对象调
用方法output ()来打印出大小写英文字母。
7. class Print{
void output(int x){
char c;
if (x==1){
for(c='A';c<='Z';c++)
System.out.print(c);
}
if (x==2){
for(c='a';c<='z';c++)
System.out.print(c);
}
System.out.println();
}
}
public class Seven {
public static void main(String[] args) {
Print p = new Print();
p.output(1);
p.output(2);
}
}
8. 编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变量“账号”
和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次,编写一个主类,在主类中测试Account类的功能。
class Account {
String id;
double money;
void save(double x) {
money = money + x;
}
void get(double y) {
money = money - y;
}
void select() {
System.out.println("余额=" + money);
}
}
public class Eight {
public static void main(String[] args) {
Account kaien = new Account();
kaien.save(10000);
kaien.get(200);
kaien.select();
}
}
9. 编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型成员变量
分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义一个主类,在主类的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。
9. class Clock{
int hour,second,minute;
Clock(int h, int s, int m){
hour = h;
minute = m;
second = s;
}
void show(){
System.out.println(hour + ":" + minute + ":" + second);
}
}
public class Nine {
public static void main(String[] args) {
Clock c1 = new Clock(21,16,30);
c1.show();
Clock c2 = new Clock(12,12,12);
c2.show();
Clock c3 = new Clock(3,3,3);
c3.show();
}
}
10.编写Java应用程序。首先,定义描述学生的类——Student,包括学号(int)、姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类,在主类的main方法中创建多个Student类的对象,使用这些对象来测试Student类的功能。10.class Student{
int id;
String name;
int age;
Student(int i, String n, int a){
id = i;
name = n;
age = a;
}
void outPut(){
System.out.println("学号=" + id + "; 姓名=" + name + "; 年龄=" + age);
}
}
public class Ten {
public static void main(String[] args) {
Student s1 = new Student(1,"Li",18);
s1.outPut();
Student s2 = new Student(2,"Wang",19);
s2.outPut();
Student s3 = new Student(3,"Jiang",20);
s3.outPut();
}
}
JAVA类与对象及数组习题及复习资料
JA V A类和对象及数组习题 一、选择题 (1)下列构造方法的调用方式中,正确的是( D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。 A.按照一般方法调用B.由用户直接调用 C.只能通过new自动调用D.被系统调用 (2)在Java中,能实现多重继承效果的方式是( C )--原因:一个类可以同时实现多个接口。Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。 A.内部类B.适配器C.接口D.同步 (3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。 A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 (4)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。Java源文件中的public类只能有一个。 A. 声明变量时必须指定一个类型 B. Java认为变量number与Number相同 C. Java中唯一的注释方式是"//" D. 源文件中public类可以有0或多个 (5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。所以可以认为子类是父类的扩展。
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类和对象的关系
1、JAVA中的参数传递问题(理解内存图) 基本类型:形式参数的改变对实际参数没有影响 引用类型:形式参数的改变直接影响实际参数 2、面向对象(理解,升就业班问说说什么是面向对象和思想特点) 1、面向对象(从三点回答) A面向过程是以函数为基础,完成各种操作,强调的是过程 B面向对象以对象为基础,完成各种操作,强调的是对象,结果 C面向对象是基于面向过程的 2、面向对象的思想特点: a)是一种更符合人们思考习惯的思想 b)把复杂的事情简单化 c)把我们从执行者变成了指挥者 3、举例: a)买电脑 b)洗衣做饭 c)旅游 d)把大象装进冰箱(伪代码体现) 4、事物是如何体现的 a)属性有哪些特征名词提取法 b)行为有哪些功能 5、类与对象的关系(掌握) 把事物转换成类 A:成员变量 定义在类中,方法外 B:成员方法 和以前的区别是去掉static 把这个说完还没有说道类与对象的概念,对不对 类:是相关的属性和行为的集合,集合就是一堆东西,是一个抽象的概念 对象:是某种事物的具体的存在,具体的表现形式 举例: 学生:类 对象:小明 6、案例 A学生类 B手机类 C汽车类(在这里画了内存图,有空看一下) 7、如何使用呢 a)创建对象 i.格式 a)类名变量= new 类名() b)使用成员变量和成员方法
i.对象名.成员变量 ii.对象名.成员方法 8、成员变量和局部变量的区别(理解) A 定义位置 成员变量:在类中方法外 局部变量,在类中方法中,或者方法上的形式参数 B 初始化的区别 成员变量:有默认的初始化值 局部变量:无 C 存储位置 成员变量:堆随着对象的存在而存在 局部变量:栈随着方法的存在而存在 9、匿名对象 a)概念:没有名字的对象 b)使用场景 i.当对象中的方法只掉用一次的情况下使用(一般不用,测试时使用)new Student().sayHello(); ii.匿名对象作为实际参数传递
JAVA基础-第3章类与对象-练习题-200910
第3章类与对象 一.选择题 1.下列不属于面向对象编程的特性是(D)。 A.封装性 B. 继承性 C. 多态性 D. 编译执行 2.下列类的声明中不合法的是(C)。 A. class People{…} B. class 植物{…} C. Class A{…} D. public class 共有类{… 3.下列方法的声明中不合法的是(C)。 A. float area(){…} B. void area(){…} C. double area(d){…} D. int area(int r){…} 4. 下列构造方法(构造器)的调用中正确的是(C)。 A. 按照一般的方法调用 B. 由用户直接调用 C. 只能通过new自动调用 D. 被系统调用 5.下列程序运行的结果是(A)。 class Book{ int width; int length; } public class A{ static void f(Book p){ p.width=20; p.length=40; } public static void main(String args[]){ Book b=new Book(); b.width=10; b.length=20; f(b); System.out.print(" "+b.width); System.out.print(" "+b.length); } } A. 20 40 B. 10 40 C. 10 20 D. 以上都不对 6.下列程序运行的结果是(D)。 public class A{ static void f(int y){ y=y+10; } public static void main(String args[]){ double x=10; f(x); System.out.println(x); } }
java基础练习题
1) 以下关于Java语言说法错误的是()。(选择两项) a) Java语言是一种OO语言,Java API是Java语言的帮助文档 b) Java语言具有平台无关性-Write Once,Run Anywhere c) Java语言的核心是Java Virtual Machine d) 使用Java语言,程序员要使用原始方法分配和释放内存空间 e) Java语言是一种编译执行语言 知识点: 第一章Java语言基础Java语言基本概念 2) 以下哪一项不是Java的关键字(b)。(选择一项) a) if b) then c) goto d) case e) while 知识点: 第二章Java编程基础Java中的关键字 3) 下列(a,e)不是合法的Java语言标识符。(选择两项) a) 2variable b) variable2 c) _whatavariable d) $anothervar e) #myvar f) _3_ 知识点: 第二章Java编程基础Java中的标识符 4) 执行下列代码段后,变量x的值是(c)。(选择一项) x=9; y=9; x=(y<=x++)?1:0; a) 1 b) 2 c) 0 d) 10 知识点: 第二章Java编程基础三元运算符 5) System.out.println(4 | 7);上面语句的输出结果是(d)。(选择一项) a) 4 b) 5 c) 6 d) 7 e) 0 知识点: 第二章Java编程基础位运算符 6) 以下会产生编译错误的Java语句是(b)。(选择一项) a) if (2 == 3) System.out.println("Hi"); b) if (2 = 3) System.out.println("Hi");
JAVA类与对象及数组习题及答案
JAV A类和对象及数组习题 一、选择题 (1)下列构造方法的调用方式中,正确的是(D )--原因:在通过new实例化一个类对象时系统会自动调用该类相应的构造方法。 A.按照一般方法调用B.由用户直接调用 C.只能通过new自动调用D.被系统调用 (2)在Java中,能实现多重继承效果的方式是(C )--原因:一个类可以同时实现多个接口。Java接口反映了对象较高层次的抽象,还弥补了Java只支持单继承的不足,可用它来完成多继承的一些功能。 A.内部类B.适配器C.接口D.同步 (3)int型public成员变量MAX_LENGTH,该值保持为常数100,则定义这个变量的语句是( D )—原因:java中定义常量用关键字final来定义。 A.public int MAX_LENGTH=100 B.final int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100 (4)下列叙述中,正确的是( A )—原因:Java严格区分大小写,所以变量number 与Number不相同;Java 中的注释方式除了“//”行注释之外还有段注释“/*-------*/”和文档注释/**-------*/。Java源文件中的public类只能有一个。 A. 声明变量时必须指定一个类型 B. Java认为变量number与Number相同 C. Java中唯一的注释方式是"//" D. 源文件中public类可以有0或多个 (5)下列叙述中,错误的是( D )—原因:子类继承父类,并且可以有自己的成员变量和成员方法。所以可以认为子类是父类的扩展。
Java面向对象习题
选择题 1、下列关于变量的叙述哪个是错的?() A. 实例变量是类的成员变量。 B. 在方法中定义的局部变量在该方法被执行时创建。 C. 实例变量用关键字static声明。 D. 局部变量在使用前必须被初始化。 2、在Java语言中,下列哪个包是编译器自动导入的?() A. java.applet B. https://www.360docs.net/doc/573229350.html,ng C. java.io D. java.awt 3、当类的成员未用访问权限修饰符时,Java认为此成员的访问权限为()。 A. private B. protected C.friendly D.public 4、下面哪个关键字不是用来控制对类成员的访问的?() A. public B. protected C. default D. private 5、下面哪一个特性不是面向对象编程主要体现的()。 A. 封装性 B. 继承 C. 多态 D. 类 6、不允许作为类及类成员的访问控制符的是()。 A. public B. private C. static D. protected 7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为()。 A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( ) 8、可以在下面代码段point x处写入的是?() //point x public class Interesting{ //do something } A. String str; B. static int PI=3.14; C. public class MyClass{//do other thing…} D. import java.awt.*; 9、下列关于变量的叙述哪个是错的?() A、实例变量是类的成员变量。 B、在方法中定义的局部变量在该方法被执行时创建。 C、实例变量用关键字static声明。 D、局部变量在使用前必须被初始化。 10、下列哪个类声明是正确的?() A、abstract final class HI{} B、abstract private move(){} C、protected private number; D、public abstract class Car{}
Java基础知识测试__A卷_答案
考试宣言: 同学们, 考试考多少分不是我们的目的! 排在班级多少的名次也不是我们的初衷! 我的考试的目的是要通过考试中的题目,检查大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了, 那么不用怕, 考完试后, 导师讲解的时候你要注意听! 那时候学会了, 记住了, 也一样不影响你高薪就业! 本套题共40道不定项选择题,其中单选30道,多选10道。单选2分/题,多选4分/题。多选题不全对半分,全对满分。 1.下面说法正确的是() A. JVM就是Java虚拟机,包含java核心类库// JRE: JVM+Java library。 B. JRE就是java运行环境,包含java程序编译运行的工具环境// JDK:JRE+Tools 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) //返回值类型为byte,要求选项结果为byte 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.下面哪个关键字可以定义一个类()
Java实验 类和对象
一、实验目的 掌握类和对象的定义,以及它们之间的关系 学习类中属性和方法的设计 会用UML图来对类进行描述 熟悉修饰符的作用,会用set/get方法对数据进行封装 二、实验要求 设计一个名为Rectangle的类表示矩形。这个类包括: ?两个名为width和height的私有double型数据域。用来表示宽、高。默认值为1.0。 ?创建默认矩形的无参构造方法。 ?一个创建width和height为指定值的矩形的构造方法。 ?一个名为GetArea()的公有方法返回矩形面积double ?一个静态的Compare方法,比较两个矩形的面积大小是否相等并返回一个布尔型结果,相等返回true,不等返回false; 画出UML 类图,实现Rectangle类,编写测试程序创建两个Rectangle类的对象。第一个对象的width为1,height为1;第一个对象的width为5,height为6。调用compare方法判断两个矩形是否相等并显示结果。 三、实验内容 1.使用Jude工具绘制UML图
2.编写代码实现类Rectangle package edu.neu.li.test; publicclass Rectangle { privatedouble width; privatedouble height; public Rectangle() { this.width = 1.0; this.height = 1.0; public Rectangle(double width, double height) { this.width = width; this.height = width; } publicdouble GetArea() { returnthis.width * this.height ; } publicstaticboolean Compare(Rectangle rec1, Rectangle rec2) { if(rec1.GetArea()==rec2.GetArea()) { returntrue; } returnfalse; } }
Java基础练习题-附答案
Java基础练习题附答案 一、简单Java程序调试 1)以下哪个是Java应用程序main方法的有效定义 A. public static void main(); B. public static void main( String args ); C. public static void main( String args[] ); D. public static void main( Graphics g ); 【 E. public static boolean main( String a[] ); 2) 编译和运行以下代码的结果为: public class MyMain{ public static void main(String argv){ "Hello cruel world"); } } A.编译错误; ~ B.运行输出 "Hello cruel world"; C.编译无错,但运行时指示没有定义构造方法。 D.编译无错,但运行时指示没有正确定义main方法。3)下列选项中不属于Java虚拟机的执行特点的一项是:A.异常处理 B.多线程 C.动态链接 D.简单易学4)不属于Java语言特点的一项是: A.分布式 B. 安全性 C. 编译执行 D.面向对象5)以下程序的运行结果为: ; public class Test{ public static void main(String argv[ ]){ "x="+5); } } A. 5 B. x=5 C. "x="+5 D. "x="5
6) 以下程序的运行结果为: public class Test{ ` public static void main(String argv[ ]){ "good"+"morning"); } } A. goodmorning B. "good"+"morning" C. good morning D. good+morning 二、Java符号与表达式 1) 现有一个int类型的整数和一个double类型的数进行加法运算,则得到的结果类型为: , A.int类型 B. double类型 C. float类型 D. long类型 2)下面程序段的输出结果是: int a = 2; a++); a); A.333 B.334 C.234 D.233 3) 以下代码的输出结果 public class Test{ ] int x=3; public static void main(String argv[]){ int x= 012; } } A.12 B.012 C.10 D.3 4) 下列定义语句正确的是: A.char c="/n"; B.int i=12; C.float f=; D.boolean b=null; … 5)检查如下代码: public class Quiz2_l{ public static void main(String[] args) { int a = 8;
java实验报告——对象和类
成绩: 面向对象原理与Java实践课程实验报告 实验1:对象和类 姓名 ____ 班级 ____ 学号 ____ 实验地点 ____ 实验时间 ____ 指导教师 ____
面向对象原理与Java实践课程实验报告 实验1:对象和类 一、实验目的: ●掌握类的定义及应用方法 ●掌握对象的创建方法,了解实例变量、实例方法和静态字段的特性 ●体会Java在类和对象的设计中体现的面向对象的思想 二、实验要求: ●具备Java基础知识(教材第1、2章内容) ●掌握Java中对象和类的基本概念和应用方法(教材第3章内容) ●设计类时注意保证类的封装性 ●编写程序完成以下实验内容并上交实验报告(包括电子文档与纸质文档) 三、实验内容: 设计并实现一个“广石化院电信学院学生通信录”系统。系统采用字符界面,在出现的主界面中按提示输入相应字符以选择“增加”、“删除”、“修改”、“查找”等功能进行操作(其中“查找”功能除能够查找某个学生的信息之外,还能够显示所有学生的信息)。记录的存储可采用数组或链表的方式。 四、设计思路: 为了实现该系统,首先要需要两个类;一个类为主界面服务,用于接收用户输入信息以及做出相关反应;一个类为学生信息服务,定义学生通讯录信息的各个字段,以及操作字段的各个方法,考虑到部分字段的属性问题,所以将操作方法都写在学生类中,不再另外放置在其他类中。学生信息将会采用学生类的对象数组来储存。 五、程序源代码: 下面是ZhuJieMian 主界面类 package pkg_TXL; import java.util.Scanner; public class ZhuJieMian { /** * * 该类为通讯录系统的主界面提供主要功能显示,以及负责主菜单与子菜单的正常跳转 */ public static void main(String[] args) {
JAVA类与对象的创建
试验四 类和对象的创建 一.类的定义 类是组成Java程序的基本要素。类封装了一类对象的状态和方法。类用来定义对象的模板。 类的实现包括两部分:类声明和类体。基本格式为: 修饰符class类名[extends父类名]{ /*类体的内容*/ } 1.类声明 以下是一个类声明的例子。 class People成为类声明,People是类名。习惯上,类名的第一个字母大写,但这不是必须的。类的名字不能是Java中的关键字,要符合标识符规定,即类的名字可以由字母、下划线、数字或美元符号组成,并且第一个字母不能是数字。但给类命名时,最好遵守下列规则: (1)如果类名使用拉丁字母,那么名字的首写字母使用大写字母,如Hello、Time、People等。 (2)类名最好容易识别,当类名由几个“单词”复合而成时,每个单词的首写字母使用大写,如BeijingTi me、AmericanGame、HelloChina等。 2.类体 编写类的目的是为了描述一类事物共有的属性和功能,描述过程由类体来实现。类声明之后的一对大括号“{”、“}”以及它们之间的内容称为类体,大括号之间的内容称为类体的内容。 类体的内容由两部分构成:一部分是变量的定义,用来刻画属性;另一部分是方法的定义,用来刻画功能。 下面是一个类名为“Trapezia”的类,类体内容的变量定义部分定义了4个float类型变量:top、bottom、h igh和laderArea,方法定义部分定义了两个方法:“getArea”和“setHigh”。
二.对象 1.对象的创建 创建一个对象包括对象的声明和为对象分配内存两个步骤。 (1)对象的声明。 一般格式为: 类的名字对象名字; 如: 这里People是类的名字,zhubajie是我们声明的对象的名字。 (2)为声明的对象分配内存。 使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法(你一定还记得构造方法的名字必须和类名相同这一规定),如: 例1: 「注」如果类里定义了一个或多个构造方法,那么Java不提供默认的构造方法。 2.对象的使用 对象不仅可以改变自己变量的状态,而且还拥有了使用创建它的那个类中的方法的能力,对象通过使用这些方法可以产生一定的行为。 通过使用运算符“.”,对象可以实现对自己的变量访问和方法的调用。 例2:
JAVA面向对象编程上机 练习题汇总
【练习题】类的成员变量: 猜数字游戏:一个类A有一个成员变量v,有一个初值100。定义一个类,对A 类的成员变量v进行猜。如果大了则提示大了,小了则提示小了。等于则提示猜测成功。 【练习题】类的成员变量: 请定义一个交通工具(Vehicle)的类,其中有: 属性:速度(speed),体积(size)等等 方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等. 最后在测试类Vehicle中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且通过打印出来。另外,调用加速,减速的方法对速度进行改变。 【练习题】类的成员变量与方法、构造方法 在程序中,经常要对时间进行操作,但是并没有时间类型的数据。那么,我们可以自己实现一个时间类,来满足程序中的需要。 定义名为MyTime的类,其中应有三个整型成员:时(hour),分(minute),秒(second),为了保证数据的安全性,这三个成员变量应声明为私有。 为MyTime类定义构造方法,以方便创建对象时初始化成员变量。 再定义diaplay方法,用于将时间信息打印出来。 为MyTime类添加以下方法: addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分别对时、分、秒进行加减运算。 【练习题】构造方法 编写Java程序,模拟简单的计算器。 定义名为Number的类,其中有两个整型数据成员n1和n2,应声明为私有。编写构造方法,赋予n1和n2初始值,再为该类定义加(addition)、减(subtration)、乘(multiplication)、除(division)等公有成员方法,分别对两个成员变量执行加、减、乘、除的运算。 在main方法中创建Number类的对象,调用各个方法,并显示计算结果。 【练习题】构造方法: 编写Java程序,用于显示人的姓名和年龄。 定义一个人类(Person),该类中应该有两个私有属性,姓名(name)和年龄(age)。定义构造方法,用来初始化数据成员。再定义显示(display)方法,将姓名和年龄打印出来。
Java实例对象概念图解
Java编程面向对象——类与对象的关系 面向对象是一种组件化的设计思想,OOA、OOD、OOP 类与对象是整个面向对象之中最为基础的组成单元,如果需要给划出定义:类就是共性的集合,而对象是某一个性的产物;所有类实际上是用来描述一个对象的结构。 类是通过对象来使用的,而对象是通过类来创建的。 类与对象的基本定义: 在程序中,定义类,可以使用“class 类名称{}”的语法结构完成。 而类之中的组成主要有两点: * Field (属性、成员、变量),就是一推变量的集合 * Method (方法、行为),此时的方法是由对象调用的。 这个类中定义了两个属性和一个方法(可以定义更多属性和方法) *类虽然存在,但是类的使用,必须有对象; 对象的定义格式: 声明并实例化对象: 类名称对象名称 = new 类名称(); 分步完成: 声明对象:类名称对象名称 = null; 实例化对象:对象名称 = new 类名称(); 引用数据类型: 引用数据类型最大的不同在于需要内存的开辟及使用,所以关键字new 的主要功能就是开辟内存空间; 即:只要引用数据类型想使用,就必须使用关键字new 来开辟空间。 当一个对象实例化之后就可以使用以下方式利用对象来操作类的结构: 对象.属性:表示要操作类中属性内容 对象.方法():表示要调用类中的方法内容
内存概念: 堆内存:保存每一个对象的属性内容,堆内存需要用关键字 new 才可以开辟; 栈内存:保存的是一块堆内存的地址。简单的理解,栈内存保存的是对象的名字; 编程中的栈内存和堆内存的操作过程: 引用数据的初步分析: 引用是整个 Java 开发中的核心精髓所在,即:只有掌握了“引用”这一概念之后,才能加入下一步学习,类似C/C++ 中的指针概念。 在所有的引用分析里面,最关键的还是在于关键字 “new ”,每一次使用关键字new ,都会开辟新的堆内存空间,如果你的代码里面声明两个对象,并且使用了关键字new 为两个对象分别实例化操作,那么一定是各自占有各自(独立)的堆内存空间
JAVA面向对象编程测试题
Java 面向对象 一、单选: (1)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序是Java 执行器 (B) A )Javac.exe B )java.exe C)jdb.exe D )javah.exe E)javadoc.exe (E) (2)在JDK1.5.0 安装目录下的bin 文件夹中,下面哪个程序能生成Java 参考文档 A )Java.exe B )javac.exe C)appletviewer.exe D)javah.exe E)javadoc.exe (3)下列数据类型不属于整型的是 (E) A )byte 类型 B )short 类型 C)int 类型 D )long 类型 E)float 类型 (4 )精确保存一个值为“53.21458961”需要用什么数据类型 ( D) A )int 类型 B )long 类型 C)String 类型 D )double 类型 E)以上都可以 (5)循环语句for(int i=0。i<4。i++){}循环的次数为 (D) A )无限次 B )不确定 C)1 次 D )3 次 E)4 次 (6)若i、j 为已定义的整型,下面程序段中循环体执行的次数为 (B) for(i=0。i<5。i++){ for(j=0。j<=i。j++){ } } A )不确定 B )5 次 C)15 次 D )25 次 E)无限次 (7)执行下列程序段后,j 的值变为 (E) int i=1。 int j=10。 do{ j-=i。 i++。 }while(j--<0)。 A )9 B)10 C)-1 D)-2 E)8 (8)执行下列程序段后,y 的值变为 (E) int x,y。 for(y=1,x=1。y<=50。y++){ if(x>=10){
JAVA语言基础练习题
注:题目没有涵盖所有知识点。 仅作为学习过程中知识点的巩固 第一章JA V A语言基础 ()反映了JAVA程序的并行机制;()使JAVA更加健壮。 变量a和A不同对不对() JAVA发展最初是面向()而设计的 最新的JDK版本:() 用什么命令把java源文件编译生成字节码文件/类文件/class文件() 用什么命令解释运行字节码文件/类文件/class文件() 用什么命令能够运行applet小应用程序() applet程序运行的html代码中的applet标记,其中三个必要属性是什么() 了解JAVA 5的新特性都有哪些:() 第二章 JAVA语言程序设计基础 以下哪个可以作为变量名字:A hello* B tom_name C 3cups D a cup 以下哪个不是JAVA的关键字:A SUPER B this C synchronized D extends 以下是JAVA简单/基本数据类型的为:A Short B Boolean C char D unit int short long char float double boolean byte String JAVA语言中每个字符占几个字节:A 1 B 2 C 3 D 4 JAVA语言使用( Unicode )字符集。 写出以下代码的输出结果:( 0 ) class A{ static int i; public static void main(String args[]){ } } 分析以下代码的结果(ok) class A{ public static void main(String args[]){ boolean b=false; if(b=true) } } 以下表达式错误的是:A float f=; B double d=; C boolean b=true; D c=(a= =b)?a:b 以下表达式错误的是:A float f=; B double d=; C boolean b=true; D char c=”a”;若i值为5,分析以下表达式执行之后的结果:b=5==6&&i++==6; (b为false,i为5)若i值为5,分析以下表达式执行之后的结果:b=5<=6||++i==6; (b为true,i为6)若i值为5,分析以下表达式执行之后的结果:b=5==6&i++==6; (b为false,i为6)若i值为5,分析以下表达式执行之后的结果:b=5<=6|++i==6; (b为 true ,i为 6)以下表达式的结果是(2 ):8>>2 请写出以下表达式的结果:5/2 (2) 5/ () 写出以下代码的结果:( true ) Human tom=new Human();
java类和对象的例子
1.实现简易计算器,分别实现两个整数、三个浮点数的加法运算.(用JAVA中的类和对象) 源码如下: package days;//包名自己修改 import java.util.Scanner;//注意别忘记导入这个包名了public class NumSum { public int add(int num1,int num2){ return num1+num2; } public double add(double num1,double num2,double num3){ return num1+num2+num3; } public static void main(String[] args) { // TODO Auto-generated method stub NumSum nc=new NumSum(); NumSum nc1=new NumSum();
//调用2个整数相加的方法 //Scanner是用键盘手动输入数字。 System.out.println("请用键盘手动输入两个整数:"); System.out.println(nc.add(new Scanner(System.in) .nextInt(),new Scanner(System.in).nextInt())); //调用3个浮点数相加的方法 System.out.println("请用键盘手动输入三个浮点数:"); System.out.println(nc1.add(new Scanner(System .in).nextDouble(), new Scanner(System.in).nextDouble( ), new Scanner(System.in).nextDouble())); } }
Java练习题及答案
Java 练习题答案 一、填空 1、对象的状态和行为是对象的主要属性;前者对应类的变 量,行为又称为对象的操作,对应着类的方法。类的定义包括变量声明和方法声明。 2、要嵌入在HTML文件中运行的程序是Java Applet (Java Application 、Java Applet )。 3、安装JDK后,Java 开发工具在Bin 目录。 4、声明接口的保留字是interface 。 5、类的声明“ public class Test extends Applet implements Runable{} ” 中,定义的类名是Test ,其父类是Applet ;实现了Runable 接口。这个类的源程序必须保存为Test.java (写出包括扩展名的文件名)。 6、一个完整的Java 应用程序由一个或多个类组成;其中Java Application 至少有一个主类,这个类中包含一个名为main 的方法 7、JDK下解释执行Java 的程序是java.exe 。 8、语句如下: int[] c1=int[10]; int[] c2={1,2,3,4,5,6,7,8,9,0}; 数组c1 中的元素有10 个;c2 中的元素有10 个; 已初始化赋 值的是c2 (c1 c2 )。 9、执行完下列程序后i 的值为5
int i=0; while(i<5) { i++; 10、运行下列程序段后,结果 c 的取值为120 int a = 100, b = 20,c; char oper ='+'; switch(oper) { case '+': c = a+b; break; case '-': c = a - b; break; default: c = a * b; break; } 11、为了能使用Java 中已提供的类,我们需要用import 语句来引入所需要的类。语句import java.io.* ;中引入了java.io 包的所有类。 二、选择题 1、属于访问控制的关键字是( D )。 A、static B 、final C、abstract D 、private 2、对成员的访问控制保护最强的是(C ) A、public 、 B、缺省、 C private D protected 3、可用做Java 标识符的是( B )。 A、try B_isYour C 2time D my name
java基础知识练习题
1、定义四个变量,a=’A’;b=’B’,c=’C’,d=’D’;现在编程实现a与d变量中的值交换,b与c 中的值交换。最后输出a、b、c、d中的值 class Demo1 { public static void main(String[] args) { char a = 'A',b = 'B',c = 'C',d = 'D'; char i,h; i = a; a = d; d = i; h = b; b = c; c = h; System.out.println("a="+a); System.out.println("b="+b); System.out.println("c="+c); System.out.println("d="+d); } } 2、定义一个空间,保存你的姓名。再定义一个空间保存你的性别。再定义一个空间保存你的生日。再定义一个空间保存你的年龄。最后输出: 姓名性别生日年龄 小样男 1993.8.8 15 String s = “”; class Demo2 { public static void main(String[] args) {
String name = "小样"; String sex = "男"; String birthday = "1993.8.8"; int age = 15; System.out.println("姓名:"+name); System.out.println("性别:"+sex); System.out.println("生日:"+birthday); System.out.println("年龄:"+age); } } 3、小明买了一双鞋,价值58元,买了3件衣服,每件30元,买了5个包,每个包55.8元。小明共交了500元,问还要找回多少元。用程序表达。 class Demo3 { public static void main(String[] args) { int Shoes = 58; double Bag = 55.8; double Cost = 500-Shoes-5*Bag; System.out.println("还要找回"+Cost); } }
JAVA类与对象习题
JAVA类与对象习题 一、写出一个类People,并由该类做基类派生出子类Employee和Teacher。其中People 类具有name、age两个保护成员变量,分别为String类型、整型,且具有公有的getAge 成员函数,用于返回age变量的值。Employee类具有保护成员变量empno,Teacher类有teano和zc成员变量。 二、(1)创建Rectangle类,添加属性width、height; (2)在Rectangle类中添加两种方法计算矩形的周长和面积; (3)编程利用Rectangle输出一个矩形的周长和面积 三、(1)设计一个User类,其中包括用户名、口令等属性以及构造方法(至少重载2 个)。获取和设置口令的方法,显示和修改用户名的方法等。编写应用程序测试User 类。 (2)定义一个student类,其中包括用户名、姓名、性别、出生年月等属行以及init()——初始化各属性、display()——显示各属性、modify()——修改姓名等方法。实现并测试这个类。 (3)从上题的student类中派生出Granduate(研究生)类,添加属性:专业subject、导师adviser。重载相应的成员方法。并测试这个类。 四、项目名称:Bank Account Management System 银行账户管理系统简称BAM 练习1:(面向对象基础语法) 写一个账户类(Account), 属性: id:账户号码长整数 password:账户密码 name:真实姓名 personId:身份证号码字符串类型 email:客户的电子邮箱 balance:账户余额 方法: deposit: 存款方法,参数是double型的金额 withdraw:取款方法,参数是double型的金额