11Date、ArrayList、String、Random


一、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);
 


 

上一篇:2021-11-08


下一篇:2021-11-08