• JAVA基础学习之final关键字、遍历集合、日期类对象的使用、Math类对象的使用、Runtime类对象的使用、时间对象Date(两个日期相减)(5)


    1.final关键字
    和.net中的const关键字一样,是常量的修饰符,但是final还可以修饰类、方法。
    写法规范:常量所有字母都大写,多个单词中间用 "_"连接。

    2.遍历集合
    ArrayList<Integer> list = new ArrayList<Integer>();
    list.add(1);
    list.add(3);
    list.add(5);
    list.add(7);
    // 遍历List方法1,使用普通for循环:
    for (int i = 0; i < list.size(); i++) {
    System.out.println(list.get(i));
    // list.remove(i);//使用这种遍历删除元素会有问题。删除之后list.size()会时时的改变
    }
    // 遍历List方法2,使用增强for循环(应该使用泛型定义类型!):
    for (int temp : list) {
    System.out.println(temp);
    }
    // 遍历List方法3,使用Iterator迭代器:
    for (Iterator iter = list.iterator(); iter.hasNext();) {
    System.out.println(iter.next());
    }
    如何要遍历删除集合使用以下方式
    Iterator iter=list.iterator();
    while(iter.hasNext()){
    Object obj=iter.next();
    iter.remove();//如果要遍历删除集合中的元素,建议使用这种方式!
    System.out.println(obj);
    }

    3.日期类对象的使用

    //获取当前时间
    Calendar c = Calendar.getInstance();
    //c.set(2014, 2, 1);//对时间做修改,指定了年月日
    int year = c.get(Calendar.YEAR);
    int month = c.get(Calendar.MONTH)+1;
    int date = c.get(Calendar.DATE);
    int hour = c.get(Calendar.HOUR_OF_DAY);
    int minute = c.get(Calendar.MINUTE);
    int second = c.get(Calendar.SECOND);
    int week = c.get(Calendar.DAY_OF_WEEK);
    String[] weeks = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
    System.out.println(year + "/" + month + "/" + date + " " +hour + ":" +minute + ":" + second+" "+weeks[week]);

    //指定当前时间的格式
    SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
    System.out.println(df.format(new Date()));// new Date()为获取当前系统时间

    4.Math类对象的使用
    /*
    * Math:提供了操作数学运算的方法,都是静态的。
    * 常用的方法:
    * ceil():返回大于参数的最小整数。
    * floor():返回小于参数的最大整数。
    * round():返回四舍五入的整数。
    * pow(a,b):a的b次方。
    */
    for (int i = 0; i < 10; i++) {
    //
    int d = (int) (Math.random() * 10 + 1);// 生成1-10的随机数
    //
    // int d=(int) Math.ceil(12.23);
    // //
    // double d = Math.ceil(12.31);
    // //
    // Double d=Math.floor(12.36);
    // //
    // long d=Math.round(63.50);
    // double d=Math.pow(2, 3);

    System.out.println(d);

    }

    5.Runtime类对象的使用
    /*
    * Runtime:没有构造方法摘要,说明该类不可以创建对象。
    * 又发现还有非静态的方法。说明该类应该提供静态的返回该类对象的方法。
    * 而且只有一个,说明Runtime类使用了单例设计模式。
    *
    */
    Runtime r = Runtime.getRuntime();
    //
    //execute: 执行。 xxx.exe
    Process p = r.exec("notepad.exe");
    Thread.sleep(5000);
    p.destroy();

    6.时间对象Date(两个日期相减)
    String str_date1 = "2012-3-17";
    String str_date2 = "2012-4-18";
    DateFormat dateFormat = DateFormat.getDateInstance();
    dateFormat = new SimpleDateFormat("yyyy-MM-dd");
    Date date1 = dateFormat.parse(str_date1);
    Date date2 = dateFormat.parse(str_date2);
    long time1 = date1.getTime();
    long time2 = date2.getTime();
    long time = Math.abs(time1-time2);//得到两个时间差的毫秒数
    int day = (int)(time/1000/60/60/24);
    System.out.println(day);//相差32天

  • 相关阅读:
    [GEiv]第七章:着色器 高效GPU渲染方案
    Cocos2d-x 脚本语言Lua介绍
    TestNg依靠先进的采用强制的依赖,并依赖序列的------TestNg依赖于特定的解释(两)
    uboot通过使用U磁盘引导内核RT5350成功
    linux下一个rsync工具和配置
    STM32 模拟I2C (STM32F051)
    Something write in FSE 2014
    ESB (Enterprise Service Bus) 入门
    Spring框架:Spring安全
    “TNS-03505:无法解析名称”问题解决一例
  • 原文地址:https://www.cnblogs.com/yxlblogs/p/4107873.html
Copyright © 2020-2023  润新知