Java作业习题

1.下列哪一项叙述是正确的?(B)

A
char型字符在Unicode表中的位置范围是0至32767

B
char型字符在Unicode表中的位置范围是0至65535

C
char型字符在Unicode表中的位置范围是0至65536

D
char型字符在Unicode表中的位置范围是-32768至32767

unicode是不定长度的字符表达方式。也就是说,一个字符可能是一个字节,也可能是2个字节,也可能有多个字节。但是java的默认字节输出方式是utf-8,也就是固定的2个字节长度。
utf-8是unicode的一种存储方式。

2.下列哪项字符序列可以做为标识符?©

A
true

B
default

C
_int

D
good-class

Java标识符:给变量、类、方法命名
规则:可以以字母、数字、’_’、’$'组成,但是不可以以数字开头

3.
在这里插入图片描述

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

A.float foo=-1;
B. float foo=1.0
C. float foo=42e1;
D.float foo=2.02f
E.float foo=3.03d;
F.float foo=0x0123;

在JAVA中整数的默认为int类型,浮点数默认为double类型;
故将一个浮点数赋值给float时需要将该数进行强制转换;
42e1为浮点类型;科学计数法又名为扩展型浮点类型;
定点数:定点小数:小数点隐含在最高数据位的左边;
定点整数:小数点隐含固定在最低位之后,最高位为符号数, 用于表示纯整数;
浮点数:小数点的位置是由阶码规定,因此是浮动的。用来表示实数。
在计算机中通常把浮点数N分为解码和尾数两部分来表示。
N = 尾数*基数^阶码;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以下哪两项是正确的char型变量的声明?(be)
A.char ch=”R”;
B.char ch =’\’;
C.char ch =’ABCD’;
D.char ch = “ABCD”;
E.char ch =’\ucafe’;
F.char ch =’\u10100’;
BE 首先给char字符变量赋值要用单引号,其次只能接受一个字符,双引号为String字符串类型,E为Unicode码的正确表示方法,F超出了Unicode表示范围
=好后面 表示的是一个unicode字符’\u’表示使用的是unicode字符集。后面跟四位十六进制的数。,F里面以为后面跟了5位 所以错

————————————————————————————————

穿插知识点:

1. Java中的字符主要有哪些?
Java编程语言主要有以下几种字符:

空白字符:空格、制表符、换页符和行终止符
注释:/text/ or // text
符号
标识符:就是变量名和类名,其中的字母和数字可以从Unicode字符集中提取,也就是说能用本地语言编写标识符,如String 名字=“cxcoder”;
关键字:比如class,new
字面常量:简单类型、String、空类型在源码中的表示
分隔符:也叫标点符号,() {} [] ; , . … @
操作符:逻辑和算术运算符
转义字符
Unicode转义字符:通过\u+4个十六进制数使用任何Unicode字符
字面常量转义字符:\b \t \n \f \r " ’ \不使用Unicode转义字符也能表示一些特殊字符
————————————————————————————————

代码1、2输出的是什么?

public class E {

   public static void main(String args[]) {

     int [] a={10,20,30,40},b[]={{1,2},{4,5,6,7}};

     b[0] = a;

     b[0][1] = b[1][3];

     System.out.println(b[0][3]); //【代码1】

     System.out.println(a[1]);   //【代码2】

   }

}

我的答案:
第一空:
40
第二空:
7

程序设计:

编写一个应用程序,给出汉字‘你’、‘我’、‘他’在Unicode表中的位置。

我的答案:

public class Example {  

		public static void main(String args[]) {

		     System.out.println((int)'你');

		     System.out.println((int)'我');

		     System.out.println((int)'他');

		   }

		}

——————————————————————————————————————

第三章

1.下列哪个叙述是正确的?
A. 5.0/2+10的结果是double型数据
B. (int)5.8+1.0的结果是int型数据
C. ‘苹’+’果’的结果是char型数据
D.(short)10+’a’的结果是short型数据

2.用下列哪个代码替换程序标注的【代码】会导致编译错误?
A. m–>0
B. m++>0
c. m=0
D. m>100&&true

Java
public class E {
    public static void main(String args[]) {
        int m=10,n=0;
        while([代码]){
            n++;
        }
    }
}

Type mismatch: cannot convert from int to boolean

3.假设有“int x=1;”,以下哪个代码导致“可能损失精度,找到int需要char”这样的编译错误?
A. short t = 12+’a’;
B. char c = ‘a’+1;
C. char m = ‘a’+x;
D. byte n = ‘a’+1;

选择题解析
选择题答案:1.A 2.C 3.C

第一题B将5.8转化为整型后又加了一个double型1.0,所以结果仍为double型
C字符和int可以相互转换,两个字符相加就是对应的unicode相加,但是相加后unicode的值大于了char的范围(0-65535),所以不能用char字符接收,需要用int数据接收
D char的精度要比short高,所以一个short加上一个char结果为char

