一、Date
/**
* 时间对象
* date: 时间类 获取当前时间
*
* 2022-1-17 16:29:xx
* yyyy-MM-dd HH:mm:ss
* 时间格式化
* yyyy:年
* M:月
* d: 日
* h/H: 12时/24时
* mm:分
* ss:秒
*
*
* y年M月d日 h时m分s秒
* 去零操作
* y和yyyy是一样的
*
* yy代表 2022 --> 22 后面2位
*
*
*
*/
import java.text.SimpleDateFormat;
import java.util.Date;
public class Demo1 {
public static void main(String[] args) {
Date date = new Date();
System.out.println(date);
// SimpleDateFormat(String 格式化规则)
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("y年M月d日 h时m分s秒");
// 把Date 转成规定类型的string
System.out.println(simpleDateFormat.format(date));
}
}
反转
public class Demo2 {
public static void main(String[] args) throws Exception {
// 把String 转成date类型
String str = "2022年01月17日 04时36分04秒";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
Date parse = simpleDateFormat.parse(str);
System.out.println(parse );
}
}
二、arrayList
/**
* 集合 arrayList
*
*/
import java.util.ArrayList;
import java.util.Arrays;
public class Demo1 {
public static void main(String[] args) {
int arr[] = new int[3];
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;
System.out.println(Arrays.toString(arr));
// arrayList
// 1.声明集合可以不需要长度 2.声明集合不需要确定类型
ArrayList arrayList = new ArrayList();
// api:其实方法
int i1 = 1;
arrayList.add(i1);
int i2 = 2;
arrayList.add(i2);
String str = "好家伙";
arrayList.add(str);
System.out.println(arrayList);
//
}
}
import java.util.ArrayList;
public class Demo2 {
public static void main(String[] args) {
// 1.声明集合可以不需要长度 2.声明集合不需要确定类型
// 当你知道这个集合的长度的你最好确定长度,避免不必要的浪费
ArrayList arrayList1 = new ArrayList(2);
arrayList1.add(1);
arrayList1.add(2);
System.out.println(arrayList1);
// 1.声明集合可以不需要长度 2.声明集合不需要确定类型(推荐你确定类型)
ArrayList<Integer> arrayList2 = new ArrayList();
arrayList2.add(1);
arrayList2.add(2);
arrayList2.add(3);
}
}
/**
* arrayList api:
*
*构造方法:
* ArrayList() 构造一个初始容量为十的空列表。
* ArrayList(int initialCapacity) 构造具有指定初始容量的空列表。
*普通方法:
* boolean add(E e) 将指定的元素追加到此列表的末尾。
* void clear() 从列表中删除所有元素。
* Object clone() 返回此 ArrayList实例的浅拷贝。
* 浅拷贝和深拷贝的区别
* E get(int index) 返回此列表中指定位置的元素。
* int indexOf(Object o) 返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。
* boolean isEmpty() 如果此列表不包含元素,则返回 true 。
* E remove(int index) 删除该列表中指定位置的元素
* E set(int index, E element) 用指定的元素替换此列表中指定位置的元素。
* int size() 返回此列表中的元素数。
*/
import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import java.util.ArrayList;
public class Demo4 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("狗蛋");
list.add("铁蛋");
list.add("张三");
System.out.println(list);
//list.clear(); == false eq 对比内容
//Object clone = list.clone();
//System.out.println(clone.equals(list));
//System.out.println("第一个元素:"+list.get(0));
//boolean isEmpty() 如果此列表不包含元素,则返回 true 。list.clear();
//list = null;
/**
* Exception in thread "main" java.lang.NullPointerException
* at com.hzit.list.Demo4.main(Demo4.java:43)
*
* 当对象为null的时候 操作方法或者属性出现的异常
*
*/
// System.out.println("list 对象为空吗? "+ list.isEmpty());
// && 和 || 断路 为了避免判断的时候空指针异常
if( list!=null && list.size() !=0 )
System.out.println("对像不为空");
else
System.out.println("对象为空");
// 1. 对象不为null 2. 对象长度大于0
//System.out.println("list 对象为null吗?" +( list!=null&&list.size() !=0 ) );
//list.remove(0);
//System.out.println(list);
list.set(0,"98号技师");
System.out.println(list);
System.out.println(list.size());
}
}
import java.util.ArrayList;
public class Demo5 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("狗蛋");
list.add("铁蛋");
list.add("张三");
list.add("88号");
// 1.遍历集合
for (int i = 0; i <list.size() ; i++) {
System.out.println(list.get(i));
}
// 2.遍历集合 增强for循环
for (String s : list) {
System.out.println("名字:"+s);
}
}
}
三、String
/**
* String 字符串
* 不是基本数据类型 内部本质是char数组
*
*
* Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
* at java.lang.String.substring(String.java:1963)
* at com.hzit.string.Demo1.main(Demo1.java:28)
* 下标越界
* 长字符串或者集合和数组 操作大于这个长度的方法是 会报下标越界异常
*
*
*/
public class Demo1 {
public static void main(String[] args) {
String str1 ="abc";
String str2 ="abc";
System.out.println( "内容是否相等!"+ str1.equals(str2));
System.out.println( "地址是否相等!"+ (str1 == str2));
System.out.println("字符串的长度:"+str1.length() );
// 字符串的截取
//substring(int beginIndex) beginIndex 截取的是从beginIndex开始到结束
System.out.println(str1.substring(2));
//substring(int beginIndex, int endIndex) 截取的是从beginIndex开始到 endIndex-1 结束
//
System.out.println(str1.substring(1,3));
}
}
/**
* String 字符串
* 不是基本数据类型 内部本质是char数组
*
*
* Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 4
* at java.lang.String.substring(String.java:1963)
* at com.hzit.string.Demo1.main(Demo1.java:28)
* 下标越界
* 长字符串或者集合和数组 操作大于这个长度的方法是 会报下标越界异常
*
* 走任何判断必须 && 或者 ||
*
*/
public class Demo2 {
public static void main(String[] args) {
String str = "aa,bb,cc";
// 分割字符串
//String[] split = str.split(",");
//System.out.println(Arrays.toString(split));
// 替换字符串 -
String replace = str.replace(",", "-");
System.out.println(replace);
// 判断字符串是否为空
// 为null的值 不能.任何东西
String s = null;
/* if(s.equals("") && s == null){
System.out.println("字符串为空");
}*/
/*if( s != null && !s.equals("")){
System.out.println("字符串不为空");
}else{
System.out.println("字符串为空");
}*/
if(!"".equals(s) && s != null ){
System.out.println("字符串不为空");
}else{
System.out.println("字符串为空");
}
}
}
四、Random
import java.util.Random;
/**
* 随机数
*
*/
public class Demo1 {
public static void main(String[] args) {
Random random = new Random();
/**
* API
* random.nextInt(); 获取int类型范围内任意一个值
*
* random.nextInt(int n); 获取0-(n-1) 范围内任意一个值
*/
/*for (int j = 0; j < 10; j++) {
int i = random.nextInt();
System.out.println("i:"+i);
}*/
/* for (int i = 0; i < 100; i++) {
int i1 = random.nextInt(5);
System.out.println(i1);
}*/
}
}
import java.util.Random;
/**
* 获取5位数的会员号
* 000001
* 验证码
*/
public class Demo2 {
public static void main(String[] args) {
Random random = new Random();
String ran = "";
for (int i = 0; i <5 ; i++) {
ran += random.nextInt(10);
}
System.out.println(ran);
}
}
第一种:需要导包
//创建随机数类的对象,左闭右开[0,n)的随机整数
Random rd=new Random();
for (int i = 0; i < 7; i++) {
System.out.println("生成33以内的随机整数:"+(rd.nextInt(33)+1));
}
第二种:不需要导包//创建随机数类的,左闭右开[0,1)的随机小数
int a = ((int)(Math.random()*100))%33+1;
System.out.println(a);