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

