Java基础语法(学习日记)

1. Java程序结构

Java程序通常由以下几个部分组成:

  • 类(Class):Java程序的基本组成单元,用于封装数据和功能。每个Java程序至少包含一个类,且这个类必须包含一个main方法作为程序的入口点。
  • 方法(Method):定义在类中的代码块,用于完成特定的功能。main方法是程序的起点。
  • 语句(Statement):构成方法的指令,用于执行操作。

示例:Hello World程序

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

2. 基本数据类型

Java支持八种基本数据类型,用于存储不同类型的值:

  • 整型byteshortintlong
  • 浮点型floatdouble
  • 字符型char
  • 布尔型boolean

示例:声明变量

public class VariableAndOperators {  
    public static void main(String[] args) {  
        int age = 25;  
        double pi = 3.14;  
        char gender = 'M';  
        boolean isStudent = true;  
  
        System.out.println("Age: " + age); // 输出 Age: 25  
        System.out.println("PI: " + pi); // 输出 PI: 3.14  
        System.out.println("Gender: " + gender); // 输出 Gender: M  
        System.out.println("Is Student: " + isStudent); // 输出 Is Student: true  
  
        int sum = 5 + 3;  
        System.out.println("Sum: " + sum); // 输出 Sum: 8  
  
        int product = 5 * 3;  
        System.out.println("Product: " + product); // 输出 Product: 15  
    }  
}

3. 运算符

Java提供了丰富的运算符,用于执行算术运算、比较运算、逻辑运算等。

  • 算术运算符+-*/%
  • 比较运算符==!=<<=>>=
  • 逻辑运算符&&||!
  • 赋值运算符=+=-=*=/=

示例:使用运算符

public class OperatorsExample {  
    public static void main(String[] args) {  
        // 算术运算符  
        int a = 10;  
        int b = 5;  
        System.out.println("a + b = " + (a + b)); // 加法,15  
        System.out.println("a - b = " + (a - b)); // 减法,5
        System.out.println("a * b = " + (a * b)); // 乘法 ,50
        System.out.println("a / b = " + (a / b)); // 除法(整数除法),2
        System.out.println("a % b = " + (a % b)); // 取余  ,0
  
        // 自增自减运算符(作为赋值运算符的一部分展示)  
        int c = 1;  
        c++; // 等同于 c = c + 1;  
        System.out.println("c++ (c now is) = " + c);  
  
        // 赋值运算符(简单赋值,复合赋值已在上文通过自增自减展示)  
        int d = 2;  
        d = d + 3; // 等同于 d += 3; 但这里只展示简单赋值结合算术运算  
        System.out.println("d = d + 3 (d now is) = " + d);  
  
        // 比较运算符  
        boolean isGreater = (a > b);  
        boolean isEqual = (a == b);  
        System.out.println("a > b is " + isGreater);  
        System.out.println("a == b is " + isEqual);  
  
        // 逻辑运算符  
        boolean condition1 = true;  
        boolean condition2 = false;  
        System.out.println("condition1 && condition2 is " + (condition1 && condition2)); // 逻辑与  
        System.out.println("condition1 || condition2 is " + (condition1 || condition2)); // 逻辑或  
        System.out.println("!condition1 is " + (!condition1)); // 逻辑非  
    
    }  
}

4. 控制流语句

控制流语句用于控制程序的执行流程,包括条件语句和循环语句。

  • 条件语句if-elseswitch
  • 循环语句forwhiledo-while

示例:条件语句和循环语句

public class ConditionalAndLoopStatementsChinese {  
    public static void main(String[] args) {  
        // 条件语句 - if-else  
        int number = 10;  
        if (number > 5) {  
            System.out.println("数字大于5。");  
        } else {  
            System.out.println("数字不大于5。");  
        }  
  
        // 条件语句 - switch  
        char grade = 'B';  
        switch (grade) {  
            case 'A':  
                System.out.println("优秀!");  
                break;  
            case 'B':  
                System.out.println("良好");  
                break;  
            case 'C':  
                System.out.println("及格");  
                break;  
            case 'D':  
                System.out.println("需努力");  
                break;  
            case 'F':  
                System.out.println("不及格,请重试");  
                break;  
            default:  
                System.out.println("无效的等级");  
        }  
  
        // 循环语句 - for  
        for (int i = 1; i <= 5; i++) {  
            System.out.println("i 的值为: " + i);  
        }  
  
        // 循环语句 - while  
        int count = 0;  
        while (count < 5) {  
            System.out.println("count 的值为: " + count);  
            count++;  
        }  
  
        // 循环语句 - do-while  
        int anotherCount = 0;  
        do {  
            System.out.println("anotherCount 的值为: " + anotherCount);  
            anotherCount++;  
        } while (anotherCount < 5);  
  
        // 嵌套循环示例 - 打印矩形  
        for (int row = 1; row <= 3; row++) { // 行  
            for (int col = 1; col <= 5; col++) { // 列  
                System.out.print("* ");  
            }  
            System.out.println(); // 换行  
        }  
    }  
}

