李兴华java笔记
### Java核心知识精讲 #### 一、Java简介 Java是一种广泛使用的高级编程语言,由Sun Microsystems于1995年推出。它以其跨平台的能力("一次编写,到处运行")而闻名,并且被用于各种应用开发,包括桌面应用程序、移动应用程序(尤其是Android平台)、服务器端Web应用程序等。 **特点:** - **跨平台性**:通过Java虚拟机(JVM),可以在不同的操作系统上运行相同的Java程序。 - **安全性**:Java提供了多种内置安全特性,如沙箱机制。 - **面向对象**:Java完全支持面向对象编程的概念,如封装、继承、多态等。 - **自动内存管理**:Java使用垃圾回收机制来管理内存,减轻了开发者手动管理内存的负担。 - **丰富的API库**:Java提供了大量的标准库,涵盖了网络、图形用户界面、数据库连接等方面的功能。 #### 二、JDK的安装与配置 **JDK(Java Development Kit)**是Java开发工具包,包含了编译、调试和运行Java程序所需的所有工具。安装JDK之前,请确保系统满足以下要求: - 操作系统:Windows、Linux或Mac OS。 - 内存:至少1GB RAM。 - 硬盘空间:至少500MB。 **安装步骤:** 1. 下载适合您操作系统的JDK安装包。 2. 安装JDK并设置环境变量。 3. 验证安装是否成功,打开命令行工具,输入`java -version`。 **环境变量设置:** - **JAVA_HOME**: JDK安装目录的路径。 - **PATH**: 包含`%JAVA_HOME%\bin`。 - **CLASSPATH**: 可选,一般设置为`.`。 #### 三、第一个Java程序:“Hello World” **示例代码:** ```java public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World!"); } } ``` **解释:** - `public class HelloWorld`: 声明一个公共类,名称为`HelloWorld`。 - `public static void main(String[] args)`: 定义程序的入口点。 - `System.out.println`: 输出文本到控制台。 #### 四、标识符和关键字 **标识符:** - Java中的标识符用来命名类、接口、变量等。 - 规则:只能以字母、美元符号($)或下划线(_)开头,后跟任意数量的字母、数字、美元符号或下划线。 **关键字:** - Java中有保留的关键字,不能用作标识符。 - 例如:`public`, `class`, `int`, `if`, `else`, `for`, `while`等。 #### 五、数据类型 Java中的数据类型分为两大类:原始数据类型和引用数据类型。 **原始数据类型:** - **整型**:`byte`, `short`, `int`, `long` - **浮点型**:`float`, `double` - **字符型**:`char` - **布尔型**:`boolean` **引用数据类型:** - **类**:用户自定义的数据类型。 - **数组**:存储同种类型元素的集合。 - **接口**:用于定义行为规范。 #### 六、运算符 **三目运算符:** - `条件 ? 表达式1 : 表达式2`,如果条件为真,则返回表达式1的值;否则返回表达式2的值。 **逻辑运算符:** - `&&`: 逻辑与 - `||`: 逻辑或 - `!`: 逻辑非 **位运算符:** - `&`: 位与 - `|`: 位或 - `^`: 位异或 - `~`: 位非 - `<<`: 左移 - `>>`: 右移 - `>>>`: 无符号右移 #### 七、程序结构 **顺序结构:** 按照代码出现的顺序依次执行。 **分支结构(选择结构):** 根据条件选择不同的执行路径,如`if`, `else if`, `else`语句。 **循环结构:** 重复执行某段代码直到满足某个条件为止,如`for`, `while`, `do-while`循环。 #### 八、方法 **方法的基本定义:** 方法是完成特定功能的一组指令集,可以接受参数,也可以返回结果。 **方法的重载:** 在同一类中,方法名相同但参数列表不同(参数类型、数量或顺序不同)的情况称为方法重载。 **递归调用:** 方法调用自身的过程称为递归调用。递归通常需要一个终止条件,避免无限循环。 #### 九、面向对象基础 **面向对象的概念:** 面向对象编程(OOP)是一种编程范式,强调的是将数据和操作这些数据的方法组织在一起。 **类与对象:** - **类**定义了一组具有相同特征的对象的模板或蓝图。 - **对象**是类的一个实例。 **封装性:** 封装是指隐藏对象的具体实现细节,只暴露必要的接口供外部使用。 **构造方法:** 构造方法是一种特殊的方法,用于创建对象时初始化对象的状态。构造方法的名称必须与类名相同。 **匿名对象:** 没有名字的对象称为匿名对象,通常用于立即执行某些操作而不必关心后续使用的情况。 #### 十、String类 **String类两种对象实例化方式:** - 直接赋值:`String s = "hello";` - 使用`new`关键字:`String s = new String("hello");` **字符串比较:** - 使用`==`比较两个字符串变量是否指向同一个对象。 - 使用`equals()`方法比较两个字符串的内容是否相等。 **字符串操作方法:** - `length()`: 返回字符串长度。 - `charAt(int index)`: 返回指定索引处的字符。 - `substring(int beginIndex, int endIndex)`: 返回从`beginIndex`到`endIndex`(不包含)的子串。 - `replace(char oldChar, char newChar)`: 替换字符串中的字符。 - `split(String regex)`: 根据正则表达式分割字符串。 - `toUpperCase()`, `toLowerCase()`: 字符串转换为大写或小写。 - `trim()`: 删除字符串两端的空白字符。 #### 十一、static关键字 **使用static定义属性:** `static`修饰的属性称为静态属性,属于类本身而不是对象。 **使用static定义方法:** `static`修饰的方法称为静态方法,可以通过类名直接访问,无需创建对象。 **主方法:** 每个Java程序都必须有一个`main`方法作为程序的入口点。格式为:`public static void main(String[] args) { ... }` **static关键字的使用:** - 修饰成员变量,使得该变量成为类级别的,所有对象共享同一份数据。 - 修饰成员方法,使得该方法成为类级别的,可以通过类名直接调用。 #### 十二、内部类 **内部类的基本概念:** 内部类是定义在另一个类内部的类,可以访问外部类的私有成员。 **使用static定义内部类:** 如果内部类被声明为静态,那么它就不能再访问外部类的非静态成员。 **在方法中定义内部类:** 可以在方法体内定义一个内部类,这样的内部类称为局部内部类。 #### 十三、继承性 **继承的概念:** 继承允许我们创建一个新的类,这个新类继承了已有类的属性和方法。 **覆写(Override):** 当子类中的方法与父类中的方法具有相同的签名时,子类方法覆盖父类方法的行为称为覆写。 **多态性:** 多态性允许一个接口代表多个形式,即一个类实例的多个版本。 **抽象类:** 抽象类是一种不能实例化的类,它可能包含抽象方法(没有实现体的方法)。抽象类通常用于定义一组共有的属性和行为,然后由其子类来具体实现。 以上就是从“李兴华java笔记”中提取的核心知识点,涵盖了Java的基础语法、面向对象编程的基本概念和技术点。希望对学习Java有所帮助。
剩余63页未读,继续阅读
- 帅可儿妞2018-10-27好东西,支持
- 慎,独2021-07-29是我想要的资源,牛牛牛
- qq_279286652018-03-15不错,学习了
- fujunnan22018-12-11不错,学习了
- 粉丝: 39
- 资源: 18
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip