java笔记21 常用API

1.System

System:类中的方法和属性都是静态的

out:标准输出,默认是控制台

        in:标准输入,默认是键盘

        加载时

—D 名称=值 class文件名

        可以在启动虚拟机时加载自定义的系统属性

long currentTimeMillis(); // 返回当前时间毫秒值

exit(); // 退出虚拟机

Properties getProperties() ;  // 获取当前系统的属性信息

import java.util.*;
public class H_01System {
    public static void main(String [] args)
    {
            Properties prop=System.getProperties();
            //因为Properties是Hashtable的子类,也就是Map集合的一个子类对象
            //可以使用map的取出方法
            //该集合中存储的都是字符串,没有泛型定义
           
            //获取指定属性信息
            String value1=System.getProperty("os.name");
            System.out.println(value1);
            //可以用来判断系统是是否符合安装环境
           
            //Iterator it=prop.keySet().iterator();
            //获取全部信息
            for(Object obj:prop.keySet())
            {
                String value=(String)prop.get(obj);
                System.out.println(obj+"---"+value);
            }  
            //如何在系统中自定义一些特有信息
            System.setProperty("hello", "java");
    }
}

 

2.  Runtime对象

        该类并没有提供构造函数

        说明不可以new对象,那么会直接想到该类中的防范都是静态的

        但该类中还有非静态方法

        说明该类肯定会提供防范获取本类对象,而且方法是静态的,返回值是本类对象

       Runtime其实使用的就是单例设计模式。

        Processp=r.exec("winmine.exe")

        p.destory();杀死进程

        r.exec("notepad.exe  SystemDemo.java");用记事本打开文件

import java.io.IOException;
public class H_02RuntimeDemo {
         public static void main(String[] args) throws Exception {
                   Runtime r=Runtime.getRuntime();
                   //调用本机程序
                   r.exec("D:\\Program Files (x86)\\Yixin\\EasyChat\\yixin.exe");
                   //返回一个Process
         }
}

3.      Date

import java.util.*;
import java.text.*;
public class H_03DateDemo {
    public static void main(String[] args) {
        Date d=new Date();
        System.out.println(d);
        //将模式封装在SimpleDateFormat对象中
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String time=sdf.format(d);//传入对象用需求模式输出
//format是将date对象输出为字符串对象
        System.out.println(time);      
    }
}

按格式获得当前时间。

Format直接操作日期对象

parse操作字符串,转换成Date对象。

如何获得两个时间的时间差

import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
 
public class DateTest{
       public static void main(String[] args) throws Exception {
            String str_date1 = "2014-3-17";
            String str_date2 = "2014-4-6";
            test(str_date1,str_date2);
      }
     
       public static void test(String str_date1,String str_date2) throws Exception {
             //1、将日期字符串转成日期对象
             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(time2-time1);
             System.out.println(time);
 
             int day = getDay(time);
             System.out.println(day);
      }
 
       private static int getDay(long time){
             int day = (int)(time/1000/60/60/24);
             return day;
      }
}

 

4.      Calendar

import java.util.*;
import java.text.*;
public class H_04CalenderDemo
{
    public static void main(String[] args)
    {      
        Calendar c=Calendar.getInstance();
        //c.set(2016, 0, 13);
        c.add(Calendar.YEAR, -1);
        printC(c);
        Scanner input=new Scanner(System.in);
        sop("请输入一个年份");
        int year=input.nextInt();
        c.set(year,2,1);
        c.add(Calendar.DAY_OF_MONTH, -1);//天数减一
        sop(c.get(Calendar.DAY_OF_MONTH));
    }
    public static void printC(Calendar c)
    {
        sop(c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1));
        String [] months={"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"};
        int index=c.get(Calendar.MONTH);
        sop(months[index]);
    }
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
}

注意月份是从0开始的

结果

2014年6

六月

请输入一个年份

2000

2000年2月有29天

5.      Math

返回值类型大多是double

ceil方法:返回大于指定数据的最小整数(天花板,所以是+1)

floor方法:返回小于指定数据的最大整数(地板,所以是减一)

round方法:四舍五入

pow方法:幂运算

random方法:返回0~1的伪随机数(>=0.0,<1.0)包含0不包含1

import java.util.*;
public class H_05MathDemo {
    public static void main(String[] args) {
        double d=Math.ceil(12.34);
        double f=Math.floor(12.34);
        double d2=Math.pow(2,3);
        sop(d);//13
        sop(f);//12
        sop(d2);//8  (2的3次方)
       
        int x=(int) (Math.random()*10);
        sop(x);
    }
    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
}


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 狂神说Java全部笔记是一部非常受欢迎的Java学习资料。这份笔记主要由狂神根据自己多年的Java开发经验总结而成,包含了Java开发中的各个方面。 首先,笔记中涵盖了Java的基础知识,如Java的发展历史、安装配置、基本语法、数据类型、运算符等。这些内容对于初学者来说非常重要,可以帮助他们快速入门。 其次,笔记中还介绍了Java的面向对象编程思想,包括封装、继承、多态等概念,以及如何使用类、对象、方法等构建自己的程序。这是Java开发的核心内容,通过深入学习这些知识,可以更好地掌握Java编程。 此外,狂神还在笔记中详细介绍了Java常用的类库和API,如集合框架、IO操作、多线程、网络编程等。这些内容对于提升开发效率和扩展能力非常有帮助。 最后,笔记中还包含了一些实战项目的案例分析,可以帮助读者将所学的知识应用到实际项目中。通过动手实践,读者可以更好地理解和掌握Java开发的各个环节。 总的来说,狂神说Java全部笔记是一份非常全面和实用的学习资料,适合各个阶段的Java学习者。无论是初学者还是有一定经验的开发者,都可以从中获益良多。通过学习这份笔记,读者可以打下良好的Java基础,掌握Java开发的核心知识,提高开发能力,从而更好地应对实际项目的需求。 ### 回答2: 狂神说Java是一份关于Java编程语言的全面笔记,内容涵盖了Java的基础知识、面向对象编程、集合框架、多线程编程、Java IO、数据库编程等方面的内容。 在Java的基础知识部分,狂神详细介绍了Java的发展历史、Java的安装配置、Java的数据类型、运算符、控制语句等基本知识,并给出了许多实际案例进行演示和讲解,帮助读者理解和掌握这些概念和技能。 在面向对象编程部分,狂神详细介绍了Java中的类和对象、封装性、继承性、多态性等面向对象的特性,以及如何利用这些特性进行软件开发,包括类的设计、构造方法、方法重载和方法重写等内容。 在集合框架部分,狂神讲解了Java中的各种集合类,如ArrayList、LinkedList、HashMap等,并介绍了它们的使用方法和常见应用场景,以及集合的遍历和排序等相关操作。 在多线程编程部分,狂神详细介绍了Java中的线程概念、线程的创建和启动、线程同步与通信等内容,并提供了一些实际案例来演示多线程编程的实际应用。 在Java IO部分,狂神讲解了Java中的输入输出流、文件操作、字符流和字节流等内容,并提供了一些示例代码进行演示。 在数据库编程部分,狂神介绍了Java中如何使用JDBC进行数据库的连接和操作,包括建立连接、执行SQL语句、事务处理等内容,并提供了一些实际案例进行演示。 总之,狂神说Java是一份非常全面、详细的Java编程笔记,适合初学者和有一定基础的Java开发者阅读和学习。通过阅读狂神说Java,读者可以系统地了解和掌握Java编程的基本知识和技能,为以后的Java开发打下良好的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值