1. object类通常包含的信息:写入写出,序列化等
2. 接口的意义:规范子类行为
3. java.lang:Java程序的基础类,如字符串,多线程等,该包中的类使用的频率非常高,不需要import就可以直接使用(System类,String类)
4. JVM对于String类做了很大的让步,体现了String类的重大地位。String str = "HelloWorld"; 本身是一个语法错误,系统自动转化
5. final类俗称太监类
TCP 可靠传输协议,传输文件
UDP 不可靠传输协议,绝大多数游戏UDP传输,典型现象是游戏卡顿瞬移,服务器靠诉你对方的实时坐标
两者各有优异,UDP的使用范围更广些
TCP/UDP用于客户端编程
HTTP/FTP用于浏览器端编程
Java网络编程
Socket类(用于客户端C/S编程)
端口就是一个Int类型的整数值,端口号相当于门牌号
JVM底层是用C++写的,所以如果想搞懂底层,还需要学习C++,基于API编程
java.lang包太常用,不需要import即可使用,包括字符串,多线程,String类,System类
javadoc会根据文档注释自动生成一个文档,减少人员成本
export/java/javadoc
String是不可变对象,一旦发生改变,创建新的对象
之所以为不可变对象,是因为在程序开发中字符串重用的概率要比修改的概率多的多
String str = "Hello World"; //创建一个String对象“Hello World”,str引用
str = str + "!"; //创建一个新的String对象“Hello World!”,str加以引用
String常量池:静态字符串在常量池中创建
字符串不利于频繁修改
StringBuilder类支持频繁修改
int indexOf(String,int):检索字符串的位置,匹配字符串第一次出现的位置,如果失败返回-1
int lastIndexOf(String,int):最后一次出现的位置
String subString(int,int):获取子字符串
char charAt(int):给位置找字符
boolean startsWith(String):是否以指定字符串开头
boolean endsWith(String):是否以指定字符串结尾
String valueOf(int):将其他的数据类型转化为字符串
String str = String.valueOf(int);
StringBuilder类不是字符串,而是字符串处理类
StringBuilder sb = new StringBuilder("abc");
sb.append(String); //返回值均为StringBuilder
sb.replace(int,int,String);
sb.delete(int,int);
sb.insert(int,String);
sb.reverse();
String str = sb.toString();
正则表达式:用一些特殊字符表示特定的格式
[] 表示一个字符
[abc] 表示一个字符,且值只能为abc当中的一个
[∧abc] 表示一个字符,且值不能为a或b或c
[a-z] 表示一个字符,值为a-z中的一个
[a-zA-Z0-9] 表示一个字符,值为a-z,A-Z,0-9中的任意一个
[a-z&&[∧bc]] [ad-z]
. 任意一个字符
\d 任意一个数字字符,相当于[0-9]
\w 单词字符,相当于[a-zA-Z0-9_]
\D 非数字字符
\W 非单词字符
X? 表示0个或者1个X
X* 表示0个或者任意多个X
X+ 大于等于1次
X{n} n次
X{n,m} n-m次
() 表示整体出现
. 表示任意一个字符
\. 表示 . 号
邮箱地址
[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\.[a-zA-Z0-9]+)+
String regex = “[a-zA-Z0-9_]+@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9]+)+”;
String mail = "123456789@qq.com";
boolean match = mail.matches(regex); //如果有需用到的正则表达式,直接上网复制粘贴
如果一个类没有使用extends关键字声明其父类,则它的父类是Object类
包装类:让基本数据类型参与面向对象编程
计算机技术起源于军事,发展于金融
集合 Collection接口
其有两个子接口:List和Set
List接口:可重复集 ArrayList实现
Set接口:不可重复集