【Java课堂笔记】Java 入门基础语法与面向对象三大特性详解

Java 作为一门广泛应用于企业级开发、安卓应用开发等领域的编程语言,以其跨平台性、安全性和面向对象的特性深受开发者喜爱。本文将详细介绍 Java 入门所需的基础语法知识,并深入剖析面向对象的三大特性。​

一、Java 基础语法​

1. 数据类型​

Java 的数据类型分为基本数据类型引用数据类型。​

  • 基本数据类型:包括数值型(byte、short、int、long、float、double)、字符型(char)和布尔型(boolean)。例如,定义一个整数变量 int num = 10;,定义一个浮点数变量 double pi = 3.14159;。
  • 引用数据类型:如类、接口、数组等。例如,创建一个字符串对象 String str = "Hello, Java!";,这里 String 就是引用数据类型,str 是指向字符串对象的引用。

2. 变量与常量​

  • 变量:在程序执行过程中其值可以改变的量。变量使用前必须先声明和初始化,例如 int age; age = 25; 或直接 int age = 25;。
  • 常量:在程序执行过程中其值不能改变的量,使用 final 关键字修饰。例如 final double PI = 3.14;,一旦定义,PI 的值就不能再被修改。

3. 运算符​

Java 中的运算符包括算术运算符(+、-、*、/、%)、赋值运算符(=、+=、-= 等)、关系运算符(>、<、==、!= 等)、逻辑运算符(&&、||、!)等。例如:​

java 复制代码
int a = 10;​

int b = 5;​

System.out.println(a + b); // 输出15,算术加法​

System.out.println(a > b); // 输出true,关系比较​

System.out.println(a > 15 && b < 10); // 输出false,逻辑与运算​

4. 流程控制语句​

  • 条件语句:包括 if-else 语句和 switch 语句。
  • if-else 用于根据条件执行不同的代码块,例如:
java 复制代码
int score = 85;​

if (score >= 90) {​

System.out.println("优秀");​

} else if (score >= 80) {​

System.out.println("良好");​

} else {​

System.out.println("一般");​

}​

​
  • switch 语句则用于多分支判断,适用于离散值的判断:
java 复制代码
int day = 3;​

switch (day) {​

case 1:​

System.out.println("星期一");​

break;​

case 2:​

System.out.println("星期二");​

break;​

case 3:​

System.out.println("星期三");​

break;​

default:​

System.out.println("其他");​

}​
  • 循环语句:有 for 循环、while 循环和 do-while 循环。
  • for 循环常用于已知循环次数的情况,例如:
java 复制代码
for (int i = 0; i < 5; i++) {​

System.out.println(i);​

}​
  • while 循环先判断条件,再执行循环体,例如:
java 复制代码
int count = 0;​

while (count < 3) {​

System.out.println(count);​

count++;​

}​
  • do-while 循环则先执行一次循环体,再判断条件,保证循环体至少执行一次:
java 复制代码
int num = 0;​

do {​

System.out.println(num);​

num++;​

} while (num < 2);​

​二、面向对象三大特性​

1. 封装​

封装是将数据和操作数据的方法绑定在一起,隐藏对象的内部实现细节,只对外提供公共的访问接口。在 Java 中,通过访问修饰符(private、protected、public)来实现封装。例如,定义一个 Person 类:​

java 复制代码
class Person {​

private String name;​

private int age;​

​

public String getName() {​

return name;​

}​

​

public void setName(String name) {​

this.name = name;​

}​

​

public int getAge() {​

return age;​

}​

​

public void setAge(int age) {​

if (age >= 0) {​

this.age = age;​

} else {​

System.out.println("年龄不能为负数");​

}​

}​

}​

​在上述代码中,name 和 age 被声明为 private,外部无法直接访问,只能通过 getName、setName、getAge、setAge 这些公共方法来访问和修改,这样可以对数据进行合法性校验,保证数据的安全性和完整性。​

2. 继承​

继承是指一个类(子类)可以继承另一个类(父类)的属性和方法,从而实现代码的复用。在 Java 中,使用 extends 关键字实现继承。例如,定义一个 Animal 类作为父类:​

java 复制代码
class Animal {​

protected String name;​

​

public Animal(String name) {​

this.name = name;​

}​

​

public void eat() {​

System.out.println(name + "在吃东西");​

}​

}​

​再定义一个 Dog 类继承 Animal 类:​

java 复制代码
class Dog extends Animal {​

public Dog(String name) {​

super(name);​

}​

​

public void bark() {​

System.out.println(name + "在汪汪叫");​

}​

}​

​在 Dog 类中,不仅拥有 Animal 类的 name 属性和 eat 方法,还可以定义自己特有的 bark 方法。继承提高了代码的复用性和可维护性,当父类的方法不能满足子类需求时,子类还可以通过方法重写来覆盖父类的方法。​

3. 多态​

多态是指同一个方法调用,由于对象不同会产生不同的行为。多态的实现需要满足三个条件:继承、方法重写和父类引用指向子类对象。例如,在上述 Animal 和 Dog 类的基础上,再定义一个 Cat 类:​

java 复制代码
class Cat extends Animal {​

public Cat(String name) {​

super(name);​

}​

​

@Override​

public void eat() {​

System.out.println(name + "在吃鱼");​

}​

}​

​Cat 类重写了 Animal 类的 eat 方法。通过父类引用指向子类对象来实现多态:​

java 复制代码
public class Main {​

public static void main(String[] args) {​

Animal animal1 = new Dog("旺财");​

Animal animal2 = new Cat("咪咪");​

​

animal1.eat(); // 输出:旺财在吃东西​

animal2.eat(); // 输出:咪咪在吃鱼​

    }​
}​

​这里 animal1 和 animal2 都是 Animal 类型的引用,但指向不同的子类对象,调用 eat 方法时会根据实际对象类型执行相应的方法,体现了多态性。多态使得程序的扩展性和灵活性大大增强,便于代码的维护和升级。​

通过学习 Java 基础语法和面向对象的三大特性,你已经迈出了 Java 编程的重要一步。后续还可以深入学习集合框架、异常处理、多线程等知识,不断提升自己的 Java 编程能力。

相关推荐
麦兜*9 分钟前
【为什么RabbitMQ能够控制事务?控制事务的原理】
java·rabbitmq·java-rabbitmq
嵌入式@秋刀鱼10 分钟前
《 第三章-招式初成》 C++修炼生涯笔记(基础篇)程序流程结构
linux·开发语言·数据结构·c++·笔记·visual studio code
温温top10 分钟前
java中合并音频
java·音视频
shenyan~19 分钟前
关于 WASM: WASM + JS 混合逆向流程
开发语言·javascript·wasm
九转苍翎19 分钟前
Java SE(13)——工具类
java·工具类
小马爱打代码24 分钟前
数据结构 - Java 队列
java·数据结构
梦境虽美,却不长39 分钟前
C语言 学习 文件操作(开关,读写,定位,大小)操作 2025年6月8日12:19:24
c语言·开发语言·学习
Charlotte_jc1 小时前
完美解决openpyxl保存Excel丢失图像/形状资源的技术方案
开发语言·python·excel·openpyxl
盖世英雄酱581361 小时前
🚀不改SQL,也能让SQL的执行效率提升100倍
java·数据库·后端
Java技术小馆1 小时前
Cursor链接远程服务器实现项目部署
java