1.java把表示范围大的数转换为表示范围小的数,需要强制类型转换。

Java中,数据类型分为基本数据类型(或叫做原生类、内置类型)和引用数据类型。
原生类型为基本数据类型
int和布尔值可以相互转换吗???不可以,这里是Java,不是C,boolean不能和其他类型互换

2.另外,JVM运行程序主要的时间耗费是在创建对象和回收对象上。

String对String  类型进行改变的时候其实都等同于生成了一个新的  String  对象,然后将指针指向新的  String  对象,而不是StringBuffer;StringBuffer每次结果都会对  StringBuffer  对象本身进行操作,而不是生成新的对象,再改变对象引用。

 String S1 = “This is only a” + “ simple” + “ test” ;
在编译的时候S1就是常量了可以理解为  String S1 = “This is only a simple test” ; ,不存在运行时对字符串的处理,所以效率最高。
java中,StringBuilder和StringBuffer的区别,下面说法错误的是?

正确答案: C   你的答案: C (正确)

  1. StringBuffer是线程安全的
  1. StringBuilder是非线程安全的
  1. StringBuffer String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象。
  1. 效率比较String<StringBuffer<StringBuilder,但是在 String S1 = This is only a + simple + test”时,String效率最高。
  2.  
  3. 4.
HashMap和HashTable的描述,错误的是?

正确答案: D   你的答案: D (正确)

  1. 他们都实现了Map接口。
  1. HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。
  1. HashMap允许将null作为一个entrykey或者value,而Hashtable不允许。
  1. 通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中。
  1. 我贴一下关于两者相关的源码供大伙参考一下:
  2.  
  3. //HashMap的源码
  4. public class HashMap<K,V>
  5. extends AbstractMap<K,V>
  6. implements Map<K,V>, Cloneable, Serializable
  7. -----------------------------------
  8. //Hashtable的源码
  9. public class Hashtable<K,V>
  10. extends Dictionary<K,V>
  11. implements Map<K,V>, Cloneable, java.io.Serializable
  12. ----------------------------------
  13. 很明显,都实现了Map接口,所以,A正确
  14. ----------------------------------------------------------------------------------------------
  15.  
  16. public V put(K key, V value) //HashMap的put方法,没有同步
  17.  
  18. public synchronized V put(K key, V value) //Hashtable的put方法
  19. //当然,Hashtable的其他方法,如get,size,remove等方法,
  20. //都加了synchronized关键词同步操作
  21. ------------------------------------------------------------------------------------------------
  22.  
  23. //Hashtable的put方法有以下语句块,大伙看了都知道
  24. // Make sure the value is not null
  25. if (value == null) {
  26. throw new NullPointerException();
  27. }
  28.  
  29. //那么,我们再来看下HashMap的put方法中,有如下语句
  30. //调用某个方法直接把key为null,值为value的键值对插入进去。
  31. if (key == null)
  32. return putForNullKey(value);
  33. --------------------------------------------------------------------------------------
  34.  
  35. //以下是Hashtable的方法
  36. public synchronized boolean contains(Object value)
  37. public synchronized boolean containsKey(Object key)
  38. public boolean containsValue(Object value)
  39.  
  40. //以下是HashMap中的方法,注意,没有contains方法,所以,D错误
  41. public boolean containsKey(Object key)
  42. public boolean containsValue(Object value)

HashMap 把 Hashtable 的 contains 方法去掉了 ,改成 containsvalue 和 containsKey 。因为 contains 方法容易让人引起误解。

10.

执行以下程序后的输出结果是()
1
2
3
4
5
6
7
8
9
10
11
public class Test {
public static void main(String[] args) {
    StringBuffer a = new StringBuffer("A"); 
    StringBuffer b = new StringBuffer("B"); 
    operator(a, b); 
    System.out.println(a + "," + b); 
public static void operator(StringBuffer x, StringBuffer y) { 
    x.append(y); y = x; 
}
}

正确答案: D   你的答案: D (正确)

  1. A,A
  1. A,B
  1. B,B
  1. AB,B
  2.  
  3. 答:a,b是对象的引用,指向堆内存,将ab两个引用传给xy,执行x.append(y),改变了x引用指向的堆内存的存储内容,变为AB y = x,表示引用y,指向引用x指向的存储区域,没有改变引用b,指向的存储空间的内容。
  4.  
  5. 11.ConcurrentHashMap使用segment来分段和管理锁,segment继承自ReentrantLock,因此ConcurrentHashMap使用ReentrantLock来保证线程安全。
  6.  
  7. 12.
以下代码在编译和运行过程中会出现什么情况
1
2
3
4
5
6
7
8
9
10
public class TestDemo{
    private int count;
    public static void main(String[] args) {
        TestDemo test=new TestDemo(88);
        System.out.println(test.count);
    }
     TestDemo(int a) {
         count=a;
    }
}

 

正确答案: A   你的答案: B (错误)

  1. 编译运行通过,输出结果是88
  1. 编译时错误,count变量定义的是私有变量
  1. 编译时错误,System.out.println方法被调用时test没有被初始化
  1. 编译和执行时没有输出结果
  2.  
  3. private是私有变量,只能用于当前类中,题目中的main方法也位于当前类,所以可以正确输出
  4.  
  5. 20.
下面有关 JAVA 异常类的描述,说法正确的有()

正确答案: A C   你的答案: A B C (错误)

