当前位置: 首页 > news >正文

零基础学JAVA--Day30(Math类、Arrays类、日期类)

Math方法

//1、abs 绝对值
int abs = Math.abs(-9);
System.out.println(abs);//9//2、pow 求幂
double pow = Math.pow(2,4);//2的4次方
System.out.println(pow);//16//3、ceil向上取整,返回>=该参数的最小double类型的整数;
double ceil = Math.ceil(-3.0001);
System.out.println(ceil);//4、floor向下取整,返回<=该参数的最大整数(转成double)
double floor = Math.floor(-4.999);
System.out.println(floor);//5、round四舍五入Math。floor(该参数+0.5)
long round=Math.round(-5.001);//5
System.out.println(round);//6、sqrt 求开方
double sqrt =Math.sqrt(-9.0);
System.out.println(sqrt);//7.random求随机数,random返回的是 0 <= × <1 之间的一个随机小数
Math.random();
//获取a-b之间的一个随机整数
int num = (int)(a + Math.random()*(b-a+1));

Arrays类

常用方法

1)toString返回数组的字符串形式
Arrays.toString(arr);
2)sort排序(自然排序和定制排序)
Integer arr[ ]={1,-1,7,0, 89};
Arrays.sort(arr);//由小到大

//1、可以直接使用冒泡排序,也可以直接使用Arrays提供的sort方法排序
//2、因为数组是引用类型,所以通过sort排序后,会直接影响到实参arr
//3、sort重载的,也可以通过传入一个接口Comparator实现定制排序
//4、调用定制排序时,传入两个参数(1)排序的数组arr(2)实现了Comparator接口的匿名内部类,要求实现
compare方法(匿名内部类)
Arrays。sort(arr);//默认由小到大排序方法,底层是二分法排序
//定制排序
Arrays.sort(arr,newComparator({@Overridepublic int compare(Object o1,Object o2){Integer i1 = (Integer) o1;Integer i2 = (Integer) o2;return i2 - i1;}
});//此时是由大到小

3)binarySearch通过二分搜索法进行查找,要求必须排好序

Integer[] arr = {1,2,3,5,6};
int index = Arrays.binarySearch(arr, 3);//找3所在的位置————>为index2
/*
1。使用binarySearch二叉查找
2。要求该数组是有序的。如果该数组是无序的,不能使用binarySearch
3。如果数组中不存在该元素,就返回return-(low+1);//keynotfound。
*/int index2 =  Arrays.binarySearch(arr,4);//没找到--->本该在3之后所以返回 -4

4)copyof数组元素的复制

从arr数组中,拷贝arr.length个元素到newArr数组中
Integer[ ]newArr = Arrays.copyof(arr,arr.length);//长度超出则补null

5)ill 数组元素的填充

Integer[] num =new Integer[]{9,3,2};
//使用99去填充num数组,可以理解成是替换原理的元素
Arrays.fill(num,99);
System.out.println("==num数组填充后==");
System.out.println(Arrays.toString(num));//[99,99,99]

6)equals比较两个数组元素内容是否完全一致()返回Ture或者False

boolean equals = Arrays.equals(arr, arr2):

7)asList将一组值,转换成list集合再返回

List<Integer> asList = Arrays.asList(2,3,4,5,6,1);//asList  编译类型是List(接口)
System.out.println("asList="+ asList);

System类常见方法和案例

1)exit退出当前程序
2)arraycopy:复制数组元素,比较适合底层调用,一般使用Arrays.copyof完成复制数组.
int[  ] src = {1,2,3};
int[  ] dest = new int[3];
System.arraycopy(src, 0, dest, 0, 3);
//(原数组,拷贝开始索引,目标数组,目标数组的粘贴开始索引,拷贝多少元素)
3)currentTimeMillens:返回当前时间距离1970-1-1的毫秒数
4)gc:运行垃圾回收机制 System.gc();

BigInteger和BigDecimal类

//BigInteger类--->处理大数字BigInteger bigInteger = new BigInteger("23788888899999999999999999999");
BigInteger bigInteger2 = new BigInteger("100");
System.out.println(bigInteger);BigInteger add = bigInteger.add(bigInteger2);//加法
System.out.println(add);BigInteger subtract = bigInteger.subtract(bigInteger2);//减法
System.out.println(subtract);BigInteger multiply=bigInteger.multiply(bigInteger2);//乘法
System.out.println(multiply);BigInteger divide = bigInteger.divide(bigInteger2);//除法
System.out.println(divide);//BigDecimal类--->处理精度特别大的数BigDecimal bigDecimal=new BigDecimal("1999.11111111111999999999999977788");
BigDecimal bigDecimal2=new BigDecimal("1999.11111111");
System.out.println(bigDecimal);//加减乘除
System.out.println(bigDecimal.add(bigDecimal2));
System.out.println(bigDecimal.subtract(bigDecimal2));
System.out.println(bigDecimal.multiply(bigDecimal2));
System.out.println(bigDecimal。divide(bigDecimal2));//可能抛出异常(结果可能是无线循环小数)//解决方法
//在调用divide方法时,指定精度即可。BigDecimal。ROUND_CEILING
//如果有无限循环小数,就会保留分子的精度
System.out.println(bigDecimal.divide(bigDecimal2,BigDecimal.ROUND_CEILING));

