Java学习系列(二)
1.Number 类
所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类
包装类 | 基本数据类型 |
---|---|
Boolean | boolean |
Byte | byte |
Short | short |
Integer | int |
Long | long |
Character | char |
Float | float |
Double | double |
2.Math 类
Math 包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。
Math 的方法都被定义为 static 形式,通过 Math 类可以在主函数中直接调用。
序号 | 方法与描述 | |
---|---|---|
1 | xxxValue() 将 Number 对象转换为xxx数据类型的值并返回。 | |
2 | compareTo() 将number对象与参数比较。 | |
3 | equals() 判断number对象是否与参数相等。 | |
4 | valueOf() 返回一个 Number 对象指定的内置数据类型 | |
5 | toString() 以字符串形式返回值。 | |
6 | parseInt() 将字符串解析为int类型。 | |
7 | abs() 返回参数的绝对值。 | |
8 | ceil() 返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。 | |
9 | floor() 返回小于等于(<=)给定参数的最大整数 。 | |
10 | rint() 返回与参数最接近的整数。返回类型为double。 | |
11 | round() 它表示四舍五入,算法为?Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,所以,Math.round(11.5) 的结果为12,Math.round(-11.5) 的结果为-11。 | |
12 | min() 返回两个参数中的最小值。 | |
13 | max() 返回两个参数中的最大值。 | |
14 | random() 返回一个随机数。 |
?3.?Character 类
Character 类用于对单个字符进行操作。
Character 类在对象中包装一个基本类型?char?的值
序号 | 方法与描述 |
---|---|
1 | isLetter() 是否是一个字母 |
2 | isDigit() 是否是一个数字字符 |
3 | isWhitespace() 是否是一个空白字符 |
4 | isUpperCase() 是否是大写字母 |
5 | isLowerCase() 是否是小写字母 |
6 | toUpperCase() 指定字母的大写形式 |
7 | toLowerCase() 指定字母的小写形式 |
8 | toString() 返回字符的字符串形式,字符串的长度仅为1 |
4.String 类
5.?StringBuffer 类
序号 | 方法描述 |
---|---|
1 | public StringBuffer append(String s) 将指定的字符串追加到此字符序列。 |
2 | public StringBuffer reverse() ?将此字符序列用其反转形式取代。 |
3 | public delete(int start, int end) 移除此序列的子字符串中的字符。 |
4 | public insert(int offset, int i) 将? int ?参数的字符串表示形式插入此序列中。 |
5 | insert(int offset, String str) 将? str ?参数的字符串插入此序列中。 |
6 | replace(int start, int end, String str) 使用给定? String ?中的字符替换此序列的子字符串中的字符。 |
7 | int capacity() 返回当前容量。 |
8 | char charAt(int index) 返回此序列中指定索引处的? char ?值。 |
9 | void ensureCapacity(int minimumCapacity) 确保容量至少等于指定的最小值。 |
10 | void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此序列复制到目标字符数组? dst 。 |
11 | int indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。 |
12 | int indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。 |
13 | int lastIndexOf(String str) 返回最右边出现的指定子字符串在此字符串中的索引。 |
14 | int lastIndexOf(String str, int fromIndex) 返回 String 对象中子字符串最后出现的位置。 |
15 | int length() ?返回长度(字符数)。 |
16 | void setCharAt(int index, char ch) 将给定索引处的字符设置为? ch 。 |
17 | void setLength(int newLength) 设置字符序列的长度。 |
18 | CharSequence subSequence(int start, int end) 返回一个新的字符序列,该字符序列是此序列的子序列。 |
19 | String substring(int start) 返回一个新的? String ,它包含此字符序列当前所包含的字符子序列。 |
20 | String substring(int start, int end) 返回一个新的? String ,它包含此序列当前所包含的字符子序列。 |
21 | String toString() 返回此序列中数据的字符串表示形式。 |
6.Arrays 类
java.util.Arrays 类能方便地操作数组,它提供的所有方法都是静态的。
具有以下功能:
- 给数组赋值:通过 fill 方法。
- 对数组排序:通过 sort 方法,按升序。
- 比较数组:通过 equals 方法比较数组中元素值是否相等。
- 查找数组元素:通过 binarySearch 方法能对排序好的数组进行二分查找法操作。
序号 | 方法和说明 |
---|---|
1 | public static int binarySearch(Object[] a, Object key) 用二分查找算法在给定数组中搜索给定值的对象(Byte,Int,double等)。数组在调用前必须排序好的。如果查找值包含在数组中,则返回搜索键的索引;否则返回 (-(插入点) - 1)。 |
2 | public static boolean equals(long[] a, long[] a2) 如果两个指定的 long 型数组彼此相等,则返回 true。如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
3 | public static void fill(int[] a, int val) 将指定的 int 值分配给指定 int 型数组指定范围中的每个元素。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
4 | public static void sort(Object[] a) 对指定对象数组根据其元素的自然顺序进行升序排列。同样的方法适用于所有的其他基本数据类型(Byte,short,Int等)。 |
7.?Date 类
比较日期三种方法:
- 使用 getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
- 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
- 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。
日期格式化:
SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss");
时间模式字符串用来指定时间格式。
在此模式中,所有的 ASCII 字母被保留为模式字母,定义如下:
字母 | 描述 | 示例 |
---|---|---|
G | 纪元标记 | AD |
y | 四位年份 | 2001 |
M | 月份 | July or 07 |
d | 一个月的日期 | 10 |
h | ?A.M./P.M. (1~12)格式小时 | 12 |
H | 一天中的小时 (0~23) | 22 |
m | 分钟数 | 30 |
s | 秒数 | 55 |
S | 毫秒数 | 234 |
E | 星期几 | Tuesday |
D | 一年中的日子 | 360 |
F | 一个月中第几周的周几 | 2 (second Wed. in July) |
w | 一年中第几周 | 40 |
W | 一个月中第几周 | 1 |
a | A.M./P.M. 标记 | PM |
k | 一天中的小时(1~24) | 24 |
K | ?A.M./P.M. (0~11)格式小时 | 10 |
z | 时区 | Eastern Standard Time |
' | 文字定界符 | Delimiter |
" | 单引号 | ` |
printf 方法可以很轻松地格式化时间和日期。
使用两个字母格式,它以?%t?开头并且以下面表格中的一个字母结尾。
- %tY:输出四位数的年份,例如:2023
- %ty:输出两位数的年份,例如:23
- %tm:输出两位数的月份,例如:02
- %tB:输出月份的全名,例如:February
- %tb:输出月份的缩写,例如:Feb
- %tA:输出星期的全名,例如:Wednesday
- %ta:输出星期的缩写,例如:Wed
- %td:输出两位数的日期,例如:24
- %te:输出一位或两位数的日期,例如:24 或 02
- %tH:输出24小时制的小时数,例如:23
- %tI:输出12小时制的小时数,例如:11
- %tM:输出分钟数,例如:45
- %tS:输出秒数,例如:30
- %tp:输出上午还是下午,例如:AM 或 PM
- %tZ:输出时区,例如:GMT+08:00
转换符 | 说明 | 示例 |
---|---|---|
%tc | 包括全部日期和时间信息 | 星期六 十月 27 14:21:20 CST 2007 |
%tF | "年-月-日"格式 | 2007-10-27 |
%tD | "月/日/年"格式 | 10/27/07 |
%tr | "HH:MM:SS PM"格式(12时制) | 02:25:51 下午 |
%tT | "HH:MM:SS"格式(24时制) | 14:28:16 |
%tR | "HH:MM"格式(24时制) | 14:28 |
import java.util.Date;
public class DateFormatExample {
? ?public static void main(String[] args) {
? ? ? Date date = new Date();
? ? ? System.out.printf("%tY-%tm-%td %tH:%tM:%tS %tZ", date, date, date, date, date, date);
//2023-02-24 13:34:45 GMT+08:00
? ?}
}
序号 | 方法和描述 |
---|---|
1 | boolean after(Date date) 若当调用此方法的Date对象在指定日期之后返回true,否则返回false。 |
2 | boolean before(Date date) 若当调用此方法的Date对象在指定日期之前返回true,否则返回false。 |
3 | Object clone( ) 返回此对象的副本。 |
4 | int compareTo(Date date) 比较当调用此方法的Date对象和指定日期。两者相等时候返回0。调用对象在指定日期之前则返回负数。调用对象在指定日期之后则返回正数。 |
5 | int compareTo(Object obj) 若obj是Date类型则操作等同于compareTo(Date) 。否则它抛出ClassCastException。 |
6 | boolean equals(Object date) 当调用此方法的Date对象和指定日期相等时候返回true,否则返回false。 |
7 | long getTime( ) 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。 |
8 | int hashCode( ) ?返回此对象的哈希码值。 |
9 | void setTime(long time) ? 用自1970年1月1日00:00:00 GMT以后time毫秒数设置时间和日期。 |
10 | String toString( ) 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。 |
sleep()使当前线程进入停滞状态(阻塞当前线程)
让出CPU的使用、目的是不让当前线程独自霸占该进程所获的CPU资源,以留一定时间给其他线程执行的机会。
import java.util.*;
public class SleepDemo {
public static void main(String[] args) {
try {
System.out.println(new Date( ) + "\n"); //Thu Sep 17 10:20:30 CST 2015
Thread.sleep(1000*3); // 休眠3秒
System.out.println(new Date( ) + "\n"); //Thu Sep 17 10:20:33 CST 2015
} catch (Exception e) {
System.out.println("Got an exception!");
}
}
}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!