为了账号安全,请及时绑定邮箱和手机立即绑定

JavaSE入门:新手必学的Java基础知识

标签:
Java
概述

本文介绍了JavaSE入门的基础知识,包括Java环境的配置、第一个Java程序的编写以及变量、数据类型、运算符和流程控制语句等基本概念。文章还详细讲解了面向对象编程中的类与对象、继承和多态性,并介绍了常用的类库和输入输出流的使用。JavaSE入门为初学者提供了全面的指导。

Java简介

Java是一种面向对象的编程语言,最初由Sun Microsystems公司(现已被Oracle公司收购)的James Gosling在1991年发明。Java最初主要应用于消费电子和嵌入式设备,但很快发展成为一种广泛使用的编程语言,尤其是在企业级应用和Web开发中。Java语言的设计理念是“一次编写,到处运行”(Write Once, Run Anywhere),它能够在不同的操作系统和硬件平台上运行,具有良好的跨平台性和可移植性。Java语言的简洁性和强大的功能使其成为许多开发者首选的语言之一。

1995年,Java 1.0版本发布,标志着Java正式走向商业化。Java EE(Java平台,企业版)也在同年推出,为Java在企业级应用中提供了强大的支持。Java的发展历程中,经历了多次版本更新,每一代版本都带来了新的特性和改进,使得Java更加成熟和完善。

Java的特点和优势

Java有许多独特的特性和优势,使其在众多编程语言中脱颖而出。以下是Java的一些主要特点和优势:

  • 跨平台性:Java的“一次编写,到处运行”特性使得Java程序可以在多种操作系统上运行,而无需重新编译。
  • 面向对象:Java是一种完全面向对象的语言,支持类和对象的概念,易于理解和使用。
  • 安全性:Java提供了安全机制,包括安全沙箱和安全管理器,可以防止恶意代码的执行。
  • 异步处理:Java支持多线程编程,可以轻松实现并发执行,提高程序运行效率。
  • 内存管理:Java有自动内存管理机制,垃圾回收器自动处理内存分配和回收问题,减轻开发者的负担。
  • 大量库支持:Java拥有丰富的标准库和第三方库,提供了大量的功能支持。
安装Java开发环境

下载并安装JDK

为了开始编写和运行Java程序,首先需要下载并安装Java开发工具包(Java Development Kit,JDK)。JDK提供了Java编译器、工具和库,是Java编程所必需的。可以从Oracle官方网站或其他可信的网站下载JDK,例如Oracle官方网站

配置环境变量

安装完成后,需要设置环境变量,确保系统能够找到Java的安装路径。具体步骤如下:

Windows系统

  1. 打开“控制面板” -> “系统和安全” -> “系统” -> “高级系统设置”。
  2. 点击“环境变量”按钮。
  3. 在“系统变量”部分,点击“新建”,然后设置变量名为JAVA_HOME,变量值为JDK的安装路径,例如C:\Program Files\Java\jdk-11.0.1
  4. 在“系统变量”部分,选择Path,点击“编辑”,然后点击“新建”,输入%JAVA_HOME%\bin
  5. 点击“确定”保存设置。

Linux或Mac系统

可以通过编辑~/.bashrc~/.profile文件来设置环境变量。例如,在终端中输入以下命令:

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$PATH:$JAVA_HOME/bin

设置完成后,可以通过运行以下命令来验证安装是否成功:

java -version

如果安装成功,系统会输出Java的版本信息。

编写第一个Java程序

编写第一个“Hello World”程序是学习任何编程语言的常见做法。以下是一个简单的Java程序,用于输出“Hello World!”:

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

程序结构
Java程序由若干个Java文件组成,每个文件中可以定义一个或多个类。该程序中的HelloWorld类定义了一个main方法,这是Java程序的入口点。程序从main方法开始执行。