日期类

 Date

Date d1 = new Date();//获取当前系统时间SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss E");
Stringformat=sdf.format(d1);//format:将日期转换成指定格式的字符串//1。可以把一个格式化的String转成对应的Date
//2。得到Date仍然在输出时,还是按照国外的形式,如果希望指定格式输出,需要转换
//3.在把string->Date,使用的sdf格式需要和你给的String的格式一样,否则会抛出转换异
String s="1996年01月01日10:20:30星期一";
Date parse = sdf.parse(s);
System.out.println("parse=" + sdf.format(parse));

时间格式字母表

Calendar

//1。Calendar是一个抽象类,并且构造器是private
//2。可以通过getInstance()来获取实例
//3。提供大量的方法和字段提供给程序员
//4. 没有固定格式
//5、如果我们需要按照24小时进制来获取时间,Calendar.HOUR=改成=>Calendar.HOUR_OF_DAY
Calendarc=Calendar.getInstance(;//创建日历类对象//比较简单,自由
System.out.println("c=" + c);
//2。获取日历对象的某个日历字段
System.out.println("年:"+ c.get(Calendar.YEAR));
//这里为什么要+1,因为Calendar返回月时候,是按照0开始编号
System.out.println("月:"+ (c.get(Calendar.MONTH) + 1));
System.out.println("日"+ c.get(Calendar.DAY_OF_MONTH));
System.out.println("小时:"+ c.get(Calendar.HOUR));
System.out.println("分钟:"+ c.get(Calendar.MINUTE));
System.out.println("秒:"+ c.get(Calendar.SECOND));

第三代日期(推荐)

//LocalDate(日期/年月日)、LocalTime(时间/时分秒)、LocalDateTime(日期时
间/年月日时分秒)//1。使用now()返回表示当前日期时间的对象
LocalDateTime ldt =LocalDateTime.now();/LocalDate.now();//LocalTime.now()
System.out.println(ldt);//获取所有时间信息
System.out.println("年=" + ldt.getYear());
System.out.println("月="+ ldt.getMonth();//英文月
System.out.println("月=" + ldt.getMonthValue());//数字月
System.out.printh("日=" + ldt.getDayofMonth());
System.out.println("时="+ ldt.getHour();
System.out.println("分="+ ldt.getMinute());
System.out.println("秒=" + ldt.getSecond();LocalDate now=LocalDate.now(;//可以获取年月日
LocalTime now2=LocalTime.now();//获取到时分秒//日期格式化问题
//2。使用DateTimeFormatter对象来进行格式化
//创建DateTimeFormatter对象
DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH小时mm分钟ss秒);
String format =dateTimeFormatter.format(ldt);
System.out.println("格式化的日期="+format);/*4)第三代日期类更多方法
LocalDateTime类
MonthDay类:检查重复事件
是否是闰年
增加日期的某个部分
使用plus方法测试增加时间的某个部分
使用minus方法测试查看一年前和一年后的日期
*/

_______________________________

Day30 End~

离回家还有59天~

http://www.dtcms.com/a/603417.html

相关文章:

  • 酸奶机方案开发,酸奶机MCU控制方案设计
  • 优质的广州做网站做网站的好项目
  • 网站建设视频教学中国互联网协会12321举报中心
  • 做啊网站网站配色原理
  • saas 做网站wordpress主题ftp安装
  • 找人做网站怎么知道归属人专业网站建设公司哪里好
  • 网页设计设计一个网站首页响水做网站哪家公司好
  • 网站如何进行建设百度js转wordpress
  • 如何反编译易语言程序 | 了解反编译的基本概念与技巧
  • 天天炫拍免费做相册管方网站下载wordpress制作网页
  • thinkphp 企业网站江淮网站开发
  • 北京论坛建站模板wordpress图片外链
  • 网站栏目建设wordpress+下载售卖
  • Spring事务实现原理深度解析:从源码到架构全面剖析
  • 咸宁公司做网站音乐主题 wordpress
  • cms大型门户网站aardio 网站开发
  • C语言编程实验编译器 | 实践编程与调试工具的深度剖析
  • 无锡朝阳网站推广济南营销网站建设
  • 网站关键词是什么全国购网站建设
  • 做网站别人点击能得钱吗淮安专业网站建设
  • 【Phoenix】插件(Plug)
  • 做网站用哪里的服务器比较好如何查看网站架构
  • 网站建设方案确认表华为云云速建站
  • 营销型网站如何建设常德经开区网站官网
  • 网站建设皿金手指谷哥壹柒宽屏wordpress主题
  • 高防IP真能100%防御DDoS攻击吗?
  • 网站开发主管要做什么seo网站优化方
  • 电子商务网站搜索引擎设计网站设计前景怎样
  • 山东建设官方网站免费wordpress主题下载地址
  • 六安城市网官网百度小程序排名优化