第二题
while循环条件应该是boolean类型,而C是赋值语句,所以会编译错误,要注意=是赋值,==才是等于。

第三题
精度从“低”到“高”的排列的顺序是:
byte->short->char->int->long->float->double
Java在计算算术表达式的值时,按精度最高进行运算。
Java允许把不超出byte、short、char的取值范围的算术表达式的值赋给byte、short、char。

—————————————————————————————————————

第三章:字符串习题(二)

1
【单选题】
如下代码,下列叙述哪个是正确的:

public class E{
public static void main(String[] args){
String strOne="bird";
String strTwo=strOne;
strOne="fly";
System.out.println(strTwo);
}
}

A、
程序编译出现错误。

B、
程序的输出结果是bird。

C、
程序的输出结果是fly。

D、
程序的输出结果是null。

我的答案:B
2
【单选题】
如下代码,下列叙述哪个是正确的:

public class E{
public static void main(String args[]){
String strOne=new String(“你好”);
String strTwo= strOne;
strOne =new String(“hello”);
System.out.println(strTwo);
}
}

A、
程序编译出现错误。

B、
程序输出结果是hello。

C、
程序输出结果是你好。

D、
程序输出结果是null。

我的答案:C
3
【单选题】
对于如下代码,下列哪个叙述是正确的:

public class E{
public static void main(String args[]){
String s1=args[1];
String s2=args[2];
String s3=args[3];
System.out.println(s3);
}
}

A、
程序出现编译错误。

B、
无编译错误,在命令行执行程序:“java E I love this game”,程序输出this。

C、
无编译错误,在命令行执行程序:“java E let us go”,程序无运行异常。

D、
无编译错误,在命令行执行程厅:“java E 0 1 2 3 4 5 6 7 8 9”,程序输出3。

我的答案:D
4
【单选题】
对于如下代码,下列哪个叙述是正确的:

public class test {
public static void main(String[]args){
String str=new String("bird");
modify(str);
System.out.println(str);
}
public static void modify(String s){
s=s+"fly";
}
}

A、
程序编译出现错误。

B、
程序的输出结果是bird。

C、
程序的输出结果是null。

D、
程序的输出结果是fly。

我的答案:B

5
【判断题】表达式new String(“abc”).equals(“abc”)的值是true。()
我的答案:√

6
【判断题】表达式“\t\nABC”.length()的值是5。()
我的答案:√

7
【判断题】表达式“java”.equals(“java”)的值是true。()
我的答案:√

8
【判断题】StringTokenizer对象的nextToken()方法返回一个String对象。()
我的答案:√
9

【判断题】表达式“Bird”.compareTo(“Bird fly”)的值是负数。()
我的答案:√

10
【判断题】表达式“RedBird”.indexOf(“Bird”)的值是4。()
我的答案:×

11
【判断题】表达式“Bird”.equalsIgnoreCase(“bird”)的值是true。()
我的答案:√

12
【判断题】String对象的字符序列是不可修改的。()
我的答案:√

13
【判断题】表达式new String(“Bird”)==“Bird”的值是true。()
我的答案:×
——————————————————————————————————————

类和对象的相关概念

1
【单选题】
下列对封装性的描述中,错误的是

(10.0分)
A、
封装体包含了属性和行为

B、
封装体中的属性和行为的访问权限是相同的

C、
被封装的某些信息在封装体外是不可见的

D、
封装使得抽象的数据类型提高了可重用性

我的答案:B

2
【单选题】
有关类的说法,正确的是

(10.0分)
A、
类具有封装性,所以类的数据是不能被访问的

B、
类具有封装性,但可以通过类的公共接口访问类中的数据

C、
声明一个类时,必须使用 public 修饰符

D、
每个类中必须有 main 方法,否则程序无法运行

我的答案:B

3
【单选题】
下面关于类的描述错误的是

(10.0分)
A、
类的方法都由方法头和方法体组成

B、
一个Java程序可以有多个公共类

C、
一个包可以包含多个类

D、
类的实现包括类声明和类体两部分

我的答案:B

4
【单选题】
要求设计一个类,它拥有一个特殊的成员域,该成员域必须能够被这个类的子类访问到,但是不能被不在同一个包内的其他类访问到。下面 可以满足上述要求。

(10.0分)
A、
该成员域的封装属性设置为 public

B、
该成员域的封装属性设置为 private

C、
该成员域的封装属性设置为 protected

D、
该成员域不需要特殊的封装属性

我的答案:C

5
【单选题】
在Java中,下面对于构造函数的描述正确的是

(10.0分)
A、
类必须显式定义构造函数

B、
构造函数的返回类型是void

C、
构造函数和类有相同的名称,并且不能带任何参数

D、
一个类可以定义多个构造函数

我的答案:D

