Java基础易忘知识点:修饰符与运算符详解
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应用程序。
136 浏览量
128 浏览量
168 浏览量
200 浏览量
255 浏览量
531 浏览量
818 浏览量
点击了解资源详情
139 浏览量
weixin_38689976
- 粉丝: 6
- 资源: 924
最新资源
- roam-themez:漫游研究CSS主题
- IPO-Market-Forecasting
- flutter_smart_course:内置的智能课程应用程序
- Co1_out_Courseoutline_
- hbase-1.2.6
- 易语言-最新版PC微信2.8.0.121 hook源码分享
- 99taxis-recruitment
- MyTerm:平面UI RS232串行端口通信实用程序,可以以十六进制或ASCII格式显示接收到的数据,从而允许您配置连接参数
- 证书生成器:Python opencv程序,单击即可生成批量证书
- Data-Science-Experiments
- kodexplorer3.2无限制版
- Image Resizer-crx插件
- json2html-bookmarks:将Firefox书签从JSON转换为HTML格式(可以在其他浏览器中导入)
- 10kb-webserver-error-Pages
- wweir.github.io:温习江湖的个人博客
- 毕业设计-BOOT客户管理系统源码(免费、无需积分)