10.20笔试

思特奇——java笔试题

  1. 全是选择题,且都是从网上的一些题库中找的,各种类型的题都有,以下挑选两道比较有具代表性的

  2. “在调用方法时,若要使方法改变实参的值可以()

     A) 用基本数据类型作为参数
     B) 用对象作为参数
     C) A和B都对
     D) A和B都不对
    

    答案:B
    解析:

     1. 首先说一下实参和形参的概念。在调用函数时,会给参数赋一个临时名称用于函数内部,这个名称(参数名)叫做形参,而实际传入方法的参数,叫实参。例如,
     	m1(int a,int b);//方法m1,a,b均为int类型的形参
     	Person.m1(c);//调用方法m1时,传入的参数为实参c,
     2. 由于实参是在方法外部声明,和使用的,而形参则是作用在方法内部	
     3. 在面向对象编程中,传入方法的实参又可分为,基本数据类型,以及引用数据类型
     4. 对于基本数据类型,参数传递过程中,是值传递,但是也仅仅是值传递,将实参的值复制给形参之后,形参与实参再无关系,在方法内部修改形参值,也对方法外部的形参无影响
     5. 对于引用数据类型(对象),同样是值传递,但是此时传递的却是一个地址值,因此,它们指向同一个对象,对形参的修改直接作用该地址的其他引用上
     6. 此外,还有特殊的不变类,如String这种,同样的值传递,形参与实参相同,但在方法内对形参修改时,会new一个新的对象给形参,这样一来,对形参的修改也不会影响到实参
     7. 参考回答:https://zhidao.baidu.com/question/1959395493986765260.html
    
  3. 以下JAVA代码创建了多少个对象?

     String s1="bc"; 
     String s2="bc";
    

    答案:一个
    解析:

     1. 首先String对象的创建都是放在常量池中的,为了节约内存,每次需要创建新的String对象时,它会在常量池内查询是否已经存在相同内容的对象,如果已有,则不会开辟新空间再次创建,新的对象也会指向该内存空间,此时,相当于只有一个实例。
     2. 若是
    
     String s1=new String("bc");
     String s1=new String("bc");
     此时确是创建了两个对象,因为只要出现new都代表在内存中另开辟一块区域用于存储
     3. 还需注意,String是不可变的,任何对String的操作都是另外返回一个新的String,而不是在String上进行修改。(可参考上面那道题)
     4. 参考回答:https://zhidao.baidu.com/question/515048185.html
    
  4. https://blog.youkuaiyun.com/qq_42449963/article/details/106294949

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值