6
【单选题】
You want a class to have access to members of another class in the same package. Which
is the most restrictive access that accomplishes this objective?

(10.0分)
A、
public

B、
private

C、
protected

D、
default access

我的答案:D
**7

【单选题】
下列哪些类(不包括内部类)声明是错误的?**
(10.0分)
A、
class A

B、
public class A

C、
protected class A

D、
class a

我的答案:C

8
【多选题】
面向对象技术的特性是

(10.0分)
A、
继承性

B、
有效性

C、
多态性

D、
封装性

我的答案:ACD

9
【多选题】
下列哪些叙述是正确的:

(10.0分)
A、
类中的static方法可以用类名调用

B、
实例方法可以操作static变量

C、
类方法可以操作实例变量

D、
类方法可以操作static变量

我的答案:ABD

10
【填空题】
是对事物的抽象,而 是对对象的抽象和归纳。

(5.0分)
我的答案:

第一空:
对象

第二空:

11
【填空题】
把对象实例化可以生成多个对象,使用__ _运算符为对象分配内存空间。

(5.0分)
我的答案:

第一空:
new

————————————————————————————————————

子类与继承

下列哪个叙述是正确的?
(8.0分)

A、
子类继承父类的构造方法。

B、
abstract类的子类必须是非abstract类。

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

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

正确答案: C 我的答案:C
2
【单选题】
下列程序中注释的哪个代码(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();            // D   

   }

}

(8.0分)
A、
A注释

B、
B注释

C、
C注释

D、
D注释

正确答案: B 我的答案:B
3
【单选题】
将下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?

  class A {

   public float getNum() {

       return 3.0f;

   }    

}

public class B extends A {

      【代码】

} 

(8.0分)
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;}

正确答案: B 我的答案:B
4
【单选题】
对于下列代码,下列哪个叙述是正确的?

class A {

   public int i=0;

   A(int m) {

     i = 1;

   }

}

public class B extends A {

    B(int m) {

       i = 2;

    }

    public static void main(String args[]){

       B b = new B(100);

       System.out.println(b.i); //【代码】

    }

}

(8.0分)
A、
程序提示编译错误(原因是A类没有不带参数的构造方法)

B、
编译无错误,【代码】输出结果是0。

C、
编译无错误,【代码】输出结果是1。

D、
编译无错误,【代码】输出结果是2。

正确答案: A 我的答案:A
5
【单选题】
在子类中调用父类中被覆盖的方法时需要使用哪项关键字?

(8.0分)
A、
this

B、
super

C、
new

D、
以上都不是

正确答案: B 我的答案:B
6
【单选题】

       public class Parent{

    public void change (int x){}

}

public class Child extends Parent{

    //覆盖父类change方法

    }

 下列哪个声明是正确的覆盖了父类的change方法?

(8.0分)
A、
protected void change (int x){}

B、
public void change(int x, int y){}

C、
public void change (int x){}

D、
public void change (String s){}

正确答案: C 我的答案:C
7
【多选题】
下列程序中注释的哪两行代码(A,B,C,D)是错误的(无法通过编译)?

class Father {

   private int money =12;

   float height;

   int seeMoney(){

      return money ;           //A

   }

}

class Son extends Father {

   int height;

   int lookMoney() {

      int m = seeMoney();      //B

      return m;            

   }

}

class E {

   public static void main(String args[]) {

      Son erzi = new Son();

      erzi.money = 300;       //C

      erzi.height = 1.78F;      //D

   }

}

(15.0分)
A、
A注释行

B、
B注释行

C、
C注释行

D、
D注释行

正确答案: CD 我的答案:CD
8
【多选题】
下列关于继承优点的叙述正确的是哪几项?

(15.0分)
A、
可以创建更为特殊的类型

B、
消除重复代码

C、
执行效率高

D、
便于维护

正确答案: ABD 我的答案:ABD
9
【填空题】
请说出E类中【代码1】,【代码2】的输出结果。(请注意不同数据类型的输出表示)

class A {

   double f(double x,double y) {

     return x+y;

   }

}

class B extends A {

   double f(int x,int y) {

     return x*y;

  }

}

public class E {

public static void main(String args[]) {

      B b=new B();

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

      System.out.println(b.f(3.0,5.0));  //【代码2】

  }

(12.0分)
正确答案:

第一空:
15.0

第二空:
8.0

我的答案:

第一空:
15.0

第二空:
8.0

10
【判断题】
Java允许一个子类拥有多个父类。

(5.0分)
正确答案:× 我的答案:×
11
【判断题】
假设C是B的子类,B是A的子类,cat是C类的一个对象,则cat也是A类和B类的对象。

(5.0分)
正确答案:√ 我的答案:√

发布了24 篇原创文章 · 获赞 25 · 访问量 4102

猜你喜欢

转载自blog.csdn.net/qq_44972915/article/details/104439703