Java基础易忘知识点:修饰符与运算符详解

0 下载量 201 浏览量 更新于2024-08-29 收藏 154KB PDF 举报
Java语法是一门强大的编程语言,它包含许多易忘但至关重要的知识点。本文将聚焦于Java的关键组成部分:修饰符和运算符,以及一些常用的类。 **Java修饰符** 1. **default**: Java的默认访问修饰符,它表示类成员默认在同一个包内可见,如果不在声明时指定访问级别,编译器将自动设置为default。 2. **public**: 公开访问修饰符,允许所有类访问,不仅限于同一包内的其他类,也包括其他包的类。 3. **protected**: 受保护访问修饰符,允许在同一包内和继承自该类的子类访问,但不允许其他包直接访问。 4. **protected详解**: 在Java 6及以后版本中,还引入了`protected`内部类的特性,它们可以访问被外部类的`protected`成员。 5. **private**: 私有访问修饰符,仅限于当前类内部访问,外部类和子类都无法直接访问。 6. **static**: 静态修饰符,用于标识类的成员(变量或方法),与特定实例无关,可以直接通过类名调用。 7. **final**: 常量修饰符,用于声明不可变的变量,值一旦初始化就不能改变;类也可以被final修饰,表示类不可被继承。 8. **abstract**: 抽象修饰符,用于声明抽象类和抽象方法,抽象类不能实例化,必须由其子类实现具体方法。 9. **synchronized**: 同步修饰符,用于保证多线程环境下的数据一致性,方法或代码块被锁定,确保同一时刻只有一个线程执行。 10. **transient**: 表示该字段不会被序列化,即在对象的序列化和反序列化过程中,transient变量会被忽略。 11. **volatile**: 保证多线程环境下对变量的读写可见性,且禁止指令重排序。 **Java运算符** 1. **算术运算符**: 包括加(+)、减(-)、乘(*)、除(/)、取模(%)、递增(++)和递减(--)等。 2. **赋值运算符**: 等号(=)用于将右侧表达式的值赋予左侧变量。 3. **关系运算符**: 比较两个值的大小,如等于(==)、不等于(!=)、大于(>)、小于等于(<=)和小于(<)。 4. **位运算符**: `&` (按位与)、`|` (按位或)、`^` (按位异或) 和 `~` (按位取反),用于处理二进制位级别的操作。 5. **位移运算符**: `<<` (左移)、`>>` (无符号右移) 和 `>>>` (带符号右移) 用于调整数值的位。 6. **逻辑运算符**: `&&` (逻辑与,短路)、`||` (逻辑或) 和 `!` (逻辑非),用于条件判断。 7. **条件运算符**: `?:` (三目运算符) 用于基于条件选择执行其中一个表达式。 8. **instanceof运算符**: 检查一个对象是否属于指定的类型,返回布尔值。 **常用类** - **Numbers**: 提供数学计算功能,如`Math`类。 - **Character**: 字符类,常用于处理单个字符的编码和转换。 - **String**: 字符串类,字符串一旦创建就不可变,但`StringBuilder`和`StringBuffer`提供了可变字符串操作。 - **StringBuilder**: 用于高效地构建字符串,非线程安全。 - **StringBuffer**: 类似`StringBuilder`,但线程安全,但效率略低,除非绝对需要线程安全,否则推荐使用`StringBuilder`。 总结来说,理解并熟练掌握这些Java修饰符和运算符是编程基础的重要部分,而理解如何选择和使用`StringBuilder`和`StringBuffer`,以及何时使用`instanceof`和运算符优先级,对于编写高效的代码至关重要。同时,熟悉常见的类和它们的功能可以帮助开发者更好地构建Java应用程序。