1.get,set:
java 中当定义了一个私有的成员变量的时候,如果需要访问或者获取这个变量的时候,就可以编写set或者get方法去调用,set是给属性赋值的,get是取得属性值的,被设置和存取的属性一般是私有,主要是起封装作用,不允许直接对属性进行操作.
2.继承
Java是单继承的,Java中的类不支持多继承,但可以多层继承,即爷爷,爸爸,孙子。
object类是Java中所有类的祖宗类
方法重写:当子类觉得父类中的某个方法不好用,或者无法满足自己的需求时,子类可以重写一个方法名称,参数列表一样的方法,去覆盖父类的这个方法。
一些用法:子类重写Object类的toString()方法,以便返回对象的内容
3.equal比较只有内容,==比较既有内容和地址。
4.第一套体系:nextInt();接收整数 nextDouble();接收小数; next();接收字符串遇见空格,制表符,回车就停止接受。这些符号后面的数据就不会接受了。
第二套体系:nextLine();接受字符串 可以接收空格,制表符,遇到回车才停止接受数据。
5.break与continue:break跳出所有循环,continue会终结本次循环,继续下次循环。
break的作用是跳出当前循环块(for、while、do while)或程序块(switch)。在循环块中的作用是跳出当前正在循环的循环体。在程序块中的作用是中断和下一个case条件的比较。
continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环,而不是立刻循环体。
只能在循环体内和switch语句体内使用break语句
6.运算符优先级别
由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;
7.main方法必须写在类里面
8.当每段case语句后需要跟一个break语句结束,否则将继续进行下一个case语句内。且default语句不能直接触发,当switch内的值与case值均不匹配时,将会执行default内的代码语句。
9.
标识符命名规则
a 标识符只能由字母、数字、下划线 “_” 和 美元符号“$ ”或者人民币符号“¥”组成
b数字不能开头,即标识符的第一个字母必须是字母或下划线,不能是数字。
c不能把关键字和保留字作为标识符。
d标识符的要有一定的意义。
e标识符严格区分大小写。
f标识符没有长度限制,但应当符合“min-length && max-information”原则。
10.
在 Java 中,引用数据类型主要包括以下几种:
1. 类:自定义的类类型。
2. 接口。
3. 数组:可以是基本类型数组或对象数组。
- 基本的数据类型和引用的数据类型(绝大多数情况)
基本数据类型 | 引用数据类型 | |
---|---|---|
存放位置 | 栈内存 | 地址(引用)存在栈内存,内容存在堆内存 |
赋值方式 | 用=直接赋值 | 用new创建对象赋值 |
String和Integer都是引用的数据类型
11.对象的特征在类中表示为变量,称为类的属性。
12.
- 在java中下列关于自动类型转换说法正确的是( )
- 基本数据类型和String相加结果一定是字符串型
- char类型和int类型相加结果一定是字符
- double类型可以自动转换为int
- char + int + double +"" 结果一定是double;
4.结果一定是string类型。
13.构造无参方法,再构造有参方法,在其中调用无参方法,形参初始化类型。用类名当方法名。
this();
14.equals
在Java中,equals()
方法是用于比较两个对象是否相等的重要方法。它属于Object
类的方法,因此所有的Java对象都继承了这个方法。但是,Object
类中的equals()
方法默认实现是比较两个对象的引用是否相同,即它们是否指向内存中的同一个对象。
需要先重写,再使用
重写equals方法
public class Person {
private String name;
private int age;
// 构造函数、getter和setter方法省略...
@Override
public boolean equals(Object obj) {
// 1. 检查是否为同一个对象引用
if (this == obj) {
return true;
}
// 2. 检查传入对象是否为null以及类型是否匹配
if (obj == null || getClass() != obj.getClass()) {
return false;
}
// 3. 类型匹配,将obj转型为Person类型
Person other = (Person) obj;
// 4. 比较属性是否相等
return age == other.age &&
(name == null ? other.name == null : name.equals(other.name));
}
@Override
public int hashCode() {
// 当重写equals方法时,通常也需要重写hashCode方法,以维护hashCode的一般约定
// 这里使用简单的计算方式,实际应用中可能需要更复杂的计算来确保散列分布均匀
return Objects.hash(name, age);
}
}
15.在类定义时调用构造方法
16.在Java7以前,switch内的值仅支持byte、short、int、char类型或者枚举。往后的版本中引入了对string类型的switch判断。
17.引用数据类型scanner,random
Scanner 接收键盘输入的内容
数据类型 变量名 = new 数据类型() : Scanner sc = new Scanner(System.in);
语法步骤
1导入包 sanner类在哪里: java文件夹-util文件 关键字:import
import java.util.Scanner;
2创建 Scanner的实例
数据类型 变量名 = new 数据类型()
3使用scanner的功能
nextInt()接收数字
next()接收字符串
Random 产生随机数
数据类型 变量名 = new 数据类型() Random r = new Random();
语法步骤:
import java.util.Random; //导入包
Random r = new Random(); //创建实例
使用Random的功能
nextInt(100)接收整数 0-99,不含100
nextDouble()接收小数