基础知识回顾:
1.java标识符:
A.以数字,下划线_,货币符号$,字母 组成
B.不能以数字开头
C.不能有空格
D.区分大小写 A a
2.java关键字,不是标识符,有着特殊的意义
3.java中有两种数据类型:基本数据类型 对象数据类型(引用类型,类类型)
基本数据类型:
整型
Byte 8
Short 16
Int 32
Long 64
浮点型
Float 32
Double 64
字符型
Char 16
布尔
Boolean 1
String
字符串拼接
4.程序==算法+数据结构
运算符
a.算术运算符 + - * / %
b.关系运算符 > < >= <= == !=
运算的是一种关系,结果是布尔类型
c.三元运算符
Int a = 1>2? 3: 4;
d.逻辑运算符
a)逻辑与 && 全是真则真
b)逻辑或 || 全假则假
c)逻辑非 ! 真则假,假则真
e.位运算符
a)按位与 & 全是1则1
b)按位或 | 全0则0
c)按位非 ~ 1则0,0则1
d)按位异或 ^ 相同0不同1
f.逻辑运算符与位运算符的区别
5.语句
分支语句if else
循环语句for while do-while
switch语句swith()
Case 0
关键字:break结束循环,continue结束当次循环,执行下一次循环
6.面向对象:java最重要的思想,面向对象,一定要有抽象的概念
群体 个体
类 对象
把描述事物有什么和能干什么放在一起,构成了具体的类
属性 功能
变量 方法 构建到一起的过程叫封装,结果是构成了类
得到对象 new 类();
a.类的构成:
主方法,成员变量,局部变量,普通方法,构造方法
方法的参数和返回值
修饰 方法名(){
方法体
}
访问权限 static final int 方法名(参数){
方法体
返回值return
}
b.对象:
c.static修饰变量和方法
static修饰的变量在对象之间共享其值
由static出发只能找static
Static会最先加载,只加载一次
d.方法的重载:
在同一个类中,方法名相同,参数个数或者类型不同
e.继承:extends
f.方法的重写:
子类继承父类,方法名相同,参数个数及类型也相同
g.对象上转型:
父类声明子类实例化
h.多态:
抽象类抽象方法:只有定义没有具体实现
接口:Interface 纯粹的抽象类
接口回调:Interface A = new implements()
i.面向对象的关键字:
this:当前类的内部对象new A();new A(1); this();this(1);
super:父类的内部对象
final:修饰类:继承
方法:重写
变量:常量
j.访问权限:
在自己类内部 同包 不同包子类 不同包非子类
public ok ok ok ok
protected ok ok ok
默认的 ok ok
private ok
7.数组
a.声明数组:
//穷举法声明数组
int[] c = {1,2};
//实例化法声明数组
int[] d = new int[5];
//实例化并穷举法
int[] e = new int[]{1,2,3,4};
访问数组用下标 从0开始
b.冒泡排序
12,45,78,54,21,32
c.选择排序
12,45,78,54,21,32
d.自定义类型的数组
Dog[] d = new Dog[2];
D[0]
e.二维数组
int[][] f = new int[5][3];
int[][] g = {
{1,2,3,0},
{0,4,5,6},
{1,4,7},
{0,0,2,2,3},
{4,4,5,7,8}
};
System.out.println(g[0][0]); 1
System.out.println(g[1][2]);
8.时间类的使用
Date date = new Date();
System.out.println(date);
//简单日期格式化
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy/MM/dd hh:mm:ss”);
String sj = sdf.format(date);
System.out.println(sj);
//38天5小时28分钟后是什么时候
long l = ((38L*24+5)*60+28) * 60 *1000;
System.out.println(l);
long m = date.getTime();
long n = l+m;
String sj1 = sdf.format(n);
System.out.println(sj1);
9.字符串的常用方法
String a = “dfghj ^ &tyu%^&*ghj45”;
//长度
System.out.println(a.length());
//以谁开头
System.out.println(a.startsWith(“df”));
//以谁结尾
System.out.println(a.endsWith(“6”));
//检索
System.out.println(a.indexOf(“g”));
System.out.println(a.indexOf(“g”,5));
System.out.println(a.lastIndexOf(“g”));
System.out.println(a.lastIndexOf(“g”,13));
//分割
System.out.println(a.split(“g”));
//
System.out.println(a.charAt(1));
//截取
System.out.println(a.substring(5));
System.out.println(a.substring(5,10));
//替换
String e = a.replaceAll(“g”, “q”);
System.out.println(e);
System.out.println(a);
//比较
System.out.println(a.equals(“12”));
//差值
System.out.println(a.compareTo(“dfghj ^&tyu% ^&*ghj4567”));
10.数据结构:
List:ArrayList LinkedList
Set:HashSet TreeSet
HashSet存储自定义类去重,需要重写hashCode和equals方法
TreeSet存储自定义类,需要在自定义类中重写compareTo方法