【Java】Java基础知识3. tip1~10

1.Java语言支持的8中基本数据类型是:

  • byte
  • short
  • int
  • long
  • float
  • double
  • boolean
  • char

String不是基本数据类型。java.lang.String类是final类型的,因此不可以继承,不能修改这个类。为提高效率节省空间,应使用StringBuffer类。

2.String与StringBuffer的区别

String            字符串常量
StringBuffer  字符串变量(线程安全)
StringBuilder 字符串变量(非线程安全)

String提供数值不可改变的字符串,String是不可变的对象。

StringBuffer类提供的字符串可以修改,主要使用的方法:append(将字符串添加到缓冲区的末端)和insert(在指定的点添加字符)

             关于String,StringBuilder以及StringBuffer,描述错误的是()
  • 对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象
  • StringBuffer是线程安全
  • StringBuilder是线程安全
  • 可以修改StringBuilder和StringBuffer的内容

             答案:C

             A,java中的字符串存储在 字符串常量区不会改变,发生改变是会新创建一个对象
             B, StringBuffer是线程安全的StringBuilder
             C,StringBuilder跟StringBuffer功能相同,区别是StringBuilder 不是线程安全的
             D,StringBuilder和StringBuffer底层都是以字符数组存放的,可以修改内容
用new创建的对象在 堆区
函数中的 临时变量栈区
java中的字符串在字符串常量区
 
定义有StringBuffer s1=new StringBuffer(10);s1.append(“1234”)则s1.length()和s1.capacity()分别是多少?
  • 4      10
  • 4     4
  • 10  10
  • 10   4

答案:A

length 返回当前长度
如果字符串长度没有初始化长度大,capacity返回初始化的长度
如果append后的字符串长度超过初始化长度,capacity返回增长后的长度

3.int和Integer的区别

Java为八大基本数据类型提供了包装类。int是基本数据类型,Integer是对应的int型的包装类。就是把int类型包装成Object对象。

原始的基本数据类型   封装成的包装类

byte                                 Byte
short                               Short
int                                    Integer
long                                 Long
float                                 Float
double                             Double 
char                                Character
boolean                           Boolean
 
4.String a = new String("abc");创建了几个String Object对象?
两个,一个字符对象a,一个字符对象的引用变量"abc"。
 
5.List Set  vector Map 是否继承自Collection接口?List、vector和Set是。 Map不是
 
6.try{}里面有一个return语句,紧跟在try后面的finally{}里的coding会不会被执行,什么时候执行,在return前还是后?会被执行,在return前执行。
 
public boolean returnTest()
{
    try
    {
        return true;
    }
    catch (Exception e)
    {

    }
    finally
    {
        return false;
    }
}
以下代码返回值是什么?
    • true
    • false 

答案:B  返回值是false,因为finally在return true前执行,执行finally的时候就renturn false了。

7.两个对象值相同(x.equals(y)==true),那x和y的hashcode相不相同?相同。
 
8.public、 protected、 friendly、 private的区别
                     当前类       同一package      子孙类      其他package
public              ○                        ○                  ○                      ○
protected        ○                        ○                  ○                      ×                      protected类没有在同一包中也可以访问
friendly            ○                        ○                  ×                      ×
private             ○                        ×                  ×                      ×
 

缺省/无访问修饰符可以被同一包中的所有类访问,如果子类没有在同一个包中,也不能访问

类B从类A派生,则类B可以访问类A中的( )成员?
  • public成员
  • private成员
  • protected成员
  • 数据成员
  • 函数成员

    答案:AC

    9.java支持多继承么?
        java不支持多继承(extends),每个类都只能继承一个类,担一个类可以实现多个接口(implements)。
        形象的比喻,一个孩子多个父亲,不合理。但一个父亲可以多个孩子。就是一个父类可以有很多子类。
       
        类定义属性和方法,描述一类事物的抽象。
        接口定义的是行为,并不限制于任何具体意向。
        从逻辑上理解,单继承更明确,一个子类就应该是其父类的所代表的事物的某个更具体的类别。不应该是即使这个东西又是那个东西。
     
        而接口则不同,接口只定义一些公共行为。比如两个接口,一个定义跑这个动作,一个定义走这个动作,人这个类就可以同时实现跑和走这两个动作行为。
       
        类对接口的implements称作实现,不能叫做继承。
        当然,接口可以多继承接口,从语言上来说,接口对接口的继承称之为 扩展更为合适。
     
    10.进程和线程的区别
          进程是正在运行着的应用程序,是计算机中的程序关于某数据集合上的一次运行活动。
          线程是程序执行流的最小单元。是进程中执行程序的序列(程序片段)。
          进程和线程的差别:线程是指进程内的执行单元,也是进程内的可调度实体。
     
    • 0
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值