Math.E
Math.PI
Math.abs()
Math.ceil() 比这个数大于等于的最接近这个数的整数 但是是double类型的
Math.floor()比这个数小于等于的最接近这个数的整数 但是是double类型的
Math.round()
Math.random()
Math.max()
Math.min()
Random
构造方法
Random():使用默认种子。当前时间的毫秒值。每次产生的随机数都是变化的。
Random(long seed):如果给定了种子,每次都是按照种子做出初始值产生的随机数,如果种子固定,值是一样的。
成员方法
int nextInt():int范围内的一个数据
int nextInt(int n):在0到n范围内的一个数据,包括0,不包括n。
产生1-100的随机数
A: int num = (int)(Math.random()*100)+1
B: Random r = new Random();
int num = r.nextInt(100)+1;
Eclipse的快捷键
(A,E,F必须掌握)
A:alt+/ 内容辅助键 这个功能很酷啊."酷就一个字,我只说一次"
补充类或者接口名,帮我们起变量名,new 后面直接提示等。
B:ctrl+/ 单行注释,在按一次,取消单行注释
C:ctrl+shift+/ 对选中的区域进行多行注释的封装
D:ctrl+shift+\ 用于取消多行注释,只要光标在多行注释中即可
E:ctrl+shift+o 对使用了其他包中的类或者接口进行自动导入
F:ctrl+shift+f 对代码进行格式化
G:alt+上键 向上移动当前行或者选中行
H:alt+下键 向下移动当前行或者选中行
I:ctrl+d 删除当前行,或者删除选中行
J:ctrl+shift+x 将选中部分的字母大写
K:ctrl+shift+y 将选中部分的字母小写
L:ctrl+1 光标放在编译中出现红色波浪线提示的内容上,
在该快捷键可以获取建议的处理方式
M:F3 可以查看类或者方法的源码,前提是,该原码已经关联。
Object类的方法(理解)
1:创建Student对象并打印效果
A:打印他的时候,默认调用的他的toString方法
B:Student没有toString方法,调用的是Object的toString方法
C:object的toString方法 返回值是 包名...类名+@+16进制地址值 ,我们一般使用toString方法都要重写他
4:Object中的equals方法
源码其实就是用“==”比较的两个变量
我们一般需要重写,如何重写?
1):如果是这个对象
2):如果不是这个对象,而又不是这一类对象
3):如果他是这一类对象,那就好说了,强转,然后比较每个变量的值
代码实现:
public boolean equals(Object obj)
{
//为了提高代码的效率
if( this == obj)
{
return true;
}
//为了提高代码的健壮性
if( !( obj instanceof Student) )
{
return false;
}
Student s = (Student)obj; //向下转型
return this.age == s.age;
}
A:判断功能
boolean equals(Object obj):判断字符串的内容是否相同,区分大小写。
boolean equalsIgnoreCase(String str):判断字符串的内容是否相同,不区分大小写。
boolean contains(String str):判断字符串对象是否包含给定的字符串。
boolean startsWith(String str):判断字符串对象是否以给定的字符串开始。
boolean endsWith(String str):判断字符串对象是否以给定的字符串结束。
boolean isEmpty():判断字符串对象是否为空。数据是否为空。
B:获取功能
int length():获取字符串的长度
char charAt(int index):返回字符串中给定索引处的字符
int indexOf(int ch):返回指定字符在此字符串中第一次出现的索引
int indexOf(String str):返回指定字符串在此字符串中第一次出现的索引
int indexOf(int ch,int fromIndex):返回在此字符串中第一次出现指定字符的索引,从指定的索引开始搜索。
int indexOf(String str,int fromIndex):返回在此字符串中第一次出现指定字符串的索引,从指定的索引开始搜索。
String substring(int start):截取字符串。返回从指定位置开始截取后的字符串。
String substring(int start,int end):截取字符串。返回从指定位置开始到指定位置结束截取后的字符串。
C:转换功能
byte[] getBytes():把字符串转换成字节数组。
char[] toCharArray():把字符串转换成字符数组。
static String copyValueOf(char[] chs):把字符数组转换成字符串
static String valueOf(char[] chs):把字符数组转换成字符串。
static String valueOf(int i):基本类型:把int(基本类型)转换成字符串。
String toLowerCase():把字符串变成小写
String toUpperCase():把字符串变成大写
String concat(String str):拼接字符串。
D:其他功能
a:替换功能
String replace(char oldChar,char newChar):用新的字符去替换指定的旧字符
String replace(String oldString,String newString):用新的字符串去替换指定的旧字符串
b:切割功能
String[] split(String regex):按照规定的格式切割字符串成字符串数组
c:去除两端空格功能
String trim():去除字符串两端空格
d:字典顺序比较功能
int compareTo(String str):按字典顺序(Unicode编码顺序),如果第一个相同比较第二个,依次类推
int compareToIgnoreCase(String str) :按字典顺序(Unicode编码顺序),如果第一个相同比较第二个,依次类推,不区分大小写
G:String s = "hello";
(3)字符串的特点及面试题
A:字符串一旦初始化,就不能改变。
注意:字符串的值不能改变,没有说引用变量不能改变。
B:面试题:
a:String s = new String("hello")和String s = "hello"的区别。
b:请写出结果:
String s1 = new String("hello");
String s2 = new String("hello");
System.out.println(s1==s2);//false
System.out.println(s1.equals(s2));//true
String s3 = new String("hello");
String s4 = "hello";
System.out.println(s3==s4);//false
System.out.println(s3.equals(s4));//true
String s5 = "hello";
String s6 = "hello";
System.out.println(s5==s6);//true
System.out.println(s5.equals(s6));//true
参数的传递:
基本类型:形式参数的改变不影响实际参数
引用类型:形式参数的改变直接影响实际参数
String 是个特例
String s1 ="a";
String s2 ="b";
String s3 ="ab";
syso(s3==s1+s2);
syso("ab"=="a"+"b");
2:Arrays工具类的使用(掌握)
(1)Arrays是针对数组操作的工具类。
(2)成员方法:
public static String toString(数组):把数组变成字符串。
public static void sort(数组):对数组进行排序(升序)。
public static int binarySearch(int[] arr,int value):二分查找
3:System的方法(掌握)
(1)系统类,提供了静态的变量和方法供我们使用。
(2)成员方法:
public static void exit(int value):退出jvm,非0表示异常退出。
public static long currentTimeMillis():返回当前系统时间的毫秒值。(一般用来测试一个程序执行的快慢)
和1970 年 1 月 1 日午夜之间的时间差
public static void arraycopy(Object src,int srcPos,Object dest,int destPos,int length):从指定源数组中复制一个数组,复制从指定的位置开始,到目标数组的指定位置结束。(了解String的的方法底层都是用的此方法即可)
4:StringBuffer(掌握)
(1)字符个数可以发生改变的字符串类。字符串缓冲区类。
(2)构造方法:
A:StringBuffer():默认容量16
B:StringBuffer(int capacity):指定容量
C:StringBuffer(String str):把字符串转换成StringBuffer
(3)成员方法:
A:添加功能
public StringBuffer append(int i):在末尾追加元素
public StringBuffer insert(int index,int i):在指定位置添加元素
B:删除功能
StringBuffer deleteCharAt(int index):删除指定位置字符
StringBuffer delete(int start, int end):删除指定开始位置和结束位置间的字符
C:替换功能
StringBuffer replace(int start, int end, String str):把开始到结束位置的字符用一个新的字符串给替换。
D:截取功能
String substring(int start):从指定位置到末尾截取
String substring(int start, int end): 从指定位置到结束位置截取
E:反转功能
StringBuffer reverse():字符串反转
String和int类型的转换
A:String -- int
Integer:
public static int parseInt(String s)
B:int -- String
Integer:
public static String toString(int i)
String:
public static String valueOf(int i)
(5)JDK5以后的新特性
A:自动装箱 基本类型--引用类型
B:自动拆箱 引用类型--基本类型
Date
Long --> Date
1:Date d = new Date(Long time);
2:Date d = new Date();
d.setTime(Long time);
Date -->Long
1:Date d = new Date()
d.getTime(); = System.currentTimeMillis();
SimpleDateFormat 格式化类
Date --> String 格式化 format()
Date d = new Date()
String geshi ="yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(geshi);
String time =sdf.format(d);
String --> Date 解析 parse()
String time = "2015-09-28 10:11:55";
String geshi ="yyyy-MM-dd HH:mm:ss";
SimpleDateFormat sdf = new SimpleDateFormat(geshi);
Date d = sdf.parse(time);
案例:把一个时间格式化成一个咱们能看的懂的一个字符串
把一个咱们能看的懂的字符串 解析成 计算机能识别的一个Date
|
|