  1. 异常的继承结构:基类为 Throwable,Error Exception 继承 Throwable,RuntimeException IOException 等继承 Exception
  1. RuntimeException 一般是外部错误,其必须被 try{}catch 语句块所捕获
  1. Error 类体系描述了 Java 运行系统中的内部错误以及资源耗尽的情形,Error 不需要捕捉
  1. RuntimeException 体系包括错误的类型转换、数组越界访问和试图访问空指针等等,必须 try{}catch 语句块所捕获
ABC
 
都是Throwable的子类: 
1.Exception(异常) :是程序本身可以处理的异常。

2.Error(错误): 是程序无法处理的错误。这些错误表示故障发生于虚拟机自身、或者发生在虚拟机试图执行应用时,一般不需要程序处理。

3.检查异常(编译器要求必须处置的异常) :  除了Error,RuntimeException及其子类以外,其他的Exception类及其子类都属于可查异常。这种异常的特点是Java编译器会检查它,也就是说,当程序中可能出现这类异常,要么用try-catch语句捕获它,要么用throws子句声明抛出它,否则编译不会通过。

4.非检查异常(编译器不要求处置的异常): 包括运行时异常(RuntimeException与其子类)和错误(Error)。

牛客网java基础知识的更多相关文章

  1. 从一道题看线程安全--牛客网Java基础题

    从一道题看线程安全 Java中的线程安全是什么: 就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的 ...

  2. 牛客网java基础题分类

    http://www.cnblogs.com/tptptptp/p/5904075.html

  3. 牛客网Java刷题知识点之Map的两种取值方式keySet和entrySet、HashMap 、Hashtable、TreeMap、LinkedHashMap、ConcurrentHashMap 、WeakHashMap

    不多说,直接上干货! 这篇我是从整体出发去写的. 牛客网Java刷题知识点之Java 集合框架的构成.集合框架中的迭代器Iterator.集合框架中的集合接口Collection(List和Set). ...

  4. 牛客网 Java 工程师能力评估 20 题 - 详解

    牛客网 Java 工程师能力评估 20 题 - 详解 不知在看博客的你是否知道 牛客网,不知道就太落后了,分享给你 : 牛客网 此 20 题,绝对不只是 20 题! 免责声明:本博客为学习笔记,如有侵 ...

  5. 牛客网Java刷题知识点之HashMap的实现原理、HashMap的存储结构、HashMap在JDK1.6、JDK1.7、JDK1.8之间的差异以及带来的性能影响

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  6. 牛客网Java刷题知识点之UDP协议是否支持HTTP和HTTPS协议?为什么?TCP协议支持吗?

    不多说,直接上干货! 福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑          ...

  7. 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤

    福利 => 每天都推送 欢迎大家,关注微信扫码并加入我的4个微信公众号:   大数据躺过的坑      Java从入门到架构师      人工智能躺过的坑         Java全栈大联盟   ...

  8. 牛客网Java刷题知识点之泛型概念的提出、什么是泛型、泛型在集合中的应用、泛型类、泛型方法、泛型接口、泛型限定上限、泛型限定下限、 什么时候使用上限?泛型限定通配符的体现

    不多说,直接上干货! 先来看个泛型概念提出的背景的例子. GenericDemo.java package zhouls.bigdata.DataFeatureSelection; import ja ...

  9. 牛客网Java刷题知识点之为什么HashMap和HashSet区别

    不多说,直接上干货! HashMap  和  HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的面试,可以说是不完整.而Collection框架的 ...

随机推荐

  1. 用js实现登录的简单验证

    实现过程示意图 代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> &l ...

  2. chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息

    chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法:chkconfig [--ad ...

  3. 二、python框架相关知识体系

    Django框架 1.django框架.flask框架和Tornado框架的区别? django框架,内置组件多,自身功能强大,是一个大而全的框架,ORM.Admin.中间件.Form.ModelFr ...

  4. PHP 分割字串 Function 的速度比較(substr/sscanf/preg_match)---substr最快!

    固定長度的字串(假設是 06481a63041b578d702f159f520847f8), 要照固定格式做切割, 使用 PHP 要怎麼切會比較快? 註: 要將此字串切成 => 06 / 48 ...

  5. Python中列表的各种方法

    列表是Python中一种常用的存储信息的方式,所以要熟练掌握列表的各种方法: 首先我们定义一个列表(name),然后练习里面的各种方法: >>> name = ["Sora ...

  6. jsonp原生js跨域拿新浪数据插件封装【可扩展】

    //修改了一个bug,增加了手动释放垃圾 <!DOCTYPE html> <html lang="en"> <head> <meta ch ...

  7. css绝对居中img

    html: <div id="imgs"> <img src="http://pic.616pic.com/ys_b_img/00/03/60/Kt6Q ...

  8. js监测设备类型【安卓,ios,苹果微信,电脑pc】

    话不多说上代码: 1.判断是不是微信 function is_weixn(){ var ua = navigator.userAgent.toLowerCase(); if(ua.match(/Mic ...

  9. 【LOJ】#2174. 「FJOI2016」神秘数

    题解 这道题的结论很显然= = 就是暴力求的话,把一个区间的数排一下序,如果当前这个数大于前面所有数的前缀和+1,那么前缀和+1即我们所求的答案 那么我们设置一个当前答案(初始为1),在主席树上求出来 ...

  10. python生成随机数据插入mysql

    import random as r import pymysql first=('张','王','李','赵','金','艾','单','龚','钱','周','吴','郑','孔','曺','严' ...