day_03 刷题日记

迷惑的一天…太迷了…还是我基础太烂了…一早上醒了咋我家这么多人呢…等感冒好了我再出去浪…冲!多选题依然杀我…/(ㄒoㄒ)/~~

1.以下不属于构造方法特征的是(D)

构造方法名与类名相同
构造方法不返回任何值,也没有返回类型
构造方法在创建对象时调用,其他地方不能显式地直接调用
每一个类只能有一个构造方法

想说一下C选项,子类在构造方法里面调用父类的构造方法时,会在第一行使用super(参数列表)显示调用父类的构造方法。这里是显示地直接调用,而且没有创建新对象。D选项里面,和.java文件同名的public类可以有多个构造方法,构造方法也可以重载,内部类也能有多个构造方法,但是匿名内部类一个构造方法都没有啊!

2.局部变量和成员变量重名是可以的,用this指向成员变量即可。

3.下述代码返回的结果是什么?

Integer a = 1;
Integer b = 1;
Integer c = 500;
Integer d = 500;
System.out.print(a == b);
System.out.print(c == d);

true、true
true、false
false、true
false、false

答案应该选B,我选的D…==和equals的区别没用对系列,此外这个题主要考的还不是这个点。强调一下,如果用 ==比较基本数据类型(byte,short,char,int,long,float,double,boolean ),那么比较的是值,但如果是复合数据类型,那么比较的是在内存中的存放地址。

另外的另外,JAVA当中所有的类都是继承于Object这个基类的,在Object中的基类中定义了一个equals的方法,这个方法的初始行为是比较对象的内存地 址,但在一些类库当中这个方法被覆盖掉了,如String,Integer,Date在这些类当中equals有其自身的实现,而不再是比较类在堆内存中的存放地址了,而是比较数值
对于复合数据类型之间进行equals比较,在没有覆写equals方法的情况下,他们之间的比较还是基于他们在内存中的存放位置的地址值的,因为Object的equals方法也是用双等号(== )进行比较的,所以比较后的结果跟双等号(==)的结果相同。

再回到这个题上,Interger的范围是[-128,127],在这个范围内比较大小,相等为true,超过范围为false。

4.JVM内存五大区域

img

5.如下代码,执行test()函数后,屏幕打印结果为(D)

public class Test2
{
    public void add(Byte b)
    {
        b = b++;
    }
    public void test()
    {
        Byte a = 127;
        Byte b = 127;
        add(++a);
        System.out.print(a + " ");
        add(b);
        System.out.print(b + "");
    }
}

127 127
128 127
129 128
以上都不对

不知道做题的时候,大家有没有发现add()方法根本形同虚设,没啥卵用。我被迷惑住了…b++是后起作用的,然鹅它又赋值给b了,所以相当于++没起作用啊,也就是说add(b)输出的还是b=127,但是Byte的类型是-128-127,++a之后127溢出了,就是-128。输出答案应该是-128 127,木的这个答案,选D。

6.关于java传值https://blog.csdn.net/scholar_man/article/details/80900212

7.问这个程序的输出结果。

package Wangyi;
class Base
{
    public void method()
    {
        System.out.println("Base");
    } 
}
class Son extends Base
{
    public void method()
    {
        System.out.println("Son");
    }
     
    public void methodB()
    {
        System.out.println("SonB");
    }
}
public class Test01
{
    public static void main(String[] args)
    {
        Base base = new Son();
        base.method();
        base.methodB();
    }
}

Base SonB
Son SonB
Base Son SonB
编译不通过

答案D,我选的B…编译看左,运行看右。编译的时候检查Base类method方法和methodB方法是否都存在,然后发现没有methodB方法,编译不通过。

8.还有一个题是关于String类型和StringBuffer类型的对象创建之后能不能再修改和变动的问题。StringBuffer是可以的,但是String对象不可变。String str = “aa”; str = “aa”+“bb”; 此时str的值为"aabb",但是"aabb"不是在开始的字符串"aa"后面直接连接的"bb",而是又新生成了字符串"aabb",字符串"aa"一旦被初始化,那么它的值不可能再改变了。 StringBuffer strb = StringBuffer(“aa”); strb.append(“bb”); 此时的strb的值也为"aabb",但是"aabb"是直接在开始的字符串"aa"后面连接的“bb”,并没有生成新的字符串。StringBuffer可以通过append、insert、remove方法改变长度。

9.哪些描述是正确的??B

public class While {
	public void loop() {
		int x= 10;
		while ( x )  {
			System.out.print("x minus one is " + (x - 1));
			x -= 1;
		}
	}
}


行1有语法错误
行4有语法错误
行5有语法错误
行6有语法错误
行2有语法错误,loop是关键字
程序能够正常编译和运行

挺容易混的这个题,在C语言中while()表达式的判断,大于0的int值都会被认为是true,而java中while的表达式必须得是布尔类型的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息数据从传统到当代,是一直在变革当中,突如其来的互联网让传统的信息管理看到了革命性的曙光,因为传统信息管理从时效性,还是安全性,还是可操作性等各个方面来讲,遇到了互联网时代才发现能补上自古以来的短板,有效的提升管理的效率和业务水平。传统的管理模式,时间越久管理的内容越多,也需要更多的人来对数据进行整理,并且数据的汇总查询方面效率也是极其的低下,并且数据安全方面永远不会保证安全性能。结合数据内容管理的种种缺点,在互联网时代都可以得到有效的补充。结合先进的互联网技术,开发符合需求的软件,让数据内容管理不管是从录入的及时性,查看的及时性还是汇总分析的及时性,都能让正确率达到最高,管理更加的科学和便捷。本次开发的高校科研信息管理系统实现了操作日志管理、字典管理、反馈管理、公告管理、科研成果管理、科研项目管理、通知管理、学术活动管理、学院部门管理、科研人员管理、管理员管理等功能。系统用到了关系型数据库中王者MySql作为系统的数据库,有效的对数据进行安全的存储,有效的备份,对数据可靠性方面得到了保证。并且程序也具备程序需求的所有功能,使得操作性还是安全性都大大提高,让高校科研信息管理系统更能从理念走到现实,确确实实的让人们提升信息处理效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值