JavaAPI第二章

1.JAVA API:应用程序接口
1.java.lang:
java.lang包主要提供使用java编程语言进行程序设计的基础类 和接
,在项目中使用的时候不需要import。
比如:Object、String、System、包装类、Math、枚举、异常等;
2.java.util:
系统辅助类,包括:Collection,List,Map,Scanner,时间日期
类,Random类等
3.java.io:
与输入输出有关的类
4.java.net:
与网络有关的类
5.java.sql:
与数据库有关的类
2.枚举
含义:“不胜枚举”,逐个列举。比如生活中的周一到周日;
语法:访问修饰符 enum enumName{常量1,常量2…}
3.包装类
1.包装类是指将基本数据类型包装到一个类中,共有8个:
Boolean/Character/Byte/Short/Integer/Long/Float/Double;
2.基本数据类型-->包装类
(1)使用包装类的构造方法:
Integer i=new Integer(123)/("123");
(2)使用包装类的valueOf方法:
Integer i=Integer.valueOf("123");
(3)直接存储
Integer i=10;
3.包装类-->基本数据类型
(1)typeValue()系列方法
Integer i=new Integer(123);
int m=i.intValue();
(2)直接保存
int m=i;

4-1.String类
1.length():返回字符串长度;
2.字符串1.equals(字符串2):判断两个字符串的值是否相等;
3.字符串1.equalsIgnoreCase(字符串2) :忽略大小写,并判断值是否相等
4.字符串1 == 字符串2 :判断两个字符串的在内存中的地址是否相
同,即是否是同一个对象);例:
String s1="hello";
String s2="hello";
System.out.println(s1==s2);
//true,即s1和s2就是同一个对象
String s3=new String("Hello");
String s4=new String("Hello");
System.out.println(s3 == s4); //false,不是同一个
5.toLowerCase():将字符串转换成小写
6.toUpperCase():将字符串转换成大写
7.字符串1.concat(字符串2) 或者用: “ +” : 拼接字符串;
8.split("依据的符号") :拆分字符串;
9. replace(char new,char old):替换,返回一个新字符串
10.charAt(index):返回字符串中指定位置(index)的字符
11. getBytes():将字符串转成字节数组;
12.String(char[] chs,int offset,int count):将字符数组中的一部
分转成字符串。
13.String(byte[] chs,int offset,int count):将字节数组中的一部
分转成字符串。
【说明:offset:起始的位置; count:个数】
15.搜索字符串:

16.提取字符串:

17、String format格式化
https://blog.csdn.net/qq_40220804/article/details/81190122
18、将double数值保留指定位的小数:
方法1( 会四舍五入 ):
public static void main(String[] args) {
double d1=10.2234;
double d2=10.3356;
//说明: %. 表示小数点前任意位数 2表示两位小数 f表示浮点型
Double d11 = Double.valueOf(String.format("%.2f", d1 ));
Double d22 = Double.valueOf(String.format("%.2f", d2 ));
System.out.println(d11 ); //10.22
System.out.println(d22 ); //10.34
}
方法2( 会四舍五入 ):
import java.text.DecimalFormat;
public static void main(String[] args) {
double d=3.1415926;
//#.00 表示两位小数 #.0000四位小数 以此类推...
DecimalFormat df=new DecimalFormat("#.000");
System.out.println(df.format(d)); //3.142
}

 4-1.StringBuffer类

toString():将StringBuffer对象转为String对象;
append(参数):将(任何类型的)参数追加到字符串之后;
insert(index,参数) :将(任何类型的)参数插入到字符串的index位置;
两者的效率比较:

public static void main(String[] args){
//拼接一万个a
//获取电脑系统当前时间的毫秒值
long start = System.currentTimeMillis();
StringBuffer s = new StringBuffer();
for (int i = 0; i < 100000; i++) {
s.append("a");
}
long end = System.currentTimeMillis();
System.out.println(end - start); //用时7毫秒
StringBuffer sb = new StringBuffer("123456");
System.out.println(sb.insert(2, ",").toString());
//结果:12,3456
}

5.Math类 

1.常用方法:
Math.abs(i):取绝对值;
Math.max(i,n):取较大的值; Math.min(i,n):取较小的值;
Math.random():返回一个[0,1)的(double)值
如:(1)产生0-9之间的随机整数:
int i = (int) (Math.random()*10);
(2)产生1000-9999【[1000-10000)】之间的(4位)随机整数:
int i = (int) (Math.random()*9+1)*1000;
Math.sqrt():求平方根 例如:c=Math.sqrt(a*a+b*b);
Math.pow(a,b):求a的b次方;
Math.round(a):四舍五入;
Math.ceil(10.4):向上取整,结果为:11.0; ceil:天花板
Math.floor(10.4):向下取整,结果为:10.0; floor:地板

 6-1.时间日期类

Date类:
//获取此电脑的系统时间和日期
Date date = new Date();
//日期格式类 formater:格式器 位于java.text包中
SimpleDateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//格式器.格式化(原始时间) 得到:日期字符串

String dateStr = formater.format(date);
//获得2019年06月01日 的Date对象
DateFormat formater = new SimpleDateFormat("yyyy-MM-dd");
Date date = formater.parse("2019-06-01");
//Timestamp timestamp = new Timestamp(date.getTime());
Calendar类:
Calendar cal = Calendar.getInstance();
System.out.println("年:"+cal.get(Calendar.YEAR)); //年:2021
System.out.println("月:"+(cal.get(Calendar.MONTH)+1)); //月:3
System.out.println("周几:"+(cal.get(Calendar.DAY_OF_WEEK)-1)); //周几:6
System.out.println("几号:"+cal.get(Calendar.DAY_OF_MONTH)); //几号:27
System.out.println("时:"+cal.get(Calendar.HOUR_OF_DAY)); //时:22 System.out.println("分:"+cal.get(Calendar.MINUTE)); //分:41
System.out.println("秒:"+cal.get(Calendar.SECOND)); //秒:41
Date与Calendar的区别:
类 Date 表示特定的瞬间,精确到毫秒。Calendar 类是一个抽象
类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF_MONTH、HOUR 等日
历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星
期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即
格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利
历)的偏移量。
最明显的就是:前者是日期,后者是日历。就好比你家里的挂钟和
挂历了。同样是对时间的操作,但是前者的粒度细些时间控制会比较方
便。后者对日期的控制会比较方便。前者操作时间,时分秒,后者控制年
月日。
还有关键前者是类,后者是抽象类。前者能new,后者无法new。获
取后者的对象必须通过子类的实例化类获得。

6-2.Data补充 

7.Rondom类  

Random r=new Random();
int n=r.nextInt(num); //产生一个0-num之间的随机数
方式1:使用Math类的random()方法
Math.random():生成一个[0,1)随机double类型小数;
例: 生成10以内的随机整数:int i= (int)((Math.random()*9+1);
生成3位随机整数: int i= (int)
((Math.random()*900+100);
方式2:使用Random类的nextInt()方法
nextInt(x):生成一个[0,x)的正整数;
例: Random random=new Random();
生成10以内的随机整数: int num=random.nextInt(10);
生成3位随机整数: int num=random.nextInt(900)+100;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值