访问修饰符 Access Modifier

  • private:私有的,可以应用于类、方法和字段,只有本类可见
  • protected: 受保护的,可以应用于类、方法和字段,对于同包的类及其子类都可见
  • public :公共的,任何类都可见

类、方法和变量的修饰符 Modifier

  • abstract:抽象,可以应用于类和方法
  • class:类,用于声明类,类是变量和方法的集合,面向对象的基本构造单位,类是对象的模板,每个对象都是类的一个实例
  • interface:接口,用于声明接口,接口是方法的集合,也可以拥有常量
  • extends:继承,可以应用于类和接口继承别的类的接口,继承使得类和接口能获得别的类或接口的变量和方法,只可以单继承
  • implements:实现,可以应用于类,表示类实现了接口,实现接口后必须实现接口中声明的
  • abstract方法 final:不可改变,可以应用于类和方法和变量,这样的类不可被继承,方法不可被重写,变量不可更改 native:本地,可以应用于方法,声明该方法是由Java以外的语言实现
  • new:新建,仅用于类的实例化,相当于创建一个类的实例
  • static:静态,可以应用于内部类、方法或变量,表示的是内部类、方法和变量属于当前的类而非类的实例
  • strictfp:精确,可以应用于类、接口和方法,在声明的范围内会完全依照浮点规范IEEE-754来执行浮点运算
  • synchronized:同步,可以应用于方法和语句块,用于保护声明范围内的线程安全
  • transient:临时的,可应用于类的变量,类的实例序列化时,声明临时的变量会被忽略
  • volatile:易变的,可应用于类的变量,表示该变量修改的值会立即被更新到主存,当有其他线程需要读取时,它会去内存中读取新值

程序控制语句 Program Control Statement

  • break:中断,用于在方法中中断for、while或do循环,或者在switch语句中结束case块,单独使用跳出当前循环而配合标记使用可以中断标记范围内的多层循环
  • continue:继续,用于在方法中跳到for、while或do循环的下一个迭代
  • return:返回,用于在方法中返回到调用它的地方,并传递匹配方法声明的返回类型的返回值
  • while:while循环,以一个条件为前提,只要条件成立就会循环,直到条件不成立则循环结束
  • do:do while循环,配合while使用,同样也是以条件判断循环,但至少会先执行一遍,再判断条件是否成立,然后循环往复直到条件不成立而退出
  • for:for循环,指定一个指针,在指针符合条件的前提下执行循环,执行完循环后指针
  • if:如果,用于在符合条件的前提下执行代码块
  • else:否则,配合if使用,如果没有符合if的条件,则执行else
  • switch:判断,根据一个值来选择一个或多个代码块中的代码来执行,可以通过break退出,可以设置一个默认执行的代码块,用default来标识,除此之外还需要与case结合使用
  • case:选择,配合switch使用,根据switch到的值来执行,如果选到的代码执行完毕而没有用break退出,则会继续顺序执行后面的case直到遇到break,才会退出,否则会将按顺序排的当前选择及后面的选择全执行完
  • default:默认的,用于switch中,可以作为默认选项,算是一个特殊的case选项,即switch拿到的值所有列出的case值都不匹配时,执行default中的代码 Java8之后,接口中可以有实现的成员方法,需要通过default作为修饰符来修饰

异常处理 Exception Handling

  • try:试图捕捉,应用于可能会出现异常的代码块,如果在try代码块中捕捉到异常,则会跳到对应异常的catch块中处理该异常
  • catch:捕捉,与try配合使用,用于捕捉try中出现的异常,在catch块中可以对异常做处理,try中如果可能有多种异常,可以用多个catch块分别处理,也可以用一个catch块处理,多种异常用“|”号分割
  • throw:抛出异常,应用于在方法中抛出异常,如果在方法中自行用throw抛出异常,则方法原则上要用throws声明该方法会抛出此异常
  • throws:声明异常,应用于方法的声明,后面需要声明具体的异常,表示该方法不处理声明的异常,而交给方法调用方进行处理

包相关

  • package:包,用于声明当前Java源文件所在的包路径,package语句必须在Java源文件的第一行
  • import:导入,用于将其他的包以及类引入到当前类中,import语句写在package语句下方,类声明的上方

