后端零
看录课听的不是很清楚,凑合看哈哈。
先来一段代码镇镇场子
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
JAVA的开发环境
- JDK:Java Development Kit(java开发工具包)包含java的开发工具和JRE
- JRE:Java Runtime Environment(java运行环境)包含JVM
- JVM:Java Virtual Machine(java虚拟机)识别
.class
文件,可实现跨平台运行
开发工具
IDE:集成开发环境
JAVA语法
基本语法
- 注释(直接上代码)
//这是单行注释。
//可以多写几行。
/*
也可以像这样直接用多行注释,
这样也挺好。
*/
- Java程序由一个或多个类(类是Java程序的基本组织单元,用于封装属性和方法。)组成,每个类由类名、属性和方法(方法是一段可重复使用的代码块,用于执行特定任务。)构成。
- Java语句以分号结尾。
- 用
{}
来定义代码块。
标识符
命名
- 字母、数字(不开头)、下划线、美元符号,不能用
关键字和保留字,不能空格。 - 类名和接口名首字母大写,变量名和方法名首字母小写,采用Camel-Case(驼峰命名)。
- 最好反应意义。
变量
在Java中,变量是用于存储数据的一种方式。使用变量时需要先声明变量,然后在程序中使用该变量。
类型 | 作用域 | 备注 |
---|---|---|
局部变量 | 方法或代码块 | 非静态,需初始化 |
成员变量 | 类 | 跟随对象 |
静态变量 | 类 | 静态,不需初始化 |
数据类型
这个大多数是我自己查的。 (>_<)
数据类型 | 描述 | 默认值 | 大小(字节) |
---|---|---|---|
byte |
有符号的8位整数 | 0 | 1 |
short |
有符号的16位整数 | 0 | 2 |
int |
有符号的32位整数 | 0 | 4 |
long |
有符号的64位整数 | 0L | 8 |
float |
单精度浮点数 | 0.0f | 4 |
double |
双精度浮点数 | 0.0 | 8 |
boolean |
布尔值 true 或 false | false | 1 (近似) |
char |
单个字符,用单引号括起来 | '\u0000' (null 字符) | 2 |
String |
字符串 | null | 可变 |
enum |
枚举类型 | null | 可变 |
array |
数组类型 | null | 可变 |
class |
类类型 | null | 可变 |
interface |
接口类型 | null | 可变 |
null |
表示空对象或缺少值 | null | - |
void |
用于方法返回类型,表示无返回值 | - | - |
运算符
运算符 | 描述 | 示例 |
---|---|---|
算术运算符 | 基本的数学运算 | + , - , * , / |
赋值运算符 | 将右侧的值赋给左侧的变量 | = , += , -= |
关系运算符 | 比较两个值的大小、相等性等 | == , != , > , < |
逻辑运算符 | 进行逻辑运算(与、或、非) | && , 此处是两个竖杠 ,! |
控制语句
- 选择
- if语句
if (score >= 90) {
grade = 'A';
} else if (score >= 80) {
grade = 'B';
} else if (score >= 70) {
grade = 'C';
} else if (score >= 60) {
grade = 'D';
} else {
grade = 'F';
}
- switch语句
switch (score / 10) {
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'F';
break;
}
- 循环
- for循环
for( i = 0 ; i < 520 ; i++ ){
System.out.println("I love you!");
}
- while循环(先判断再进入循环)
int i = 0;
while( i < 520 ){
System.out.println("I love you!");
i++;
}
- do_while循环(先进入循环再判断)
int i = 0;
do {
System.out.println("I love you!");
i++;
} while (i < 520);
权限修饰符
- public:任何地方都可以访问该成员,包括类的内部和外部。public成员可以被任何代码访问和调用。
- private:只有在当前类的内部可以访问该成员,外部无法直接访问和调用。只有同一个类内的其他方员法才能访问该私有成员。私有成对于外部代码是不可见的,这提高了安全性和封装性。
重写与重载
没听懂这地方,先抄一下。
方法重写
在子类中定义一个与父类中具有相同名称、参数列表和返回类型的方法。子类中的重写方法可以重新实现父类中的方法逻辑,即提供了一种覆盖父类方法的机制。通过方法重写,子类可以根据自身的需求,对父类的方法进行定制化的实现。
- 方法名、参数列表和返回类型必须与父类中被重写的方法一致。
- 子类中的重写方法不能比父类中的方法拥有更为严格的访问权限,可以相同或更宽松。
- 子类中的重写方法不能抛出父类方法未声明的检查异常。
- 重写方法只能重写非静态方法。
方法重载
在同一个类中,可以定义多个方法,它们具有相同的名称但参数列表不同。通过方法重载,可以使得同一个类中的方法具有更多的灵活性和适应性。
- 方法名相同,但参数列表必须不同(参数的类型、个数或顺序)。
- 方法重载可以具有不同的访问权限修饰符、返回类型以及抛出不同的异常。
- 方法重载和方法的返回类型无关。
继承
允许一个类继承另一个类的属性和方法。
举个例子。
// 定义一个父类Animal
class Animal {
String name;
public void eat() {
System.out.println("Animal is eating.");
}
}
// 定义一个子类Dog,继承自Animal
class Dog extends Animal {
public void bark() {
System.out.println("Dog is barking.");
}
}
public class Main {
public static void main(String[] args) {
// 创建一个Dog对象
Dog dog = new Dog();
// 调用从父类继承的方法
dog.eat();
// 调用子类特有的方法
dog.bark();
}
}
已经累死。。。