一、Java的Number和Math类
Java对基本的数结构封装成包装类,归属于java.lang包。Number是一个抽象类,如下包装类是Number类的子类:
Interger
Long
Short
Byte
Float
Double
举例:Interger i = 10; i = i + 1;
当内置数据类型被当成对象使用时,编译器会对内置类型装箱成包装类;相似的,编译器也可以把一个对象拆解成内置类型,称之为拆箱。
如上例子:当i被赋值时,由于i是一个对象,所以编译器对i进行装箱;然后,为了给i进行加运算,编译器需要对i进行拆箱。
Java的Math类包含了执行基本数学运算的属性和方法,如三角函数、指数、对数、开方等。如:Math .sin、Math.cos。
更多Number的方法:
1、obj.xxxValue() 将obj对象转换为xxx类型后的值,如:byteValue、doubleValue、floatValue、initValue、longValue、shortValue
2、obj.compateTo(num) 将obj对象与num参数进行比较
3、obj.equals(num) 判断obj对象是否与num参数相等
4、valueOf() 指定值返回一个Integer对象。支持几种形式:static Integer valueOf(int i) static Integer valueOf(String s) static Integer valueOf(String s, int radix)//radix指定字符串进制类型
5、toString() 返回一个String对象。 支持两种形式:obj.x.toString() Interger.toString(123)
6、parseInt(String obj) 将字符串转换为整数。支持两种形式:parseInt(String s) parseInt(String s, int radix) //radix指定字符串进制类型
更多Number&Math的方法:
1、Math.abs(double/float/int/long num) 返回参数的绝对值
2、Match.ceil(double/float num) 返回>=参数的最小整数
3、Match.floor(double/float num) 返回<=参数的最大整数
4、Match.rint(double num) 返回最接近参数的整数
5、Match.round(double/flout num) 四舍五入
6、Math.min(double/float/int/long a, double/float/int/long b) 返回参数最小值
7、Math.max(double/float/int/long a, double/float/int/long b) 返回参数最大值
9、Math.sin(double num) 返回double类型参数正玄值。类似函数有cos()、tan()、asin()、acos()、atan()、atan2()
10、Math.random() 返回double类型随机数
二、Java的character类
Character在对象中包装一个基本的char类型。
如:Character ch = new Character(‘a‘);
Character ch = ‘a‘;
Character的方法: 1、isLetter() 是否是一个字母
2、isdigit() 是否是一个数字
3、isWhitespace() 是否是一个空格
4、isUpperCase() 是否是大写字母
5、isLowerCase() 是否是大写字母
6、toUpperCase() 指定字母的大写形式
7、toLowerCase() 指定字母的小写形式
8、toString() 返回字母的字符串形式,字符串长度为1
三、Java的String和StringBuffer类
String类包含多种构造方法。一旦创建了String对象(构造函数初始化),那他的值就无法改变了。如果需要对字符串做修改,智能通过StringBuffer类和方法。
1、string1.lentgh() 返回字符串长度
2、string1.concat(string2) 字符串拼接。更常见的使用方式是String1 + Sting2
3、String.fromat() 类似于C中的打印函数,根据指定的参数内容,返回格式化字符串对象。
4、string1.charAT(int index) 返回字符串index位置的字符,返回值类型为Char对象
5、string1.compareTo(string2) 按照字典序比较两个对象
6、string1.equal(string2) 比较两个字符串是否相同
和String类不同,StringBuffer和StringBuilder类的对象内容能够被多次修改,并且不产生新的未使用对象。
StringBuffer和StingBulider的最大不同是,StringBuilder的方法不是线程安全的。
由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
StringBuffer的方法:
1、strbuffer.append(sting1) StringBuffer对象内容后面追加string1字符串
2、strbuffer.reverse() StringBuffer对象内容进行反转形式替代
3、strbuffer.delete(int start, int end) 移除字符串中指定位置内容
4、strbuffer.insert(int offset, int i) 将int参数的字符串插入指定位置
5、strbuffer.replace(int start, int end, String str1) 指定位置替换为指定字符串
四、Java中的数组
数组声明:支持:dataType[] arrayRefVar或 dataType arrayRefVar[]两种方式。推荐采用dataType[] arrayRefVar方式。
创建数组:dataType[] arrayRefVar = new dataType[arraySize] 或 dataType[] arrayRefVar = {value0, value1, ..., valuek};
Java中的For Each循环:
dataType[] arrayRefVar = {value0, value1, ..., valuek};
for (dataType element:
数组在函数中使用:
1、数组作为函数入参,示例:
函数定义:public static void printArray(int[] array)
函数调用:printArray(new int[]{3, 1, 2, 6, 4, 2});
2、数组作为函数返回值,示例:
public static int[] reverse(int[] list)
{
int[] result = new int[list.length];
....
return result;
}
Arrays类:
Arrays类能方便的操作数组,提供的方法都是静态的。
1、public static int binarySearch(Object[] a, Object key) 用二分法在数组中搜索指定值,返回查找的数组索引,支持Byte、Int、Double等数组
2、public static boolean equals(Object[] a, Object[] a2) 判断两个数组是否相同,支持Byte、Short、Int支持Byte、Short、Int数组数组
3、public static void fill(Object[] a, Object val) 给数组复制
4、public static void sort(Object[] a) 对数组根据其元素的自然顺序进行升序排列,支持Byte、Short、Int支持Byte、Short、Int数组数组
五、java中的日期和时间类
Java日期和时间采用Data类。
Data类构造函数:Data()采用当前时间初始化对象;Data(long millisec)采用1970年1月1日起时间毫秒数来初始化对象。
Data对象方法:
1、obj.after(Data d)、obj.before(Data d) 对象和日期参数比较早晚,返回boolean值
2、obj.CompareTo(Data d) 对象和日期参数比较早晚,返回int值:相等则返回0;obj在日期参数前,返回负数;否则返回正数
3、long getTime( ) 1970年1月1日起时间毫秒数
4、obj.setTime(long time) 用1970年1月1日起时间毫秒数设置日期和时间
日期格式化:
1、SimpleDateFormat 类
SimpleDateFormat类是个日期格式化类。样例:
Date dNow = new Date( );
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
ft.format(dNow)
使用SimpleDateFormat把字符串转换为时间
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd");
String input = args.length == 0 ? "1818-11-11" : args[0];
Date t;
t = ft.parse(input);
2、使用printf格式化日期:
1、%tc 包括全部日期和时间信息,星期六 十月 27 14:21:20 CST 2007
2、%tF "年-月-日"格式 2007-10-27
3、%tD "月/日/年"格式 10/27/07
4、%tr "HH:MM:SS PM"格式(12时制) 02:25:51 下午
5、%tT "HH:MM:SS"格式(24时制)14:28:16
6、%tR "HH:MM"格式(24时制)14:28
原文:https://www.cnblogs.com/yickel/p/11787677.html