Java 中的关键字(上)

简介: Java 中的关键字(上)

Java基础知识复习

一、关键字总结

1.abstract

  • 修饰类:


abstract修饰类,这个类就是抽象类,抽象类中可以有非抽象变量和成员变量,也可以有普通方法、构造方法。但是不能实例化,只能被子类继承。

如果子类不是抽象类,则必须重写父类的抽象方法。


public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> {
    ...
}


  • 修饰方法:


abstract修饰方法,这个方法就是抽象方法。抽象方法必须存在于抽象类中。抽象方法不能有具体实现。


abstract public E get(int index);



2.assert


assert表示“断言”,有两种使用方法:


assert 表达式;



若表达式为真,程序继续执行;若表达式为假,则抛出一个AssertionError异常。


assert 表达式:错误信息;



与第一种方法相同,只是异常中带有错误信息。

使用assert时不能在表达式中完成任何程序实际所需的行为(只能做判断)。因为正常发布的代码都是断言无效的,即正常发布的代码中断言语句都不不执行的。


3.boolean


boolean是Java的基本类型之一(默认值false)。只有两个值:true和false。区别C的判断句,Java不能直接使用1和0来表示真假,且boolean类型也不能强转到其他基本类型。


boolean a = true;
boolean b = false;


4.break


  1. break在switch中用于跳出switch块,停止switch向下穿透的现象。


1. case value:expression;
2. break;


  1. break在循环中用于跳出循环。


1. while(...){
2.     ...
3. break;
4. }



  1. break也可以在后面接标签,用来跳出一些嵌套比较复杂的循环中。


1. flag:
2. for(...){
3. for(...){
4.         break flag;
5.     }
6. }



5.byte


byte是Java的基本类型之一(默认值0)。表示8位有符号整数。


范围:-128~127


byte a = 100;


6.case


case用于switch中,用于判断和执行语句。用法:


case 变量值:语句;


若变量值和switch(变量值)


中的变量值相等,就执行后面的语句。执行完后继续执行下一个case语句。


7.catch


catch用于捕获异常。


用法:


catch(异常类型 异常){...}


在try/catch语句块中,catch捕获发生的异常,并应对错误做一些处理。

当catch捕获到异常后,try中执行的语句终止,并跳到catch后的语句中。


8.char


char是Java的基本类型之一(默认值\u000)。表示16位、在Unicode编码表中的字符。使用单引号来表示字符常量,例如’A’。


范围:0-65535


char a = 'A';


9.class


class表示类。用于声明一个类。


[访问控制] (abstract) class 类名 (implements){...}



10.const


const是Java的一个保留关键字,没有实际意义,但是不能用于做变量名(因为被保留作为关键字了)。在C语言中表示常量,类似Java的final。



11.continue


  1. continue用于在循环中跳过本次循环。


while(...){
    ...
    continue;
}


  1. continue也可以在后面接标签,在一些嵌套比较复杂的循环中跳过一次循环。
flag:
for(...){
    for(...){
        continue flag;
    }
}


12.default


default关键字:


  1. 用于switch做默认分支:


default:语句;



  1. 用于接口,让接口实现具体的方法:


1. public interface a{
2. default void b(){
3.         具体方法;
4.     }
5. }



default用于接口时,必须要有具体实现。

(API>=24)


13. do


do用于和while组成循环,do/while循环不同于while循环,属于先执行循环体再判断。


1. do{
2.  循环体;
3. }while(...)


14.double


double是Java的基本类型之一(默认值0.0d),表示双精度、64位的浮点数。


double a = 0.1d;



15.else


else用于分支结构中的判断。例如:


if(判断1){
    语句1;
}else if(判断2){
    语句2;
}else{
    语句3;
}


16.enum


enum表示枚举,用于限制变量值的类型,例如:


public enum Alpha (implements 接口){
    (public static final)a,b,c,d
}


规定Color的实例只能为a,b,c,d其中之一。


枚举类中可以有成员变量和方法。


17.extends


extends表示继承。例如:


class 子类 extends父类{}



Java中的继承是单继承,即子类只能有一个直接父类。

除了private,子类可以访问父类的方法和成员变量。


18.final


  1. 修饰变量:

    将变量变为常量,在初始化变量后不能再改变值。

  1. 修饰方法:
    被final修饰的方法不能被子类重写。
  2. 修饰类:
    被final修饰的类不能被继承。


19.finally


finally在try/catch语句块中处理一些后续的工作。例如关闭网络连接和输入输出流等。


  • 如果在try/catch中使用return,则finally会撤销这个return,无论如何都会执行finally中的语句。


