BigDecimal 大的浮点数的精确运算
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Jh2ZMBhv-1613780090787)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210204103111761.png)]
package com.lei;
import java.math.BigDecimal;
public class Demo08 {
public static void main(String[] args) {
double d1=1.0;
double d2=0.9;
System.out.println(d1-d2);//精度丢失
//BigDecimal
BigDecimal bigDecimal=new BigDecimal("1.0");
BigDecimal bigDecimal1=new BigDecimal("0.9");
BigDecimal add = bigDecimal.add(bigDecimal1);
System.out.println(add);
System.out.println(bigDecimal.subtract(bigDecimal1));
System.out.println(bigDecimal.multiply(bigDecimal1));
}
}
Date
package com.lei;
import com.sun.xml.internal.ws.api.model.wsdl.WSDLOutput;
import java.util.Date;
public class Demo10 {
public static void main(String[] args) {
Date date1=new Date();
System.out.println(date1.toString());//打印当前日期
System.out.println(date1.toLocaleString());//打印当前日期 这个是过时的方法
Date date2=new Date(date1.getTime()-(60*60*24*1000));//昨天的现在这个时候的时间
System.out.println(date2.toLocaleString());
//after before
System.out.println(date1.after(date2)); //判断date1是否在date2之后
System.out.println(date1.before(date2)); //判断date1是否在date2之前
//compareTo();比较
System.out.println(date2.compareTo(date1));
//equals 判断是否相等
System.out.println(date1.equals(date1));
}
}
Claendar
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fFHqYYey-1613780090789)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210204105900373.png)]
package com.lei;
import java.util.Calendar;
public class Demo11 {
public static void main(String[] args) {
Calendar calendar=Calendar.getInstance();
System.out.println(calendar.getTime().toLocaleString());//打印当前时间信息
//获取信息
System.out.println(calendar.get(Calendar.YEAR));//获取年
System.out.println(calendar.get(Calendar.MONTH)+1);//获取月
System.out.println(calendar.get(Calendar.DATE));//获取日
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//获取日
System.out.println(calendar.get(Calendar.HOUR));//获取小时
System.out.println(calendar.get(Calendar.MINUTE));//获取分钟
System.out.println(calendar.get(Calendar.SECOND));//获取秒
//修改时间
calendar.set(Calendar.DAY_OF_MONTH,3);
System.out.println(calendar.getTime().toLocaleString());
}
}
package com.lei;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo12 {
public static void main(String[] args) throws Exception{
SimpleDateFormat sdf =new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
Date date=new Date();
String str = sdf.format(date);//把日期转成字符串
System.out.println(str);
Date parse = sdf.parse("2000年08月12日13:36:36");//把字符串转换为日期
System.out.println(parse.toLocaleString());
}
}
集合
概念:
对象的容器,实现了堆对象的常用的操作,类似数组的功能。
和数组的区别:
1. 数组的长度固定,集合的长度不固定
2. 数组可以存储基本类型和引用类型,集合只能存储引用类型
Collection体系集合
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zzsXPmJi-1613780090790)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210204152449043.png)]
package com.CollectionText;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/*
collection接口的使用
1.添加元素
2.删除元素
3.遍历元素
4.判断
*/
public class Demo01 {
public static void main(String[] args) {
//创建集合
Collection collection=new ArrayList();
// 1.添加元素
collection.add("苹果");
collection.add("西瓜");
collection.add("榴莲");
System.out.println("元素个数为:"+collection.size());//集合元素个数
System.out.println(collection);//打印元素
// 2.删除元素
collection.remove("榴莲");
System.out.println(collection);
// collection.clear();//清空元素
// 3.遍历元素【重点】
//1.使用增强for
for (Object object:collection) {
System.out.println(object);
}
//2.使用迭代器(迭代器专门用来遍历集合的一种方式)
//hasNext();判断有没有下一个元素
//next();获取下一个元素
//remove();删除当前元素
Iterator iter = collection.iterator();
while(iter.hasNext()){
String next = (String) iter.next();//在使用这个过程中不能使用Collection的删除方法
System.out.println(next);
// iter.remove();//删除
// System.out.println(collection.size());
}
// 4.判断
System.out.println(collection.contains("西瓜"));//判断是否有西瓜
System.out.println(collection.contains("榴莲"));//判断是否有榴莲
System.out.println(collection.isEmpty());//判断是否为空
}
}
package com.CollectionText;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
//Collection使用 保存学生信息
public class Demo02 {
public static void main(String[] args) {
//新建一个collection对象
Collection collection =new ArrayList();
//创建学生对象
Student s1 = new Student("lv", 21);
Student s2 = new Student("wa", 22);
//1.添加数据
collection.add(s1);
collection.add(s2);
collection.add(s2);
System.out.println(collection.size());
System.out.println(collection.toString());
//2.删除
collection.remove(s2);
System.out.println(collection.size());//删除后元素个数
//遍历
// 1.增强for
for (Object object: collection) {
System.out.println(object.toString());
}
//2.迭代器
Iterator itr = collection.iterator();//遍历
while(itr.hasNext()){
Object next = itr.next();
System.out.println(next);
}
}
}
List 接口
package com.CollectionText;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
//list 子接口使用
//特定: 1. 有序 有下标 2.可以重复
public class Demo03 {
public static void main(String[] args) {
List list=new ArrayList();
//t添加元素
list.add("苹果");
list.add("小米");
list.add(1,"华为");//表示在下标为1的位置前面添加
System.out.println(list.toString());
System.out.println(list.size() );
//删除
// list.remove("华为");//删除华为
list.remove(0);//表示删除下表为0的元素
System.out.println("当前元素个数为:"+list.size());
System.out.println(list.toString());
//遍历
//1.for循环
System.out.println("1.for循环");
for (int i = 0; i <list.size(); i++) {
System.out.println(list.get(i));
}
//2.增强for
System.out.println("2.增强for");
for (Object object: list) {
System.out.println(object.toString());
}
//3.迭代器
System.out.println("3.迭代器");
Iterator iterator= list.iterator();
while(iterator.hasNext()){
Object next = iterator.next();
System.out.println(next);
}
//4.listIterator 系列表迭代器 listIterator可以向前遍历也可以向后遍历、添加。删除。修改
System.out.println("4.列表迭代器");
ListIterator listIterator = list.listIterator();
//从前往后遍历
System.out.println("4.1从前往后遍历");
while (listIterator.hasNext()){
System.out.println(listIterator.nextIndex()+":"+listIterator.next());
}
//从后向前遍历
System.out.println("4.1从后往前遍历");
while (listIterator.hasPrevious()){
System.out.println(listIterator.previousIndex()+":"+listIterator.previous());
}
//判断
System.out.println(list.contains("小米"));
System.out.println(list.contains("苹果"));//判断是否有苹果
System.out.println(list.isEmpty());//判断是否为空
//获取位置
System.out.println(list.indexOf("华为"));//查找华为的下标位置
}
}
package com.CollectionText;
import java.util.ArrayList;
import java.util.List;
public class Demo04 {
public static void main(String[] args){
List list=new ArrayList();//创建集合
//添加数字数据 这里已经(自动装箱) 因为集合不能包含基本类型,已经自动转换为引用类型
list.add(12);
list.add(13);
list.add(14);
list.add(15);
list.add(16);
System.out.println(list.size());
System.out.println(list.toString());
list.remove(new Integer(15));
System.out.println(list.size());
System.out.println(list.toString());
//取部分集合
System.out.println(list.subList(0,1).toString());//去下表为0-1的集合 含头不含尾
}
}
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NidxmciN-1613780090793)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210204190608301.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bE0CSJAK-1613780090795)(C:\Users\lcj\AppData\Roaming\Typora\typora-user-images\image-20210218111716049.png)]