zoukankan      html  css  js  c++  java
  • 20165312 2017-2018-2 《JAVA程序设计》第4周学习总结

    一、课本五六章知识点总结

    1.第五章

    • 继承是一种由已有的类创建新类的机制
    • 子类继承父类的成员变量和方法
    • 子类继承的方法只能操作子类继承和隐藏的成员变量
    • 子类重写或新增的方法只能操作子类继承和新声明的成员变量。但不能直接操作隐藏的成员的变量
    • 子类通过方法的重写可以把父类的状态和行为改变为自身的装填
    • 使用关键字super操作隐藏的成员变量
    • “开-闭原则”:让设计的系统对扩展开放,对修改关闭
    • final类不能被继承,final方法不允许子类重写,final变量为常量

    2.第六章

    • interface定义一个接口,接口的定义包括接口声明和接口体。接口声明: interface 接口名 接口体中包含常量的声明和抽象方法。
    • 接口由类来实现以便使用接口中的方法。如果一个类实现了接口,那么该类可以直接在类体中使用该接口的常量。程序可以用接口名访问接口中的常量。
    • 一个非抽象类实现了某个接口,这个类必须重写这个接口中的所有方法。而且方法的访问权限一定为public
    • 接口回调:当接口变量中存放了实现接口的类的嗯对象的引用后,接口变量就可以调用类实现的接口方法
    • 若一个方法的参数是接口类型,可以将任何实现该接口的类的实例的引用传递给该接口参数,那么接口参数就可以回调类实现的接口方法
    • 接口产生的多态:不同的类在实现同一个接口时可能具有不同的实现方式
    • 面向接口编程的核心思想:使用接口回调
    • 利用接口也可以体现程序设计的“开-闭”原则

    3.上周测试题查漏补缺

    • 表达式15&250的值为()

    A. FF

    B. 0

    C. 255

    D. 1

    解析:此题没有正确答案,15为00001111,250为11111010,按位与之后为00001010,答案为10.做题目的时候就很困惑,因为计算出来没有正确答案。

    • 表达式-2 >> 1的值为()

    A . 2^31 – 1

    B . 2^15 – 1

    C . 1

    D . -1

    解析:D 带符号右移(“ >> ”),即有符号位时,负数符号位补1,正数符号位补0, -2 的二进制求法是正数取反加1,因此 2 的二进制表示为0000 0000 0000 0000 0000 0000 0000 0010 ,取反加一为1111 1111 1111 1111 1111 1111 1111 1110 ,即 -2 的二进制表示。带符号右移之后为 1111 1111 1111 1111 1111 1111 1111 1111 ,除符号位之外,减一取反,得到带符号十进制数为-1。

    • 表达式-2 >>> 1的值为()

    A . 2^31 – 1

    B . 2^15 – 1

    C . 1

    D . -1

    解析:A 无符号右移 (“>>>”) ,即无论正负数,右移之后符号位均补 0 。-2 的二进制无符号右移一位之后为 0111 1111 1111 1111 1111 1111 1111 1111,即 2^31 - 1。

    • 观察以下方法的定义,则该方法的返回类型为()
    ReturnType method(byte x, double y) {
       return (short)x/y*2;
    }
    

    A . double

    B . short

    C . int

    D . byte

    解析:D。y的精度高,所以返回类型为double。

    • 下列说法正确的是()

    A . float a = 3.5;会导致编译错误。

    B . byte b = (byte)(-150);则b的值为106。

    C . byte c = 10;int d =
    (int)c;会导致精度的损失。

    D . 精度由高到低排序为:double float long int char short byte

    解析:ABD A项:必须有后缀f或F。B项:超出byte变量的取值范围,b的值为106。C项:int精度比byte高,不会导致精度的损失。

    • 关于课本P23示例程序的说法,正确的是()

    A . 程序等待用户在命令行输入数据时,是在Scanner reader = new Scanner(System.in);一句发生阻塞。

    B . 在命令行运行该程序时,使用ctrl+c可以结束阻塞。

    C . 输入0.00也可以结束程序的执行,输出sum的值。

    D . 当用户输入0.3并回车后,程序再次阻塞,该阻塞是由于执行了x = reader.nextDouble();一句。

    解析:BCD A项:执行nextDouble()方法时发生阻塞。

    • 下列错误的初始化语句是( )

    A . char str[]="hello";

    B . char str[100]="hello";

    C . char str[]={'h','e','l','l','o'};

    D . char str[]={'hello'};

    解析:ABD 这题目易漏选A ,A选项定义的是char类型数组,赋值是String类型,所以会报错。B同上。D选项'hello'不是char类型,char类型只有一个字符,也不是String类型,String类型使用“hello”。

    • 下列关于课本P29示例程序的说法,正确的是()

    A . 如果注释掉第一行“import java.util.*;”,则“System.out.println(Arrays. toString(a));”和“Scanner scanner = new Scanner(System.in);”两句会报错。

    B . 折半查找时,必须保证数组是有序的。

    C . 该程序所示的排序方法为冒泡排序法。

    D . count>N/2说明查找结束,没有找到该数字。

    解析:ABCD

    码云链接:https://gitee.com/BESTI-IS-JAVA-2018/cxgg20165312.git

    本周代码截图:

    参考资料:

    1.char str[100]="hello" char str[]="hello" 分别如何理解?

  • 相关阅读:
    Button 的CommandName 用法
    如何循序渐进向DotNet架构师发展
    用sqlserver进行分布式查询(链接服务器)(转)
    关于.resx
    OO设计原则总结
    为ASP.NET 2.0网站生成唯一程序集
    依赖倒置、控制反转和依赖注入辨析(转)
    通过http地址获取页面内容
    Sql同表去除重复
    动态启动WCF服务
  • 原文地址:https://www.cnblogs.com/cxgg/p/8646926.html
Copyright © 2011-2022 走看看