20.float


float是Java的基本类型之一(默认值0.0f)。表示单精度、32位的浮点数。


float a = 0.1f;



21.for


for用于循环:


for(初始化循环变量; 判断执行条件;更新循环变量){
    语句
}
for(变量:数组){
    语句
}


22.goto


Java中的保留关键字,没有实际意义,但是不能用做变量名。在C中表示无条件跳转语句。


23.if


if用于分支结构中的判断。常与else和else if使用。


if(表达式){语句}


若表达式为真,则执行后面的语句。


24.implements


implements用于接入接口。接上接口的类必须实现接口的抽象方法(可以不实现默认方法和静态方法)。


class A implements B{
    @Override
    do(){
        ...
    }
}



目录
相关文章
|
3月前
|
存储 安全 Java
Java面试题:深入探索Java内存模型,Java内存模型中的主内存与工作内存的概念,Java内存模型中的happens-before关系,volatile关键字在Java内存模型中的作用
Java面试题:深入探索Java内存模型,Java内存模型中的主内存与工作内存的概念,Java内存模型中的happens-before关系,volatile关键字在Java内存模型中的作用
31 1
|
3月前
|
Java 开发者
Java中的并发编程:深入理解synchronized关键字
在Java并发编程的领域中,synchronized关键字是实现线程同步的基础工具之一。本文将深入剖析synchronized的作用机制,探讨其在多线程环境下确保数据一致性的重要性,并通过实际案例展示其应用。同时,文章还将比较synchronized与Lock接口的不同之处,以助于开发者更好地选择适合自己场景的同步策略。
|
3月前
|
缓存 安全 算法
Java面试题:如何通过JVM参数调整GC行为以优化应用性能?如何使用synchronized和volatile关键字解决并发问题?如何使用ConcurrentHashMap实现线程安全的缓存?
Java面试题:如何通过JVM参数调整GC行为以优化应用性能?如何使用synchronized和volatile关键字解决并发问题?如何使用ConcurrentHashMap实现线程安全的缓存?
37 0
|
3月前
|
存储 SQL Java
Java实现关键字模糊查询的高效方法及实践
实现关键字模糊查询的方法有多种,每种方法都有其适用场景。在选择合适的方法时,应考虑实际需求、数据量大小、性能要求等因素。正则表达式适用于处理简单文本或小数据集;数据库模糊查询适用于存储在RDBMS中的数据;而第三方库,则适合需要进行复杂搜索的大型项目。选用合适的工具,可以有效提升搜索功能的性能和用户体验。
67 6
|
3月前
|
算法 Java API
多线程线程池问题之synchronized关键字在Java中的使用方法和底层实现,如何解决
多线程线程池问题之synchronized关键字在Java中的使用方法和底层实现,如何解决
|
3月前
|
缓存 安全 Java
Java面试题:解释volatile关键字的作用,以及它如何保证内存的可见性
Java面试题:解释volatile关键字的作用,以及它如何保证内存的可见性
67 4
|
3月前
|
安全 Java
Java面试题:解释synchronized关键字在Java内存模型中的语义
Java面试题:解释synchronized关键字在Java内存模型中的语义
44 1
|
3月前
|
设计模式 缓存 安全
Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
Java面试题:工厂模式与内存泄漏防范?线程安全与volatile关键字的适用性?并发集合与线程池管理问题
50 1
|
3月前
|
存储 安全 Java
(二) 彻底理解Java并发编程之 Synchronized关键字实现原理剖析
Synchronized 关键字(互斥锁)原理,一线大厂不变的面试题,同时也是理解 Java 并发编程必不可少的一环!其中覆盖的知识面很多,需要理解的点也很多,本文会以相关书籍和结合自己的个人理解,从基础的应用范围到底层深入剖析的方式进行阐述,如果错误或疑问欢迎各位看官评论区留言纠正,谢谢!
|
3月前
|
存储 缓存 Java
(一) 玩命死磕Java内存模型(JMM)与 Volatile关键字底层原理
文章的阐述思路为:先阐述`JVM`内存模型、硬件与`OS`(操作系统)内存区域架构、`Java`多线程原理以及`Java`内存模型`JMM`之间的关联关系后,再对`Java`内存模型进行进一步剖析,毕竟许多小伙伴很容易将`Java`内存模型(`JMM`)和`JVM`内存模型的概念相互混淆,本文的目的就是帮助各位彻底理解`JMM`内存模型。