更新于10.10晚上
发现此前第一遍有不少缺漏,这两天效率不行,稍微感受到压力,争取尽快处理好。
id 唯一标识
多表关联 通过id进行关联
select * from college where province_proId=1;
表结构对应类 一行数据对应对象
对象也是存储数据,不过对象可以新增方法。
表结构对应 文档标签定义
一行数据 对应 指定元素
1002
局部变量:方法或语句块内
成员变量:类内部,方法外部;从属于对象
静态变量:类内部,static修饰;类被加载,静态变量有效
利用关键字final定义一个常量
专用车位、
常量只能初始化一次
数值型
整数类型(byte/short/int/long)
浮点类型(float/double)
字符型(char)
布尔型(boolean)
引用数据类型
类
接口
数组
float double
浮点数有误差,尽量不要直接进行比较。
一般是四个字节,在数组中是一个。
41、运算符 44、短路运算符短路与 一个错全错、
短路或 一个对全对
移位 <<相当于乘法
46、字符串连接符只要左右两侧有一个字符串,系统自动将另一个转换为字符串再进行连接。
48、运算符优先问题 49、自动类型转换容量小的自动转换为容量大的数据类型
50、强制类型转化浮点数强转整数,直接丢失小数部分
51、溢出问题long类型
56、台球游戏忘了做了
57、控制语句 58、掷色子游戏public static void main(String[] args) {
double d=Math.random();
int a=(int)(Math.random()*7);
if(a<3){
System.out.println("小");
}else{
System.out.println("大");
}
System.out.println(a);
}
62、while
int i=0;
int sum=0;
while(i<=100){
sum+=i;
i++;
}
System.out.println("Sum="+sum);
63、dowhile
它的循环体至少执行一次
int i=0;
int sum=0;
do{
sum+=i;
i++;
}while(i<=100);
System.out.println("Sum="+sum);
64、递归方法
69、方法重载
71、理解面向对象
field 属性 定义了表格结构
定义成方法 类中共有动作
类是对象的模板
属性用于定义该类或该类对象包含的数据或者说静态特征。
方法用于定义该类或该类的实例的行为特征和功能实现。
76、简单内存分析 80、JVM底层分析执行方法 开辟栈帧
虚拟机栈 堆 方法区
引用类型 4字节
执行方法 开启栈帧
第一步:加载类信息
常量池
this:0x11 隐式参数
每一类的对象有不同的成员变量存储空间
同一类的每个对象共享该类的方法
将精力放在内存管理
当对象都被用了 假设变量没有了
GC;垃圾回收线程 服务员
将对象赋值null 回收所有不可达的内存空间
引用计数器
循环引用的无用对象 无法被识别
1、创建大量无用对象
stringbuilder
system.gc() 建议
“创建好的对象地址”
构造器:初始化对象属性
1、分配对象空间
2、执行属性值的显式初始化
3、执行构造方法
4、返回对象的地址相关对象
this:隐式参数
一个构造器调用另一个构造器,需要使用this,并位于构造方法的第一句
this(id,name); 调用重载构造方法
this不能用于static方法中
main方法属于类 不属于对象
成员类 属于对象
静态成员变量 类变量 静态方法
在整个应用程序中都有效
static string company=”山学堂”;
普通属性属于方法
模具 互相之间可以调用
对象可以调用静态 反过来不行 不见得有对象 有多个
局部变量:方法或语句块内部
成员变量:类内部 方法外部 从属于对象
静态变量 从属于类
包名 域名倒着写 再加上模块名 便于管理内部类
java.lang 语言的核心类 string math thread
java.awt 抽象窗口工具类
导入同名类的处理
静态导入 static import
import static java.lang.Math.PI;
变量也是容器
数组就是一种容器 线性序列
数组实现数据存储‘
Collection 容器
把数据存放在内存
单例集合:将数据一个一个进行存储
list:有序、可重复
set:无序,不可重复 集合
双例集合 Key_value
remove 从容器中移除某个元素
Iterator iteror() 获得迭代器 遍历所有元素
Object[] toArray() 转成Object数组
int lastIndexOf(object o) 返回最后一个匹配元素的索引
179、ArrayList添加元素ArrayList事list接口的实现类
查询效率高 底层使用数组实现
增删效率低 线程不安全
public class ArrayListTest {
public static void main(String[] args) {
//实例化ArrayList容器
List list=new ArrayList<>();
//添加元素
boolean flag=list.add("bjsxt");
boolean flag2=list.add("itbz");
System.out.println(flag);
//list.add(3,"Oldlu");
}
188、容器并集
189、容器的交集操作
205、set接口介绍
216、单例容器案例
218、双例集合
函数概念
map和collection
collection 元素孤立存在
map 容器 元素成对存在 通过键可以找到对应的值
map中集合不能包含重复的键,值可以重复,每个键只能对应一个值,
V put(K key,V value) 替换
void putAll(Map m) 指定map将所有映射关系复制到此map中
Set keySet() 获取所有的key,存储到set集合
Set
是map接口的实现类
Map
map.put(“a”,”A”);
String value=map.put(“a”,B”);
sout(value);



