Java SE
1. 基本数据类型
整数类型:
byte : 占1个字节,范围-128-127
short: 占2个字节
int:占4个字节
long: 占8个字节
浮点类型:
float:占4个字节
double:占8个字节
字符类型char:占2个字节
boolean类型:占1位 1个字节(byte)等于8位(bit) 1B=8b
2. 引用数据类型(Reference Type) 类,接口,数组
3.进制
int i = 10 //十进制
int i = 010 //八进制0
int i= 0x10 //十六进制0x
4.数组
任何数据类型,对象都可以定义数组,比如WTUser.
定义方式:
dataType[] arrayRefVar
dataType arrayRefVar[]
dataType[] arrayRefVar = new dataType[arraySize]
比如int[] array
长度:arrayRefVar.length
赋值:arrayRefVar[0] = ...
boolean[] barray = new boolean[10];
也可以int[] array = {1,2,3,4}
boolean数组每个元素的默认值是false;
所有整数类型的默认值是0;
char默认值是Unicode “\u0000”,代表空.
float默认值是0.0
double默认值是0.0
String默认是null
5.集合 Collection
分为List和Set
List:
Stack, Queue, ArrayList,Vector,LinkedList
Set:
HashSet, LinkedHashSet,TreeSet
TreeSet有下列特点:
1.元素唯一
2.可以自动排序
1) 自然排序
2) 比较器排序(自己写)
内部类:
成员内部类:在成员位置定义的内部类.(可以是静态和非静态)
局部内部类:在方法内部定义的内部类.(只能是非静态)直接在方法内部实例化.
用下面方式实例化静态成员内部类:
OutClass.InnerClass ic = new OutClass.InnerClass(s);
要用下面方式实例化非静态成员内部类.
InnerClass ic = new OutClass().new InnerClass(s);
在一个java文件里可以有并行有多个类,但是只能有一个public的,或者一个都没有,也不能修饰private和protected.
用命令行执行程序:
比如在com/lenovo下的PKCompare.java
- 要在com/lenovo目录下执行javac:
javac PKCompare.java
- 然后在src目录下执行java,注意这里要检查classpath变量里是否配置.;这是指定在当前目录去找class文件.
java com.lenovo.PKCompare
终端查看classpath变量值
-echo %classpath%
在终端执行javac,如果有中文字符会报错,要使用下面的命令,因为dos默认使用GBK.所以在IDEA中设置编码为UTF-8也没用.
javac -encoding UTF-8 XXX.java
Integer.toBinaryString()获得整数的二进制码.
Integer.valueOf(String)通过字符串获取整数.
String g = "19..0.";
String[] ga = g.split("\\.");
不能直接分割小数点,要用转移\\.
String[] f = a[0].split("\\\\"); \分隔符要用\\\\. lastIndexOf("\\")只需要\\来表示\
split("\\s+") \\s表示 空格,回车,换行等空白符,
+号表示一个或多个的意思
java.util.regex.Pattern
[^a-zA-Z0-9]是指除了大小写字母,数字之外的字符.
Character.isLetter 判断一个字符是不是字母.
String[] words = str.split("[^A-Za-z]");
这里表示不是字母的字符作为分隔.
char[] aArray = "1eff4FdFG".toCharArray();
Arrays.sort(aArray);
可以给数组排序.
new
StringBuilder(s).reverse()
字符串反转.
Math.sqrt(x)//计算x的平方根
Math.cbrt(x)//计算x的立方根
Math.pow(a, b)//计算a的b次方
Math.cbrt(5)//计算5立方根