目录
各位帅哥美女,编辑不易,动动发财小手,来个三连加关注,后续会有更加优秀的推文推出~
开始入门java,首先进行Javase的学习(速成学狂神,详细请学尚硅谷),一定要把基础打牢。了解:各种各样的基础语法以及进行基本的编程、基本的网络编程,重点:面向对象,多线程,集合。强烈建议使用idea开发(毕竟太爽了)
1. JavaSE 概述
JavaSE(Java Standard Edition)是Java平台的标准版本,用于开发桌面、嵌入式和服务器端应用程序。它提供了一组核心API(Application Programming Interface),涵盖了基本的语言功能、输入输出、并发、网络等方面。
2. 环境搭建
2.1 JDK安装
首先,你需要在官方网站(https://www.oracle.com/java/technologies/javase-downloads.html)下载并安装Java Development Kit(JDK)。安装完成后,设置环境变量JAVA_HOME
指向你的JDK安装路径,并将%JAVA_HOME%\bin
添加到系统PATH
中。
2.2 开发工具
选择一款适合你的集成开发环境(IDE),例如Eclipse、IntelliJ IDEA或NetBeans。这些工具提供了强大的代码编辑、调试和项目管理功能。
3. 基本语法
3.1 变量和数据类型
int age = 25;
double salary = 50000.50;
String name = "John";
3.2 控制流程
if (age > 18) {
System.out.println("成年人");
} else {
System.out.println("未成年人");
}
for (int i = 0; i < 5; i++) {
System.out.println("循环第" + (i + 1) + "次");
}
3.3 函数
在JavaSE中,函数通常被称为方法(Method)。方法是一组执行特定任务的语句,它可以接受输入参数,执行操作,然后返回一个结果。
1. 方法的定义
在Java中,方法由方法名、返回类型、参数列表和方法体组成。下面是一个简单的方法定义的例子:
public class Calculator {
// 方法定义
public static int add(int a, int b) {
return a + b;
}
}
在这个例子中:
- 方法名:
add
- 返回类型:
int
表示这个方法返回一个整数。 - 参数列表:
(int a, int b)
表示这个方法接受两个整数类型的参数。 - 方法体:
{ return a + b; }
包含了方法的具体实现。
2. 方法的调用
调用方法是通过方法名和一组传递给方法的参数来完成的,在上述例子中,调用方法的示例如下:
public class Main {
public static void main(String[] args) {
// 调用add方法
int result = Calculator.add(3, 7);
System.out.println("结果:" + result);
}
}
在这个例子中,Calculator.add(3, 7)
表示调用 Calculator
类中的 add
方法,并传递参数 3
和 7
给这个方法。方法执行后,返回的结果赋值给变量 result
,最后输出结果。
3. 方法的返回值
方法可以有一个返回值,也可以是 void
表示没有返回值。在上述例子中,add
方法的返回类型是 int
,因此它返回一个整数值。
如果方法没有返回值,返回类型应该声明为 void
:
public void printMessage(String message) {
System.out.println(message);
}
4. 方法的参数
方法可以接受零个或多个参数。参数是方法在执行时需要的输入值。在上述例子中,add
方法接受两个参数 int a
和 int b
。
public class Example {
// 方法接受多个参数
public static void displayInfo(String name, int age, double salary) {
System.out.println("Name: " + name);
System.out.println("Age: " + age);
System.out.println("Salary: " + salary);
}
}
5. 方法的重载
Java支持方法的重载,即在同一个类中可以定义多个方法,它们具有相同的名字但不同的参数列表。重载的方法应该有不同的参数类型、个数或顺序。
public class MathOperations {
// 重载的方法
public static int add(int a, int b) {
return a + b;
}
public static double add(double a, double b) {
return a + b;
}
}
6. 静态方法与实例方法
- 静态方法(Static Method): 使用
static
关键字定义,可以通过类名直接调用,无需创建类的实例。
public class Utility {
// 静态方法
public static void printMessage(String message) {
System.out.println(message);
}
}
调用静态方法:
Utility.printMessage("Hello, JavaSE!");
- 实例方法(Instance Method): 在类的实例上调用,需要先创建类的对象,然后通过对象调用方法。
public class Example {
// 实例方法
public void displayInfo() {
System.out.println("This is an instance method.");
}
}
调用实例方法:
Example example = new Example();
example.displayInfo();
4. 面向对象编程(OOP)
4.1 类与对象
在JavaSE中,类与对象是面向对象编程(Object-Oriented Programming,OOP)的核心概念。下面将详细说明类与对象的含义、定义和使用。
1. 类与对象的概念
-
类(Class): 类是面向对象编程中的基本概念,它是一种抽象数据类型,用于封装数据和行为。类可以看作是对象的蓝图,定义了对象的属性和方法。
-
对象(Object): 对象是类的实例,是内存中的一个具体实体。对象包含了类中定义的属性和方法,通过对象可以访问和操作这些属性和方法。
2. 类的定义
在Java中,类的定义由类名、属性(字段)和方法组成。以下是一个简单的类定义的例子:
public class Car {
String brand;
String model;
public void start() {
System.out.println("启动汽车");
}
}
public class Main {
public static void main(String[] args) {
Car myCar = new Car();
myCar.brand = "Toyota";
myCar.model = "Camry";
myCar.start();
}
}
-
类名(Class Name): 类名以关键字
class
开始,后面跟着类的名称,按照Java的命名规范,类名通常以大写字母开头。 -
属性(Fields): 属性是类的成员变量,用于描述对象的特征或状态。在上述例子中,
brand
、model
和year
就是Car
类的属性。 -
方法(Methods): 方法定义了类的行为,是类的成员函数。在上述例子中,
start
和drive
就是Car
类的方法。
3. 对象的创建与使用
创建对象的过程称为实例化。在Java中,使用 new
关键字实例化一个对象,并通过构造函数初始化对象。
public class Main {
public static void main(String[] args) {
// 创建Car类的对象
Car myCar = new Car();
// 访问对象的属性
myCar.brand = "Toyota";
myCar.model = "Camry";
myCar.year = 2022;
// 调用对象的方法
myCar.start();
myCar.drive();
}
}
-
实例化对象:
new Car()
创建了一个Car
类的对象,将其赋值给myCar
变量。 -
访问属性: 使用对象名和点号(
.
)可以访问对象的属性,将值赋给属性。 -
调用方法: 使用对象名和点号(
.
)可以调用对象的方法,执行方法中定义的行为。
4. 构造函数
构造函数是一种特殊的方法,用于在对象创建时进行初始化。如果类没有显式定义构造函数,Java会提供一个默认的构造函数,但你也可以自定义构造函数以满足特定的需求。
public class Car {
String brand;
String model;
int year;
// 构造函数
public Car(String brand, String model, int year) {
this.brand = brand;
this.model = model;
this.year = year;
}
// 其他方法...
}
4.2 封装、继承、多态
- 封装(Encapsulation): 封装是面向对象编程的原则之一,它将数据和方法组合成一个单一的单元,并对外部隐藏对象的内部细节。在Java中,使用访问修饰符(
public
、private
、protected
)来控制属性和方法的访问权限。
public class Car {
private String brand; // 私有属性,只能在类内部访问
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
}
- 继承(Inheritance): 继承允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以重用父类的代码,并且可以扩展或修改父类的行为。
- 多态(Polymorphism): 多态允许不同的类共享相同的接口,从而提高代码的灵活性。在Java中,多态主要通过方法重写(Override)和接口实现(Interface Implementation)来实现。
public class Animal { public void makeSound() { System.out.println("动物发出声音"); } } public class Dog extends Animal { @Override public void makeSound() { System.out.println("狗汪汪叫"); } }
5. 异常处理
public class ExceptionExample {
public static void main(String[] args) {
try {
int result = divide(10, 0);
System.out.println("结果:" + result);
} catch (ArithmeticException e) {
System.out.println("除数不能为零");
}
}
public static int divide(int a, int b) {
return a / b;
}
}
6. 文件操作
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class FileExample {
public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new FileReader("example.txt"))) {
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
7. 网络编程
import java.net.ServerSocket;
import java.net.Socket;
import java.io.*;
public class SimpleServer {
public static void main(String[] args) {
try (ServerSocket serverSocket = new ServerSocket(8080)) {
System.out.println("服务器启动,等待连接...");
Socket clientSocket = serverSocket.accept();
System.out.println("连接成功!");
BufferedReader reader = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String message = reader.readLine();
System.out.println("收到消息:" + message);
PrintWriter writer = new PrintWriter(clientSocket.getOutputStream(), true);
writer.println("Hello, Client!");
reader.close();
writer.close();
clientSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上只是JavaSE入门的冰山一角,希望这个简短的介绍能够帮助你更好地了解Java后端开发的基础。如果有特定的主题或问题,欢迎进一步提问!