类型

  • boolean:布尔型,布尔型只有两个值:true和false,while、do while循环和if、else if的判定中都必须是布尔型
  • byte:字节型,字节型使用了2进制中的8个位,一个字节8位,即可表示2^8=256个数字,可存储在 [-128, 127] 范围以内的整数值(包含0),超出范围后会溢出,byte的变量为最大值127时,用++加1后会变成最小值-128,反之亦然
  • char:字符型,字符型变量可以存储一个Unicode字符,10进制中char的范围为0 ~ 65535。而在0 ~ 65535之间,保留了一部分数字范围(D800–DBFF)和(DC00–DFFF),(D800–DBFF)叫高代理区和(DC00–DFFF)叫低代理区,各1024,这两个区组成一个二维的表格,共有1024×1024=2^10×2^10=2^4×2^16=16×65536,用它们来表示Unicode中65535以后的字符。char类型是可以运算的,因为char在ASCII等字符编码表中有对应的数值。在Java中,对char类型字符运行时,直接当做ASCII表对应的整数来对待。
  • short:短整型,短整型使用了二进制中的16个位,即可表示2^16=65,536个数字,可存储在[-32768, 32767]范围内的整数型(包含0),超出范围会溢出
  • int:整型,整型使用了二进制中的32个位,即可表示2^32=4,294,967,296个数字,可存储在[-2147483648, 2147483647]范围以内的整数值(包含0),超出范围后会溢出
  • long:长整型,长整型使用了二进制中的64个位,即可表示2^64=18,446,744,073,709,551,616个数字,可存储在[-9223372036854775808, 9223372036854775807]范围以内的整数值(包含0),超出范围后会溢出
  • float:浮点型,浮点型使用了了二进制中的32个位,但是float的范围比int大。float的范围大约在-3.4E+38 ~ 3.4E+38,由于浮点型运用了科学计数法E,所以可以用用同样的二进制位数保存更多范围的数字。float一共32位,1个符号位,8个指数位,23个分数位,可以通过指数来得到更大范围的值,缺点就是float并不能精准表示其范围内的所有值,尾数为23位 2^23=8,388,608,长度为7,因而float的精度为6~7。
  • double:双精度浮点型,双精度浮点型使用了二进制中的64个位,但是double的范围比long大。double的范围大约在,同样的由于运用了科学计数法E,所以可以保存比long的取值范围更大范围的数字。double一共64位,1个符号位,11个指数位,53个分数位,2^53=9,007,199,254,740,992,长度为16,因而double的精度为15~16。

  • null:空,表示无值,将 null 赋给引用变量相当于释放该变量先前所引用的对象。不能将 null 赋给8大基本类型(byte、short、int、long、char、float、double、boolean)变量,如果需要赋值为空,可以采用8大基本类型的包装类(Byte、Short、Integer、Long、Character、Float、Double、Boolean)
  • true:真,表示条件成立,如果在while循环、do whlie循环或if条件判断时为true,则后面块中的代码将会执行
  • false:假,表示条件不成立,如果在while循环、do whlie循环或if条件判断时为false,则后面块中的代码不会执行
  • void:无,在方法不返回任何值的时候使用,方法声明的返回值为void表示该方法无返回值

引用

  • super:超类,用于引用使用该关键字的类的超类,作为独立语句出现的 super 表示调用超类的构造方法。super.<methodName>() 表示调用超类的方法。只有在如下情况中才需要采用这种用法:要调用在该类中被重写的方法,以便指定应当调用在超类中的该方法
  • this:此,用于引用当前实例,当引用可能不明确时,可以使用 this 关键字来引用当前的实例。例如:this.属性名称 ,指的是访问类中的成员变量,用来区分成员变量和局部变量(重名问题);this.方法名称,用来访问本类的成员方法; this();表示在构造方法中访问本类的构造方法,如果()中有参数就是调用指定的有参构造,this()必须放在构造方法中第一行

保留字

  • goto:跳转,保留关键字,但无任何作用。结构化程序设计完全不需要 goto 语句即可完成各种流程,而 goto 语句的使用往往会使程序的可读性降低,所以 Java 不允许 goto 跳转。
  • const:静态,是一个类型修饰符,使用const声明的对象不能更新。与final某些类似。
  • native:本地的,Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。

lewicious
1 声望0 粉丝

语言只是工具,核心还是思维。


« 上一篇
Java基础-JVM

引用和评论

0 条评论