解析Java程序的结构

  • public class HelloWorld:定义了一个名为HelloWorld的公共类。Java程序必须包含至少一个公共类,并且该类的名称必须和文件名相同。
  • public static void main(String[] args):定义了程序的入口点,main方法是程序的起点,所有的Java程序都会从此方法开始执行。
  • System.out.println("Hello World!");:使用System.out.println方法输出字符串“Hello World!”。
Java语言基础

变量与数据类型

在Java中,变量用于存储数据。变量有名称、类型和值三个属性。Java的变量类型分为基本数据类型和引用数据类型。

基本数据类型

基本数据类型包括byteshortintlongfloatdoublecharboolean。以下是一些示例:

byte num1 = 127;
short num2 = 32767;
int num3 = 2147483647;
long num4 = 9223372036854775807L;
float num5 = 3.1415f;
double num6 = 3.141592653589793;
char ch1 = 'A';
boolean flag = true;

引用数据类型

引用数据类型用于存储对象的引用,例如数组、类、接口等。以下是一个对象的示例:

String str1 = "Hello";
String str2 = new String("World");

运算符和表达式

Java中的运算符分为算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符等。以下是一些示例:

int a = 10;
int b = 20;
int result1 = a + b;  // 算术运算符
boolean equal = a == b;  // 关系运算符
boolean andResult = a > 10 && b < 30;  // 逻辑运算符
int xorResult = a ^ b;  // 位运算符
a += b;  // 赋值运算符

流程控制语句

Java中的流程控制语句包括条件语句和循环语句。条件语句包括if语句和switch语句,循环语句包括for循环、while循环和do-while循环。

条件语句示例

int num = 10;
if (num > 5) {
    System.out.println("num大于5");
} else {
    System.out.println("num小于或等于5");
}

String str = "apple";
switch (str) {
    case "apple":
        System.out.println("这是苹果");
        break;
    case "banana":
        System.out.println("这是香蕉");
        break;
    default:
        System.out.println("这是其他水果");
}

循环语句示例

for (int i = 0; i < 5; i++) {
    System.out.println("循环次数:" + i);
}

int j = 0;
while (j < 5) {
    System.out.println("while循环次数:" + j);
    j++;
}

int k = 0;
do {
    System.out.println("do-while循环次数:" + k);
    k++;
} while (k < 5);
Java面向对象编程

类和对象的概念

在面向对象编程中,类是一种模板,用于创建对象。类定义了对象的状态和行为。对象是类的一个实例。以下是一个简单的类定义示例:

public class Person {
    // 成员变量
    String name;
    int age;

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

    // 成员方法
    public void displayInfo() {
        System.out.println("姓名:" + name + ", 年龄:" + age);
    }
}

上述代码定义了一个名为Person的类,该类包含两个成员变量(nameage)和一个构造函数(Person(String name, int age))以及一个成员方法(displayInfo())。

方法和构造函数

方法是类的行为的一部分,用于执行特定任务。构造函数用于初始化对象的成员变量。以下是一个构造函数的示例:

public class Rectangle {
    int width;
    int height;

    // 构造函数
    public Rectangle(int width, int height) {
        this.width = width;
        this.height = height;
    }

    // 方法
    public int area() {
        return width * height;
    }
}

上述代码定义了一个Rectangle类,该类包含两个成员变量(widthheight)和一个构造函数(Rectangle(int width, int height))以及一个成员方法(area())。

继承和多态性

继承

继承是面向对象编程中的一种特性,允许一个类继承另一个类的属性和方法。以下是一个继承的示例:

public class Animal {
    public void eat() {
        System.out.println("动物在吃东西");
    }
}

public class Dog extends Animal {
    public void bark() {
        System.out.println("狗在吠叫");
    }
}

public class Cat extends Animal {
    public void meow() {
        System.out.println("猫在喵喵叫");
    }
}

在上述代码中,DogCat类继承自Animal类,可以调用Animal类中的eat方法。

多态性

