【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 编程能力。

相关推荐
超级码.里奥.农几秒前
零基础 “入坑” Java--- 七、数组(二)
java·开发语言
KENYCHEN奉孝9 分钟前
Rust征服字节跳动:高并发服务器实战
服务器·开发语言·rust
hqxstudying9 分钟前
Java创建型模式---单例模式
java·数据结构·设计模式·代码规范
挺菜的17 分钟前
【算法刷题记录(简单题)002】字符串字符匹配(java代码实现)
java·开发语言·算法
A__tao18 分钟前
一键将 SQL 转为 Java 实体类,全面支持 MySQL / PostgreSQL / Oracle!
java·sql·mysql
一只叫煤球的猫29 分钟前
真实事故复盘:Redis分布式锁居然失效了?公司十年老程序员踩的坑
java·redis·后端
猴哥源码32 分钟前
基于Java+SpringBoot的农事管理系统
java·spring boot
面朝大海,春不暖,花不开1 小时前
Java网络编程:TCP/UDP套接字通信详解
java·网络·tcp/ip
妮妮喔妮1 小时前
【无标题】
开发语言·前端·javascript
慕y2741 小时前
Java学习第十五部分——MyBatis
java·学习·mybatis