java知识总结——关键字(一)

说明

  本文仅仅为了博主面试时方便查阅与梳理相关知识,如果有错误与不到位的地方,欢迎大佬指点改正,谢谢!
  阅读书籍:《java程序员面试笔试宝典》

一、变量名称规则

  标识符
在java语言中,变量名、函数名和数组名统称为标识符,java语言规定标识符只能由字母(a-z,A-Z)、数字(0-9)、下划线(_)和美元符组成,标识符第一个字符必须是字母、下划线或美元符。此外,标识符也不能包含空白字符(换行符、空格和制表符)。

  注意:
  1、保留字不能作为标识符;
  2、标识符不能以数字开头;
  3、*不能作为标识符的字符;
  4、标识符区分大小写。

二、break、continue和return

  1、break
  break用于直接强行跳出当前循环,不再执行剩余代码。当循环中遇到break语句时,忽略循环体中任何其他语句和循环条件测试,程序控制在循环体后面的语句重新开始。所以,当多层循环嵌套,并且break语句出现在嵌套循环中的内层循环时,它将仅仅是终止了内层循环的执行,而不影响外层循环的执行
  2、continue
  continue用于停止当次循环,回到循环起始处,进入下一次循环操作。continue语句之后的语句将不再执行,用于跳过循环体中的一部分语句。continue只是中断一次循环的执行
  3、return
  return语句是一个跳转语句,用来表示从一个方法返回(返回一个值或其他复杂类型),可以使程序控制返回到调用该方法的地方。当执行main方法时,return语句可以使程序执行返回到java运行系统。

  break如何跳出多重循环?
  在多重循环的外面定义一个标识,然后再循环体里使用带有标识的break语句,这样即可跳出多重循环。

  java中的goto关键字
  goto作为java的保留字,但目前并未在java中使用。在C/C++中,goto常用于跳出多重循环。
  虽然java中没有goto语句,但是可以使用标识符加冒号(:)的形式定义标签。这主要是为了在多重循环中方便使用break和continue而设计的。

三、final、finally和finalize

  1、final
  final用于声明属性、方法和类,分别表示属性不可变、方法不可变和类不可继承(不能派生出新的子类)
  (1)final属性
  被final修饰的变量不可变

  不可变有两种含义:一是引用不可变,二是对象不可变。

  final指的引用的不可变性,即它指向初始时指向的那个对象,而不关心指向对象内容的变化。所以,被final修饰的变量必须被初始化。
  对final修饰的变量进行初始化的方式:
  ①在定义的时候初始化;
  ②final成员变量可以在初始化块中初始化,但不可在静态代码块中初始化;
  ③静态final成员变量可以在静态初始化块中初始化,但不可在初始化块中初始化;
  ④在类的构造器中初始化,但静态final成员变量不可以在构造函数中初始化。
  (2)final方法
  当一个方法声明为final时,该方法不允许任何子类重写这个方法,但子类仍然可以使用这个方法。另外,还有一种被称为inline(内联)的机制,当调用一个被声明为final的方法时,直接将方法主体插入到调用处,而不是进行方法调用,这样能提高程序的效率。
  (3)final参数
  用来表示这个参数在这个函数内部不可被修改
  (4)final类
  当一个类被声明为final时,此类不能被继承,所有方法都不能被重写。但这并不表示final类的成员变量也是不可改变的。要想final类的成员变量不可改变,必须在成员变量增加final修饰。
  注意:一个类不能既被声明为abstract,又被声明为final。
  2、finally
  finally作为异常处理的一部分,它只能用在try/catch语句中,并且附带一个语句块,表示这段语句最终一定被执行,经常被用在需要释放资源的情况下。
  注意:不管程序运行是否会出现异常,finally中的代码一定会执行,这样能够保证在任何情况下数据库的连接资源都能被释放。
  3、finalize
  finalize是Object类的一个方法,在垃圾回收期执行时会调用被回收对象的finalize()方法,可以覆盖此方法来实现对其他资源的回收。
  注意:一旦垃圾回收器准备好释放对象占用的空间,将首先调用其finalize()方法,并且在下一次垃圾回收动作发生时,才会真正回收对象占用的内存。

  JDK中哪些类是不能被继承的?
  不能继承的类时那些用final关键字修饰的类,比如一般的基本类型为防止扩展类无意间破坏原来方法的实现的类型都应该是final的(比如String、StringBuffer)。

四、assert的作用

  1、概念
  断言(assert)作为一种软件调试的方法,提供了一种在代码中进行正确性检查的的机制,目前很多语言都支持这种机制。它的主要作用是对一个boolean表达式进行检查,一个正确运行的程序必须保证这个boolean表达式的值为true,若boolean表达式的值为false,则说明程序已经处于一种正确的状态下,系统需要提供警告信息并且退出程序。
  注意:assert在实际开发中用来保证程序的正确性,软件发布后,assert检查默认关闭。
  2、表达方式
  assert包括两种表达式,分别为assert expression1与assert expression1:expression2,其中,expression1表示一个boolean表达式,expression2表示一个基本类型或者是一个对象,基本类型包括boolean、char、double、float、int和long。
  3、应用范围
  (1)检查控制流;
  (2)检查输入参数是否有效;
  (3)检查函数结果是够有效;
  (4)检查程序不变量;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值