Java| 青训营

63 阅读5分钟

Java是一门面向对象的编程语言,它的语法结构支持面向对象的特性,如封装、继承和多态性等。Java是一门可移植、高性能、安全并且具有面向网络和分布式计算能力的语言。

Java程序的执行从main()方法开始,因此main()方法是所有Java应用程序的入口点。以下是一个很简单的Java程序示例:

public class HelloWorld {
   public static void main(String[] args) {
      System.out.println("Hello, World!");
   }
}

在上面的示例代码中,关键字publicclass共同构成了类的定义。main()方法是这个类的主方法,只有在这个方法中,Java程序才会开始执行。该方法的参数是一个字符串数组。在这个示例中,我们调用System.out.println()方法打印出了一句话“Hello, World!”。

Java 数据类型

Java中有八种基本数据类型,分为四种整型、两种浮点型、一种字符型和一种布尔型。这些数据类型的大小和取值范围是固定的,不受具体实现的影响。

byte    1 字节   -128 ~ 127
short   2 字节   -32768 ~ 32767
int     4 字节   -2147483648 ~ 2147483647
long    8 字节   -9223372036854775808 ~ 9223372036854775807
float   4 字节   1.4E-45 ~ 3.4E+38
double  8 字节   4.9E-324 ~ 1.8E+308
char    2 字节   0 ~ 65535(Unicode)
boolean 1 字节   true/false

变量是Java程序中最基本的存储单元;它们表示分配给它们的内存中存储的某种类型的值。Java中有三种变量类型:局部变量、成员变量和类变量。

Java 运算符

Java中有许多运算符,包括算术运算符、关系运算符、逻辑运算符和位运算符等。下面是一些常用的运算符:

算术运算符:+、-、*、/、%、++、--
关系运算符:==、!=、>、<、>=、<=
逻辑运算符:&&、||、!
位运算符:&、|、^、~、<<、>>、>>>
赋值运算符:=、+=、-=、*=、/=、%=

Java中的条件语句中如 if-else、switch-case 等,还有循环语句如 while、do-while、for 循环等也非常常用。

if (条件) {
    // 如果条件为真,执行语句块
} else {
    // 如果条件为假,执行语句块
}

switch (表达式) {
    case1:
        // 语句块1
        break;
    case2:
        // 语句块2
        break;
    default:
        // 默认语句块
}

while (条件) {
    // 在条件为真时执行循环体
}

do {
    // 先执行循环体,然后检查条件是否为真,如果为真则继续循环
} while (条件);

for (初始化; 条件; 增量) {
    // 循环体
}

Java 类和对象

Java是一门面向对象的编程语言,它支持三个基本概念:封装、继承和多态性。

  • 封装:Java利用访问修饰符和关键字实现类中变量和方法的可见性控制,防止其他类对类中的变量和方法进行修改。
  • 继承:Java中的继承机制让一个类可以从另一个类中获取成员和方法,减少了代码的重复性,并且可以让程序更加易于扩展和维护。
  • 多态性:Java中的多态性允许同一个方法名可以被多个对象调用,根据不同的对象类型,执行不同的实现代码。

下面是一个简单的Java类示例:

public class Person {
    private String name;
    private int age;
    private String gender;

    public Person(String name, int age, String gender) {
        this.name = name;
        this.age = age;
        this.gender = gender;
    }

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public String getGender() {
        return gender;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public void setGender(String gender) {
        this.gender = gender;
    }

    public void sayHello() {
        System.out.println("Hello, my name is " + name);
    }
}

在上面的示例中,Person类有三个私有属性:name、age和gender,它们只能通过类中的公共方法进行访问和修改。类中还定义了一个构造方法和一些getter和setter方法,用于初始化对象和获取/修改对象的属性值。类中还定义了一个公共方法sayHello()用于输出对象的问候语。

Java 输入输出

Java中的输入输出是使用流(Stream)的方式来进行的。Java中有三种基本的流类型:字节流、字符流和文件流。

下面是一个Java程序从文件中读取数据的示例:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadFile {
    public static void main(String[] args) {
        try {
            FileReader fr = new FileReader("input.txt");
            BufferedReader br = new BufferedReader(fr);
            String line = null;
            while ((line = br.readLine()) != null) {
                System.out.println(line);
            }
            br.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上面的程序中,我们使用FileReader类来创建文件读取流,并且将它传递给BufferedReader类的构造方法来更高效地读取文件内容。在读取文件内容时,我们使用readLine()方法读取一行文本,并且在读取结束后关闭流。

Java 异常处理

Java中的异常处理机制可以帮助程序有效地处理运行时错误,使程序更加健壮和可靠。Java中的异常分为两种:检查异常和非检查异常。

检查异常是指在编译阶段就能够被识别出来的异常,必须在程序中进行处理或者向上抛出。

非检查异常是指在编译阶段无法识别的异常,例如:除数为0、数组下标越界等。这些异常可以在程序中捕获或者向上抛出。

下面是一个Java程序捕获异常的示例:

public class DivideByZero {
    public static void main(String[] args) {
        try {
            int a = 10;
            int b = 0;
            int result = a / b;
        } catch (ArithmeticException e) {
            System.out.println("Division by zero!");
            e.printStackTrace();
        } finally {
            System.out.println("Finally block!");
        }
    }
}

在上面的示例中,我们进行了除法运算,如果b为0,则会抛出ArithmeticException异常。我们在try块中捕获了该异常,并且在catch块中输出错误信息和堆栈跟踪。在finally块中,我们输出了一条信息来表明finally块已经执行。

总结

Java是一门非常流行的编程语言,它支持面向对象和功能强大的类库,并且具有可移植性、高性能和安全性等优点。学习Java语言需要掌握基础语法、