黑马程序员 笔记(十六)——一些常用类的介绍

------- android培训java培训、期待与您交流! ----------

常见类

  1. System类:
    1. 简介:System类提供了一些有用的变量和方法,该类不能被实例化。System类提供的工具主要有标准输入流(in)、标准输出流(out)、标准错误流(err)3个静态变量,同时定义了访问外部属性的方法,装入文件和库的方法以及数组复制的方法等。
    2. System类的成员变量:
      1. public static final InputStream in:标准输入流,默认是键盘
      2. public static final PrintStream out:标准输出流,默认是屏幕
      3. public static final PrintStream err:标准错误输出流
      • 在我们前面程序中使用的System.out.println();语句就是使用System类中的out输出数据,err与out类似。in可从标准输入设备接收用户输入的数据。
    3. System类的常用方法介绍:
      1. static void arraycopy(Object src,int srcPos,Object dest,int desPos,int length):用于复制数组
      2. static long currentTimeMillis() :返回以毫秒表示的当前系统时间
      3. static void exit(int status) :终止当前运行的JVM
      4. static void gc() :运行垃圾回收器
      5. static void setIn(InputStream in) :重新定向标准输入流
      6. static void setOut(OutPutStream out) :重新定向标准输出流
      7. static void setErr(OutPutStream err :重新定向标准错误输出流
      8. static void load(String filename) :装入filename指定的代码文件
      9. static void loadLibrary(String libname) :装入libname指定的系统库
    4. System系统属性的读写
      1. 简介:System类维护了一组键-值对属性,他们定义了当前工作环境的属性。当JAVA运行时系统启动,就初始化了包含运行时环境信息的系统属性,其中包括当前用户、版本……
      2. 运行时系统启动后可以得到的常用系统属性
        1. ”file separator“ 文件分割符(如”\“)9.”os.arch“操作系统体系结构
        2. "java.class.path" JAVA类路径10.”os.name“操作系统名
        3. "java.class.version" JAVA类版本号11.”os.version“操作系统版本
        4. "java.home" JAVA安装目录12.”path.separator“路径分隔符
        5. "java.vendor" 针对JAVA厂商的字符串13.”user.dir“用户当前工作目录
        6. "java.vendor.url" JAVA厂商的URL14.”user.home“用户根目录
        7. "java.version" JAVA版本号15.”user.name“用户帐号名
        8. ”line.separator“ 行分隔符号
      3. JAVA程序可以通过System类的方法读写系统属性。可以使用键(key)在属性列表中查找一个属性,或者得到整个属性集合,也可以改变属性。读取和修改系统属性的常用方法如下:
        1. public static String getProperty(String key) :返回指定名称系统的属性值字符串。若属性不存在,则返回null.
        2. public static String getProperty(String key,String def):返回指定名称的系统属性字符串。def指定默认值。若属性不存在或者名称非法,返回默认值。
        3. public static Properties getProperty() :返回java.util.Properties类的对象,它是一个个系统属性键-值对的集合。Property是hashtable的一个子类,可以使用Map的方法取出该集合的元素。在IO部分重点讲。
        4. public static void setProperty(String key,String value):用指定的值(value)修改(key)指定的属性(即重新设置key对应的value)
        5. public static void setProperty(Properties prop):用指定的Properties对象prop修改所有的属性。
        6. 在jvm启动的时候,动态加载一些属性信息:格式   java -D属性key=属性alue  运行文件名
      4. 示例:
        import java.util.*;//导入工具包,因为要使用Properties集合
        class  MySystemDemo
        {
        	public static void main(String[] args) 
        	{
        			//获取特定属性的值
        		System.out.println(System.getProperty("line.separator"));
        			//获取系统属性集合。Properties是一个属性类
        		Properties p = System.getProperties();
        
        			//在系统中设置特有信息
        		System.setProperty("HSY","ZHM");
        
        			//通过keySet方式获取该集合中的内容。
        		Set se = p.keySet();
        		for (Iterator it=se.iterator();it.hasNext(); )
        		{
        			Object key = it.next();
        			Object value = p.get(key);
        			System.out.println(key+"…………"+value);
        		}
        
        	}
        }

  2. Runtime类:
    1. 简介:每个JAVA应用程序都伴随着一个运行时对象,用于与程序当前的运行环境进行交互和指令传递。JAVA应用程序的运行环境由JAVA虚拟机、JAVA字节码解释器和计算机操作系统构成,因此运行时对象的主要功能就是与这些对象进行交互。使应用程序能够与其运行的环境相连接。可以通过getRuntime 方法获取当前运行时。
    2. Runtime类的使用:Runtime类没有向外提供构造方法,因此此类的对象不是创建的,是通过调用该类的某个方法获取的。此方法是 public static Runtime getRuntime().
    3. Runtime类的常用方法:
      1. process exec(String command) throws IOException在单独进程中执行指定的字符和字符串命令。如果带着程序的执行路径应该一\\代替原路径的\。此方法在可能会抛出四种异常,除了I/O引起的异常外其他的都是RuntimeException异常的子类。具体见API文档。
      2. public long totalMemory()返回一字节为单位的系统可访问内存空间的总数。
      3. public long freeMemory()返回以字节为单位的可用内存空间,此返回值只是可用内存的估算值,并不是一个标准的值。
      4. public void gc()运行垃圾回收器。
      5. public void runFinaliZation()请求jvm运行任何对象的finalize()方法。
      6. public void exit(int status)终止运行当前的运行的jvm。参数status作为状态码,非0的状态码表示程序非正常终止。
    4. Process类:ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息。Process 类提供了执行从进程输入、执行输出到进程、等待进程完成、检查进程的退出状态以及销毁(杀掉)进程的方法。该进程的是通过系统创建的。
    5. 示例:
      class MyRuntimeDemo 
      {
      	public static void main(String[] args) throws Exception
      	{
      			//获取一个运行时类对象
      		Runtime r = Runtime.getRuntime();
      			//获取系统可以访问内存空间的总数(以MB为单位)
      		System.out.println(r.totalMemory()/1024/1024);
      			//获取可用内存空间
      		System.out.println(r.freeMemory()/1024/1024);
      			//返回jvm可用的内存最大字节数
      		System.out.println(r.maxMemory()/1024/1024);
      			//获取可用处理器的数目
      		System.out.println(r.availableProcessors());
      			//让其打开“记事本”程序,并用记事本打开MyRuntimeDemo这个文本文件。
      			//在5秒之后关闭此程序
      		Process p = r.exec("notepad.exe MyRuntimeDemo.java");
      		Thread.sleep(5000);
      		p.destroy();
      
      	}
      }

  3. Date类
    1. Date类简介:在JAVA程序中,时间是long型数据表示的,精确到毫秒。在获得当前时间时可以用System.currentTimeMillis()方法可以返回当前的时间。也可以用java.util.Date类来获取当前时间。Date类中的方法大多已过时,被calendar中的方法替代。
    2. Date类方法
      1. 构造方法:
        1. public Date()创建一个Date对象,它表示从格林尼治时间到现在的毫秒数。
        2. public Date(long date)使用参数date创建一个Date对象。
      2. 类中定义的方法:
        1. public boolean after(Date when)测试当前日期是否在指定日期之后。
        2. public boolean before(Date when) 测试当前日期是否在指定日期之前。
        3. public long getTime()返回该Date对象表示的GMT时间从1970年1月1日0点0分0秒到当前时间的毫秒数。
        4. public void setTime(long time)设置Date对象表示的时间。
      3. 通过以上两种构造方法获取的日期,因为不具有简明的格式,所以不容易看懂。为了使我们看的明白,就应该让其显示为我们指定的格式。此时就应用的DateFormat类和SimpleDateFormat类。
  4. DateFormat类
    1. 简介:要输出适合习惯的时间格式,可以使用DateFormat类对Date对象格式化。DateFormat类可以将日期和时间格式化成多种形式,因为DateFormat类是一个抽象类,所以我们不能直接新建DateFormat类的对象。获取DateFormat类对象有两种方式。
    2. 获取DateFormat类对象的方式
      1. (拓展)使用DateFormat类的静态方法static DateFormat getDateInstance()极其重载函数获取DateFormat对象。
        1. int style可以取Date.SHORT、DateFormat.MEDIUM、DateFormat.LONG、DateFormat.FULL、DateFormat.DEFAULT。
      2. 建立其实现子类SimpleDateFormat的对象。通过SimpleDateFormat(String pattern)构造方法建立对象。
  5. Calendar
    1. 简介:Calendar和DateFormat一样是一个抽象类,Calendar类对象表示日历中某个特定时刻。可以通过Calendar类的静态方法getInstance()的某种重载形式获得某个区域的日历对象。
    2. Calendar类获取时间方法:
      1. public static Calendar getInstance():返回默认时区和默认区域的日历对象。
      2. publc static Calendar getInstance(TimeZone zone)返回指定时区和默认区域的日历对象。
      3. public static Calendar getInstance(Locale aLocale)返回默认时区和指定区域的日历对象。
      4. public static Calendar getInstance(TimeZone zone,Locale aLocale)返回指定时区和指定区域的日历对象。
    3. 设定时间:
      1. void set(int year, int month, int date)方法把指定的日期给Calendar对象。
    4. 时间的计算:
      1. void add(int field, int amount)方法。
  6. Math类
    1. Math类中的常用方法:
      1. public static double ceil(double e):返回大于参数的最小整数的值。
      2. public static double floor(double e):返回小于参数的最小整数的值。
      3. public static double pow(double a, double b):返回a 的b次幂的值。
      4. public static double random():返回0到1的随机数。
    2. 在util包中也定义了Random类:
      1. 建立此类的对象后通过nextxxx(方法以及其重载方法获取随机值。,
黑马程序员的tb_brand是指在JavaWeb基础教程中创建的一个表。这个表是用来存储品牌信息的,具体的表结构和数据型需要和JavaBean中的成员变量保持一致。\[1\]在这个教程中,使用了Maven来构建项目,并且使用了MyBatis作为持久层框架,通过配置pom.xml文件来引入相关依赖。\[2\] Maven是一个用于管理和构建Java项目的工具,它提供了一套标准化的项目结构、构建流程和依赖管理机制。\[3\] #### 引用[.reference_title] - *1* [【JAVAWEB开发】黑马程序员java web案例资料(含Element的删除与修改)](https://blog.csdn.net/aasd23/article/details/126940147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [黑马程序员-MyBatis 框架-最全入门笔记、阿伟看了都得说真大、真细、真全!!!](https://blog.csdn.net/qq_57383364/article/details/128103058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JavaWeb——黑马程序员课程笔记](https://blog.csdn.net/King_ZACC/article/details/128573804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值