1.基本数据类型
四类 八种
整型
byte short int long
浮点型
float double
布尔值
boolean
字符型
char
1.强制转化
整形里面 小转大自动转,大转小要强转 ,因为可能存在精度丢失
2.字符发展
ASCII(7位)—>ISO8859-1(单字节)—>unicode(两个字节)—>utf8(英文1字节,中文8字节)
3.变量
他在内存中开辟了一个空间,可以存数据
他可以反复的到处使用
变量其实是一个引用,他指向堆内存的一块区域,我们箱操作一个对象只需要调用它的引用即可
4.流程控制语句
-
if语句
Alibaba规范
if (i == 0){
}
- switch
//i可以使byte short int String enum 数据
switch(i){
case 1:
break;
default;
break;
}
- while
//如果不是死循环,一定要想办法退出
boolean flag = true;
while (flag){
if(如果达到某种条件){
flag=false;
}
}
- for
for(int i= 0; i <10 ;i++){
}
//1.定义一个变量,这个变量可以定义在任何地方,只用作用域访问到即可
//如果i定义在了方法里,它的作用域就是整个方法,如果定义在分好出,就只能在for循环内使用
5.数组
类型 名字[] =new 类型 [长度]
6.算法
选择排序
冒泡排序
插入排序
希尔排序
归并排序
快速排序
7.面向对象
1.封装
public class ex {
//私有的属性
//构造器,可以有可以没有
//Getter Setter
//实例方法
//toString()
}
2.继承
extends 代表"继承",子类拥有超类(父类)的一切 ps.除了被private 修饰的
构造子类是一定会先构造父类的
子类可以重写父类的方法,重写的方法需要加一个注解@overried
类的加载顺序
父类的静态属性
父类的静态代码块
子类的静态属性
子类的静态代码块
父类的非静态属性
父类的非静态代码块
父类的构造器
子类的非静态属性
子类的非静态代码块
子类的构造器
3.多态
父类引用指向子类对象
List<Integer>list =new ArrayList<>();
8.集合
能存很多同一种类型的对象
1.Collection
2.list(列表)有序 可重复
ArrayList
LinkedList
3.set 无序 不可重复
4.map(映射)
hashMap是最重要的集合
集合的遍历方式
list: for循环 加强for 迭代器
set: 加强for 迭代器
hashmap: entrySet 和迭代器
9.多线程
一个软件就是一个进程,一个进程可以运行多个线程,我们可以使用多个线程同时运行来提高效率
继承Thread类,重写run方法
public class ThreadDemo extends Thread{
private String url;
private String name;
public ThreadDemo( String url, String name1) {
this.url = url;
this.name = name1;
}
@Override
public void run() {
FileDown fileDown=new FileDown();
fileDown.FileDownLoad(url,name);
System.out.println("下载了"+name);
super.run();
}
实现runable借口,实现run方法
public class RunableDemo implements Runnable{
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
System.out.println("学习"+i);
}
}
public static void main(String[] args) {
RunableDemo runableDemo=new RunableDemo();
new Thread(runableDemo).start();
for (int i = 0; i < 100; i++) {
System.out.println("玩"+i);
}
}
}
10.常用类
1.String
String是引用数据类型,他是final的,一旦创建就不能改变
String,StringBuffer, StringBuilder 区别
String是不可变的,线程安全的
StringBuffer 是可变字符串 ,线程安全
StringBuilder 是可变字符串,线程不安全
2.Date
Date格式化
Date date = new Date();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
String dateTime=simpleDateFormat.format(date);
11.异常
1.检查时异常check
去坐飞机,可能堵车,所以你只能提前走来预防
FileNotFoundException
IOException
InterruptedException
这种异常来源于Exception,必须捕获并处理
2.运行时异常
去坐飞机,没带护照,这是你自己的原因,检查自身
ArrayIndexOutOfBoundsExecption 下标越界异常
ClassCastExecption 数型转换异常
ArithmeticException 数学异常 1/0
3.错误error
stackOutOfMemoryError 递归出不去