当前位置: 首页 > news >正文

SCJP认证考试复习笔记系列之一(收藏)

希望总结的这些知识点会对准备通过SCJP考试的朋友有所帮助!难免有错误的地方欢迎大家批评指正。
  1. Thread类是在java.lang包中定义的,sleep()和yield()是Thread的静态方法。但是wait()、notify()、notifyAll()是Object类的实例方法。要让一个线程启动要调用start()方法,但是具体什么时间线程开始运行是跟操作系统和虚拟机相关的。
  2. 任何时候都要记得String类是不可修改的,但是不要认为调用某些方法一定会创建一个新的对象。当调用String的实例的concat()、trim()、toUpperCase()、toLowerCase()方法时,如果调用后实例没有发生变化,那么将不会创建对象。运行下面的程序得到四个true就说明了这一点。
    public class TestString
    {
    ?public static void main(String[] args)
    ?{
    ??TestString ts = new TestString();
    ??ts.test();?
    ?}?
    ?
    ?public void test()
    ?{
    ??String lower = "mingjava";
    ??String upper = "MINGJAVA";
    ??
    ??System.out.println(lower == lower.toLowerCase());
    ??System.out.println(upper == upper.toUpperCase());
    ??System.out.println(lower == lower.trim());
    ??System.out.println(lower == lower.concat(""));
    ?}
    }
  3. 所有的异常都继承自Throwable,它的两个分支是Error和Exception。Error和RuntimeExcepton合起来称作UnCheckedException。其他的异常称作CheckedException。Error和RuntimeException是不需要进行捕捉的,Error我们无能为力,但是RuntimeException的出现就是你的错误,你应该检查你的代码。如果方法中没有用throws声明CheckedException,那么你进行捕捉的话同样会出现编译错误!
  4. 记得数组的下标从开始0开始计数的,有时候会在main(String[] args)里面考察你这个问题
  5. 内部类对它的Enclosing class有无限的访问权限,甚至可以访问他的private类型的变量。但是如果内部类想访问局部变量的时候,那么这个局部变量必须为final的。例如
    public class Test
    {
    ?public void doSome()
    ?{
    ??final int j = 100;??
    ???
    ??class InnerClass
    ??{
    ??
    ??????public void print()
    ??????{
    ??????????System.out.println(j);
    ??????}?
    ???}?
    ?}
    ?
    }
  6. 方法重载的时候,返回值和抛出异常是不能区分同样名字的方法的。起作用的是方法参数的类型和个数
  7. 注意>>是带符号的移位,>>>是右边补零的移位。看下面的例子

    public class MyClass
    {
    ?public static void main(String argv[])
    ?{
    ??int i = 0x80000000;
    ??
    ??System.out.println(i);
    ??System.out.println("after >>"+(i>>1));
    ??System.out.println("after >>>"+(i>>>1));
    ?}

    }
  8. ArrayIndexOutOfBoundsException, NullPointerException, ArithmeticException, NumberFormatException.ClassCastException都是常见的RuntimeException,不是Complie Exception
  9. String s = "xxxx" 这样的声明s是可以复用的,但是new String("xxx")是一定创建一个新的对象的。比较一下System.out.println("String" =="String")和System.out.println(new String("String")==new String("String"))的结果吧
  10. 在遇到a++和++a的时候一定要小心
  11. 短路运算符||和&&一定要弄明白,如果短路运算符前面的条件为真的话那么后面的语句就会被丢弃不会被执行
  12. transient只能修饰变量,并且它不能和final static一起使用
  13. 如果你继承Thread你可以不实现public void run()方法,但是你实现Runnable接口的话必须实现这个方法
  14. 如果方法前面不加限制修饰符,那么它是在包内可见的。 protected的意思是包内可见并且子类可见。
  15. String覆盖了Object的equals方法,这个方法比较的是String实例的内容,==比较的是地址。
  16. Byte, Double, Float, Integer, Long, Short 继承自Number,Character、Boolean继承自Object。
  17. 有时间应该看看几个包装类的构造函数考试的时候会涉及到
  18. 这样的声明是正确的int[][] array = new int[3][];
  19. 你应该很清楚switch语句的结构,并且switch()你能接受int char的参数
  20. 如果你覆盖了public boolean equals(Object object)方法那么你应该同时覆盖public int hashCode()
  21. instanceof 既可以用在class也可以用在interface

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 优质的深度学习NLP学习资料[(第四部分【AI聊天机器人学习资源】)
  • 图像的处理(一)----灰度图像像素颜色亮度处理
  • 重要的 NLP 任务总结与20本最佳深度学习书籍[附带源码]
  • CSDNBlog使用方法(非官方,持续更新)(已更新二次)
  • NLP模型笔记2022-01:浅谈语言模型
  • 发文庆祝,俺上榜了!
  • NLP模型笔记2022-02:关于规则与语料对语言模型的理解
  • NLP模型笔记2022-03:简单理解nlp句法分析
  • 嘻嘻,感谢阿好!
  • NLP模型笔记2022-04:一个简单案例理解语言模型预测句子的原理
  • 呵呵,添加照片成功
  • NLP模型笔记2022-05:实体识别与句法分析实战
  • 什么是博客?
  • 【博士论文】使用压缩表示的 中文分词词性标注研究
  • python使用技巧(二十八):判断并计算列表不同数据类型的基数
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 【刷算法】从上往下打印二叉树
  • 230. Kth Smallest Element in a BST
  • Android交互
  • Create React App 使用
  • ES6语法详解(一)
  • jQuery(一)
  • js数组之filter
  • laravel5.5 视图共享数据
  • Python中eval与exec的使用及区别
  • Spark RDD学习: aggregate函数
  • STAR法则
  • VUE es6技巧写法(持续更新中~~~)
  • Webpack 4 学习01(基础配置)
  • 技术:超级实用的电脑小技巧
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 再谈express与koa的对比
  • 追踪解析 FutureTask 源码
  • Java总结 - String - 这篇请使劲喷我
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • ![CDATA[ ]] 是什么东东
  • # include “ “ 和 # include < >两者的区别
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #pragam once 和 #ifndef 预编译头
  • #每日一题合集#牛客JZ23-JZ33
  • (1)Jupyter Notebook 下载及安装
  • (1)SpringCloud 整合Python
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (6)设计一个TimeMap
  • (WSI分类)WSI分类文献小综述 2024
  • (动手学习深度学习)第13章 计算机视觉---微调
  • (二)原生js案例之数码时钟计时
  • (五)activiti-modeler 编辑器初步优化
  • (转载)hibernate缓存