5. 数组

数组是储存在堆上的对象,可以保存多个同类型变量。数组是相同类型数据的集合,允许使用索引访问每个元素。

示例:声明和初始化数组

5.1. 声明数组

声明数组就是指定数组的类型和名称,但不为其分配内存空间或初始化其元素。数组声明的一般形式是:

type[] arrayName;

其中type是数组中元素的类型,arrayName是数组的名称。

5.2. 构造数组(分配内存)

构造数组就是为数组分配内存空间,这通常是通过使用new关键字来完成的。在分配内存时,还可以指定数组的长度(即它可以包含的元素数量)。

arrayName = new type[size];

其中size是数组的长度,即你想要在数组中存储的元素数量。

5.3. 初始化数组

初始化数组就是给数组的元素赋值。这可以在声明数组的同时进行,也可以在数组构造之后进行。

初始化时分配内存

可以在声明数组的同时使用new关键字和初始化列表来分配内存并初始化数组:

int[] numbers = {1, 2, 3, 4, 5};

这里,numbers数组被声明为整型数组,并通过初始化列表{1, 2, 3, 4, 5}同时分配了内存并初始化了元素。

分配内存后初始化

如果先分配了内存,然后再初始化数组,可以通过索引来访问数组的元素并给它们赋值:

int[] numbers = new int[5]; // 分配内存,数组元素初始化为0
numbers[0] = 1;
numbers[1] = 2;
// ... 以此类推

或者,也可以使用循环来初始化数组:

int[] numbers = new int[5];
for (int i = 0; i < numbers.length; i++) {
numbers[i] = i + 1; // 初始化数组元素为1, 2, 3, 4, 5
}

完整示例

public class ArrayExample {  
    public static void main(String[] args) {  
        // 声明数组  
        int[] numbers;  
  
        // 构造数组(分配内存)并初始化  
        numbers = new int[]{1, 2, 3, 4, 5};  
  
        // 或者分开进行  
        // numbers = new int[5]; // 分配内存  
        // numbers[0] = 1; // 初始化  
        // numbers[1] = 2;  
        // ...  
  
        // 遍历并打印数组元素  
        for (int i = 0; i < numbers.length; i++) {  
            System.out.println("数组的第 " + (i + 1) + " 个元素是: " + numbers[i]);  
        }  
    }  
}

6. 类与对象

Java是一种面向对象的语言,支持类的定义和对象的创建。

示例:定义类并创建对象

Java是一种强大的面向对象编程语言,它允许我们定义类(Class)作为构建块来创建对象(Object)。类定义了对象的属性和行为,而对象则是类的具体实例。在这个例子中,将定义一个名为Person的类,它包含两个属性:name(姓名)和age(年龄),以及一个方法introduce()用于打印自我介绍。然后,在Main类中创建Person类的一个对象,并设置其属性,最后调用introduce()方法来展示对象的行为。

// 定义Person类  
class Person {  
    // 定义属性  
    String name; // 姓名  
    int age; // 年龄  
  
    // 定义方法  
    void introduce() {  
        // 使用System.out.println打印自我介绍  
        System.out.println("Hello, my name is " + name + " and I am " + age + " years old.");  
    }  
}  
  
// 定义Main类,程序的入口  
public class Main {  
    public static void main(String[] args) {  
        // 创建Person类的一个对象  
        Person person = new Person();  
  
        // 设置对象的属性  
        person.name = "John"; // 设置姓名  
        person.age = 30; // 设置年龄  
  
        // 调用对象的方法  
        person.introduce(); // 打印自我介绍  
  
        // 输出结果将是:Hello, my name is John and I am 30 years old.  
    }  
}

输出结果

当运行上述Java程序时,控制台将输出以下结果:

Hello, my name is John and I am 30 years old.

示例解释

  1. 定义类Person类定义了两个属性nameage,以及一个方法introduce()introduce()方法使用System.out.println来打印一条包含姓名和年龄的自我介绍信息。

  2. 创建对象:在Main类的main方法中,通过new Person()创建了一个Person类的实例(即对象)person

  3. 设置属性:通过person.name = "John";person.age = 30;为对象personnameage属性分别赋值。

  4. 调用方法:通过person.introduce();调用对象personintroduce()方法,该方法将使用对象的属性值来打印一条自我介绍信息。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值