多态性允许不同类的对象通过相同的接口进行交互。以下是一个多态性的示例:

public class Animal {
    public void eat() {
        System.out.println("动物在吃东西");
    }
}

public class Dog extends Animal {
    @Override
    public void eat() {
        System.out.println("狗在吃狗粮");
    }
}

public class Cat extends Animal {
    @Override
    public void eat() {
        System.out.println("猫在吃猫粮");
    }
}

public class Main {
    public static void main(String[] args) {
        Animal animal1 = new Animal();
        animal1.eat();  // 输出:动物在吃东西

        Animal animal2 = new Dog();
        animal2.eat();  // 输出:狗在吃狗粮

        Animal animal3 = new Cat();
        animal3.eat();  // 输出:猫在吃猫粮
    }
}

在上述代码中,DogCat类都重写了Animal类中的eat方法。在Main类的main方法中,通过Animal类型的变量引用DogCat对象,实现了多态性。

常用类库入门

String类的使用

String类是Java中最常用的类之一,用于表示字符串。以下是一些关于String类的常用操作:

public class Main {
    public static void main(String[] args) {
        String str1 = "Hello";
        String str2 = "World";
        String str3 = str1 + str2;  // 字符串连接

        System.out.println("str3: " + str3);  // 输出:str3: HelloWorld

        String str4 = String.format("Hello: %s", str2);  // 格式化字符串
        System.out.println("str4: " + str4);  // 输出:str4: Hello: World

        int index = str1.indexOf("l");  // 查找字符位置
        System.out.println("index: " + index);  // 输出:index: 2

        boolean equals = str1.equals("Hello");
        System.out.println("equals: " + equals);  // 输出:equals: true

        String str5 = "123";
        int num = Integer.parseInt(str5);  // 字符串转换为数字
        System.out.println("num: " + num);  // 输出:num: 123
    }
}

数组和集合框架

Java提供了多种数据结构,包括数组和集合框架。数组是一种固定大小的数据结构,而集合框架提供了动态大小的数据结构,如ListSetMap

数组示例

public class Main {
    public static void main(String[] args) {
        int[] nums = {1, 2, 3, 4, 5};
        for (int num : nums) {
            System.out.println(num);  // 输出:1 2 3 4 5
        }

        int[] arr = new int[5];
        for (int i = 0; i < arr.length; i++) {
            arr[i] = i * i;
        }

        for (int num : arr) {
            System.out.println(num);  // 输出:0 1 4 9 16
        }
    }
}

集合框架示例

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

public class Main {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("A");
        list.add("B");
        list.add("C");

        for (String str : list) {
            System.out.println(str);  // 输出:A B C
        }

        List<String> copyList = new ArrayList<>(list);  // 创建副本
        copyList.add("D");
        System.out.println("list: " + list);  // 输出:list: [A, B, C]
        System.out.println("copyList: " + copyList);  // 输出:copyList: [A, B, C, D]

        List<String> emptyList = new ArrayList<>();
        System.out.println("emptyList: " + emptyList);  // 输出:emptyList: []
    }
}

常用输入输出流

Java的输入输出流提供了处理输入输出的功能。例如,可以从文件读取数据或将数据写入文件。以下是一些示例代码:

import java.io.*;

public class Main {
    public static void main(String[] args) {
        try (BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
             PrintWriter writer = new PrintWriter(new FileWriter("output.txt"))) {

            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println("读取到的行:" + line);
                writer.println(line + " - 加入文本");
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,BufferedReader用于从文件读取数据,PrintWriter用于向文件写入数据。代码首先从input.txt文件中读取每一行,并将每一行加上“ - 加入文本”后写入到output.txt文件中。

以上是JavaSE入门的一些基础知识,涵盖从环境配置到面向对象编程的基本概念。通过这些基础,你可以开始编写更复杂的Java程序。建议在学习过程中多实践,加深对Java编程的理解和掌握。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消