Java教程:从基础语法到高级编程

大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!

基础语法

Java简介

Java是一种广泛使用的编程语言,具有跨平台、面向对象、稳定性高等特点。Java程序通常编译成字节码,运行在Java虚拟机(JVM)上,从而实现了跨平台功能。

Hello World程序

让我们从最基本的Java程序开始,打印“Hello, World!”到控制台。

package cn.juwatech.example;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

基本数据类型与变量

Java的基本数据类型包括 intdoublecharboolean 等。变量在使用前必须声明。

package cn.juwatech.example;

public class DataTypes {
    public static void main(String[] args) {
        int number = 10;
        double price = 19.99;
        char letter = 'A';
        boolean isJavaFun = true;

        System.out.println("Number: " + number);
        System.out.println("Price: " + price);
        System.out.println("Letter: " + letter);
        System.out.println("Is Java Fun? " + isJavaFun);
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

控制流

Java的控制流包括条件语句和循环语句。常见的条件语句有 ifswitch,循环语句包括 forwhiledo-while

package cn.juwatech.example;

public class ControlFlow {
    public static void main(String[] args) {
        // if-else 语句
        int age = 20;
        if (age >= 18) {
            System.out.println("You are an adult.");
        } else {
            System.out.println("You are a minor.");
        }

        // switch 语句
        int day = 2;
        switch (day) {
            case 1:
                System.out.println("Monday");
                break;
            case 2:
                System.out.println("Tuesday");
                break;
            default:
                System.out.println("Other day");
                break;
        }

        // for 循环
        for (int i = 0; i < 5; i++) {
            System.out.println("For loop iteration: " + i);
        }

        // while 循环
        int count = 0;
        while (count < 5) {
            System.out.println("While loop iteration: " + count);
            count++;
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.

面向对象编程

类和对象

Java是一种面向对象的语言,类是对象的蓝图。下面是一个简单的类定义和对象创建示例。

package cn.juwatech.example;

public class Person {
    String name;
    int age;

    // 构造方法
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // 方法
    public void greet() {
        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");
    }

    public static void main(String[] args) {
        Person person = new Person("Alice", 30);
        person.greet();
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

继承和多态

Java支持继承和多态,使得类可以从其他类派生,并能够重写方法。多态允许使用父类类型的引用来调用子类的方法。

package cn.juwatech.example;

// 父类
class Animal {
    public void makeSound() {
        System.out.println("Animal makes a sound");
    }
}

// 子类
class Dog extends Animal {
    @Override
    public void makeSound() {
        System.out.println("Dog barks");
    }
}

public class InheritanceDemo {
    public static void main(String[] args) {
        Animal myDog = new Dog();
        myDog.makeSound();  // 输出: Dog barks
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

接口与抽象类

接口定义了一组方法签名,而抽象类可以包含方法的实现。实现接口或继承抽象类的类必须提供具体的实现。

package cn.juwatech.example;

// 接口
interface Drawable {
    void draw();
}

// 实现接口的类
class Circle implements Drawable {
    @Override
    public void draw() {
        System.out.println("Drawing a circle");
    }
}

// 抽象类
abstract class Shape {
    abstract void draw();
}

// 继承抽象类的类
class Rectangle extends Shape {
    @Override
    void draw() {
        System.out.println("Drawing a rectangle");
    }
}

public class InterfaceAbstractDemo {
    public static void main(String[] args) {
        Drawable drawableCircle = new Circle();
        drawableCircle.draw();  // 输出: Drawing a circle

        Shape rectangle = new Rectangle();
        rectangle.draw();  // 输出: Drawing a rectangle
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.

高级编程

异常处理

Java使用异常处理机制来处理程序运行时的错误。try-catch 块用于捕获和处理异常。

package cn.juwatech.example;

public class ExceptionHandling {
    public static void main(String[] args) {
        try {
            int division = 10 / 0;
        } catch (ArithmeticException e) {
            System.out.println("Exception caught: " + e.getMessage());
        } finally {
            System.out.println("Finally block executed");
        }
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

多线程编程

Java提供了多线程编程的支持。可以通过继承 Thread 类或实现 Runnable 接口来创建线程。

package cn.juwatech.example;

// 继承 Thread 类
class MyThread extends Thread {
    @Override
    public void run() {
        System.out.println("Thread running: " + Thread.currentThread().getId());
    }
}

// 实现 Runnable 接口
class MyRunnable implements Runnable {
    @Override
    public void run() {
        System.out.println("Runnable running: " + Thread.currentThread().getId());
    }
}

public class ThreadDemo {
    public static void main(String[] args) {
        // 通过 Thread 类创建线程
        MyThread thread1 = new MyThread();
        thread1.start();

        // 通过 Runnable 接口创建线程
        Thread thread2 = new Thread(new MyRunnable());
        thread2.start();
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.

Java 8 新特性

Lambda 表达式

Lambda 表达式是 Java 8 引入的特性,用于简化函数式接口的实现。

package cn.juwatech.example;

import java.util.ArrayList;
import java.util.List;

public class LambdaDemo {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>();
        names.add("John");
        names.add("Jane");
        names.add("Jack");

        // 使用 Lambda 表达式进行遍历
        names.forEach(name -> System.out.println(name));
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

Stream API

Stream API 使得对集合的操作变得更加简洁和功能强大。

package cn.juwatech.example;

import java.util.Arrays;
import java.util.List;

public class StreamDemo {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

        // 使用 Stream API 过滤和打印数据
        numbers.stream()
               .filter(n -> n % 2 == 0)
               .forEach(System.out::println);  // 输出: 2 4
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

总结

本文介绍了Java从基础语法到高级编程的各个方面。包括基本数据类型、控制流、面向对象编程、异常处理、多线程编程及Java 8的新特性。掌握这些内容可以帮助你在Java编程中更高效地解决问题和开发应用。

本文著作权归聚娃科技微赚淘客系统开发者团队,转载请注明出处!