1.java入门(基础概念与常识)
**Java 入门指南**
**第一章:Java 基础概念**
###什么是 Java?
Java 是一种面向对象的编程语言,由 James Gosling 等人在1991 年开发。它最初被称为 "Oak",后来改名为 Java。Java 的主要特点是平台独立性,即可以在任何支持 Java 虚拟机 (JVM) 的设备上运行。
### Java 的历史Java 的发展始于1990 年代早期,当时 James Gosling 和他的团队正在寻找一种新语言来开发电视盒子。他们的目标是创建一种简单、易用且高效的语言,以便在各种平台上部署应用程序。
### Java 的特点Java 有以下几个重要特点:
* **面向对象**: Java 支持封装、继承和多态等面向对象编程概念。
* **平台独立性**: Java代码可以在任何支持 JVM 的设备上运行,无需重写或重新编译。
* **健壮性**: Java 有内置的错误检查机制,帮助程序员避免常见的编程错误。
### Java 的应用场景Java 可用于各种领域,包括:
* **Web 应用开发**: Java 是构建 Web 应用的理想语言,可以使用 Servlet、JSP 等技术。
* **移动应用开发**: Java 可用于 Android 应用开发。
* **桌面应用开发**: Java 可用于桌面应用的开发。
### Java 的版本Java 有多个版本,包括:
* **Java1.0**: 第一版 Java,发布于1995 年。
* **Java2 SDK (JDK)1.2**: 第二版 Java,发布于1998 年。
* **Java SE6**: 第六版 Java,发布于2006 年。
* **Java SE11**: 第十一版 Java,发布于2018 年。
### Java 的工具Java 有多个工具,包括:
* **JDK (Java Development Kit)**: Java 开发工具包,包含编译器、调试器等工具。
* **Eclipse**: 一款流行的 IDE(集成开发环境)。
* **NetBeans**: 一款流行的 IDE。
### Java 的常用命令以下是 Java 常用的命令:
* `javac`: 编译 Java代码。
* `java`: 运行 Java 程序。
* `javadoc`: 自动生成 Java API 文档。
**第二章:Java 基础语法**
### 变量和数据类型在 Java 中,变量是用于存储值的空间。每个变量都有一个特定的数据类型。
#### 整型变量整型变量(int)用于存储整数值。
java// 声明一个整型变量int age =25;
#### 浮点型变量浮点型变量(float)用于存储浮点数值。
java// 声明一个浮点型变量float height =1.75f;
#### 字符型变量字符型变量(char)用于存储单个字符。
java// 声明一个字符型变量char name = 'A';
#### 布尔型变量布尔型变量(boolean)用于存储布尔值(true 或 false)。
java// 声明一个布尔型变量boolean isAdmin = true;
### 运算符Java 支持多种运算符,包括:
* 算术运算符:+、-、*、/、% 等。
* 关系运算符:==、!=、<、>、<=、>= 等。
* 逻辑运算符:&&、||、! 等。
### 控制结构Java 支持多种控制结构,包括:
* 条件语句(if-else):用于根据条件执行不同代码块。
* 循环语句(for、while、do-while):用于重复执行某些代码。
* switch语句:用于根据值选择执行不同的代码块。
### 函数函数是可重用的代码块,用于完成特定的任务。
java// 声明一个函数public void sayHello() { System.out.println("Hello, World!"); }
### 类和对象类是模板,用于定义对象的属性和行为。对象是类的实例。
java// 定义一个类public class Person { private String name; private int age; public void setName(String name) { this.name = name; } public void setAge(int age) { this.age = age; } } // 创建一个对象Person person = new Person(); person.setName("John"); person.setAge(30);
### 继承继承是指子类继承父类的属性和行为。
java// 定义一个父类public class Animal { public void eat() { System.out.println("Eating..."); } } // 定义一个子类public class Dog extends Animal { @Override public void eat() { System.out.println("Dog is eating..."); } public void bark() { System.out.println("Barking..."); } }
### 多态多态是指同一对象在不同情况下表现出不同的行为。
java// 定义一个父类public class Shape { public void draw() { System.out.println("Drawing a shape..."); } } // 定义一个子类public class Circle extends Shape { @Override public void draw() { System.out.println("Drawing a circle..."); } }
### 抽象类抽象类是不能实例化的类,用于定义接口和共有方法。
java// 定义一个抽象类public abstract class Animal { public abstract void eat(); } // 定义一个子类public class Dog extends Animal { @Override public void eat() { System.out.println("Dog is eating..."); } }
### 接口接口是定义一组方法的抽象类。
java// 定义一个接口public interface Shape { void draw(); } // 实现一个接口public class Circle implements Shape { @Override public void draw() { System.out.println("Drawing a circle..."); } }
### 异常异常是指程序执行过程中出现的错误。
java// 定义一个异常类public class MyException extends Exception { public MyException(String message) { super(message); } } // 抛出一个异常try { //代码块} catch (MyException e) { System.out.println(e.getMessage()); }
### finally 块finally 块是用于释放资源的代码块。
java// 定义一个资源类public class Resource { public void close() { System.out.println("Closing the resource..."); } } // 使用 try-finally 块Resource resource = new Resource(); try { //代码块} finally { resource.close(); }
### try-with-resources 块try-with-resources 块是用于释放资源的新语法。
java// 定义一个资源类public class Resource implements AutoCloseable { public void close() { System.out.println("Closing the resource..."); } } // 使用 try-with-resources 块Resource resource = new Resource(); try (resource) { //代码块}
### Lambda 表达式Lambda 表达式是用于定义匿名函数的语法。
java// 定义一个接口public interface MathOperation { int operation(int a, int b); } // 使用 Lambda 表达式MathOperation mathOperation = (a, b) -> a + b; int result = mathOperation.operation(2,3); System.out.println(result); // Output:5
### 方法引用方法引用是用于定义函数的语法。
java// 定义一个接口public interface MathOperation { int operation(int a, int b); } // 使用方法引用MathOperation mathOperation = Integer::sum; int result = mathOperation.operation(2,3); System.out.println(result); // Output:5
### 枚举枚举是用于定义一组常量的语法。
java// 定义一个枚举类public enum Color { RED, GREEN, BLUE} // 使用枚举Color color = Color.RED; System.out.println(color); // Output: RED
### 注解注解是用于定义元数据的语法。
java// 定义一个注解类@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { } // 使用注解@MyAnnotationpublic void myMethod() { System.out.println("Hello, World!"); }
### 泛型泛型是用于定义类型安全的集合类的语法。
java