随笔
一、零碎知识
-
即使一个类未显示的定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。
-
一个线程对象的具体操作是由run()方法决定的。有两种方法:
a. Thread类中的run()方法是空的,所以用户必须要派生一个Thread的子类,重写run()方法。
b. 写一个类实现Runnable接口,并书写其中的run()方法。 -
Java的字符类型采用的是Unicode编码,具体一个unicode编码,占几字节,取决于unicode编码采用什么编码,如utf-8,utf-16,utf-32。一般认为占2字节,16位。
-
子类对象绝对大于父类对象。拥有但不一定能使用。
-
Applet是一种特殊的Pannel,它是Java Applet程序的最外层容器。
-
run()方法定义线程的执行体。
-
synchronized可以用来给对象加互斥锁。
-
声明接口时,只能用public来修饰。
-
构造函数的返回值是:什么也不是(注意:不是void)
strim()去掉首尾空白字符
str = " abs "
str.strim();//删除头尾空白符的字符串
输出:abs
parseInt()解析字符串转换为整型。
a = Interger.parseInt("123");
输出:a=123,整型
- true不是Java的关键字
==//引用位置相同,则true
equals()//内容相等就true
- 正则表达式
.*xxxxxx.* //用于查找字符串中是否包了 xxxxxx 子串
String str = "I love you";
String pattern = ".*love.*";
boolean ifhave = Pattern.matches(pattern,str);
System.out.println(ifhave);//true
二、dos下编译出现乱码
- 问题描述:
解决:
法一:
javac -encoding utf-8 Main.java

法二:
用notepat++转码:

三、 规范
- Java命令尽量从一开始,就学的非常规范,严格要求自己。
- 没有规矩,不成方圆。
- 不然后面,你自己看自己的写的代码都觉得丑。
四、\r\n
- \r是回车,英文是Carriage return,作用:使光标到行首
- \n是换行,英文是New line/line feed,作用:使光标下移一行
- 我们平时所说的键盘Enter键换行实则应该叫做叫做回车换行(\r\n)
- windows下可直接使用\n来匹配换行符,但仍然推荐使用标准的\r\n来匹配键盘Enter键的换行符
- 使用\r\n组合是有顺序的,调转顺序写成\n\r是错误的,将无法匹配换行符!
五、广度遍历与深度遍历
- 深度优先遍历:说白了深度优先遍历就是一种不撞南墙不会头的算法,他会把一条路走完之后再回溯到有分叉的节点继续遍历。
- 广度优先遍历:这是一种层层递进的算法,与树的层序遍历类似。在广度优先搜索时,会从起点开始“一层一层”扩展的方法来遍历,扩展时每发现一个点就将这个点加入到队列,直到整张图都被遍历过位置。
六、无参构造器与有参构造器
class Mai {
public Mai() {
System.out.println(1);
}
public Mai(int elem) {
System.out.println(2);
}
Mai M;
}
public class Main {
public static void main(String[] args) {
Mai m = new Mai();
System.out.println(3);
}
}
- 可以自己实验一下
- 调用无参,有参不会执行
- 调用有参,无参不会执行
- M值为如何?
七、C语言中的unsigned int
- int:定义整数类型变量的标识符。
- unsigned int:需声明无符号类型的话就需要在类型前加上unsigned。
- int 型的范围:-2^31 ~ 2^31 - 1,
- 而unsigned int的范围:0 ~ 2^32
- 如果表达式中既有int 又有unsigned int,则所有的int数据都被转化为unsigned int类型
503

被折叠的 条评论
为什么被折叠?



