首页 > 编程语言 >Java常用类

Java常用类

时间:2024-08-10 14:05:40浏览次数:12  
标签:常用 Java String 包装 数据类型 System Runtime

目录

String类

  • 字符串常量池
  • 常见方法
    • charAt(int index):返回字符串指定位置的字符
    • indexOf(String s):返回指定字符串第一次出现的位置
    • startsWith(String s):测试字符串是否以指定前缀开始
    • endsWith(String s):测试字符串是否以指定后缀开始
    • subString(int index):返回字符串的子字符串
    • replace(char a,char b):替换字符串的指定字符
    • trim():去掉字符串的前后空格
    • concat():连接两个字符串
    • split(String regex):给定正则表达式的匹配来拆分字符串
  • 正则表达式
    • 字符通配符
    • 次数通配符
    • 其他通配符
  • StringBuffer和StringBuilder

日期时间类

  • Date类

    Date表示特定的瞬间,精确到毫秒。Date类中的大部分方法都已经被Calendar类中的方法所取代

  • SimpleDateFormat类

  • Calendar类:Calenda在Java 8及以后的版本中通常被 java.time 包中的类所取代

数学类

  • math类

包装类

  • 什么是包装类

    包装类主要用于将Java中的八种基本数据类型(boolean、char、byte、short、int、long、float、double)封装为对象形式,以便在需要对象特性的场合中使用。这些包装类均位于java.lang包中,是Java类库的一部分。

  • 包装类的特点

    1. 封装基本数据类型:Java是面向对象的编程语言,但基本数据类型并不直接支持对象的特性(如继承、多态等)。包装类通过将基本数据类型封装为对象,使得这些基本数据类型可以参与对象的操作。
    2. 提供额外功能:包装类不仅包含了对应基本数据类型的值,还提供了一系列实用的对象操作方法,如类型转换、进制转换、比较大小、获取最大值和最小值等。
    3. 支持集合操作:Java的集合(如List、Set、Map等)只能存储对象,不能直接存储基本数据类型。通过使用包装类,可以将基本数据类型转换为对象,从而存储在集合中。
    4. 缓存机制:对于Integer类(以及可能的其他包装类),Java虚拟机(JVM)会缓存一定数量的常用值(如-128到127之间的整数),以避免频繁地创建和销毁对象,提高性能。
  • 基本数据类型与包装类

    基本数据类型 包装类

    byte Byte

    boolean Boolean

    short Short

    char Character

    int Integer

    long Long

    float Float

    double Double

  • 包装类共同点

    自动装箱/拆箱 封装基本数据类型 自动拆装箱

    8种包装类提供不用类型间的转换方式
    Number父类中提供的6个共性方法

    parseXXX( )静态方法

    valueOf( )静态方法
    注意:需保证类型兼容,否则抛出NumberFormatException异常

Runtime类

  • 1.获取运行时环境信息

  • 可以通过Runtime类的实例获取当前JVM的处理器个数、空闲内存量、最大可用内存量和内存总量的信息。

  • 示例代码:

    Runtime rt = Runtime.getRuntime();  
    System.out.println("处理器的个数: " + rt.availableProcessors() + "个");  
    System.out.println("空闲内存数量: " + rt.freeMemory() / 1024 / 1024 + "M");  
    System.out.println("最大可用内存数量: " + rt.maxMemory() / 1024 / 1024 + "M");  
    System.out.println("虚拟机中内存总量: " + rt.totalMemory() / 1024 / 1024 + "M");
    
  • 2.Runtime类的实例化和使用

实例化:由于Runtime类是单例的,程序中一般不能显式地主动实例化一个Runtime实例,而是通过Runtime.getRuntime()来获取当前程序的Runtime实例。

使用:获取到Runtime实例后,就可以调用其提供的方法来获取运行时环境信息、执行系统命令、调用垃圾回收等。

  • 3.执行系统命令

Runtime类提供了一个exec(String command)方法,用于执行指定的系统命令或脚本。该方法返回一个Process对象,通过该对象可以获取进程的标准输出流、错误输出流等,以进行进一步的处理。

  • 示例代码:

    java复制代码
    
    Process process = Runtime.getRuntime().exec("notepad.exe");
    

System类

System类是Java中的一个非常重要的类,它位于java.lang包中,代表当前Java程序的运行平台,提供了许多与系统相关的属性和方法。由于System类的构造方法是private的,因此无法创建System类的对象,即无法实例化该类。不过,System类提供了许多静态的类变量和类方法,允许直接通过System类来调用这些变量和方法。

以下是System类的一些主要特点和功能:

1. 标准输入输出和错误输出

  • 标准输入流(in)public final static InputStream in,代表标准输入流,通常是键盘输入。
  • 标准输出流(out)public final static PrintStream out,代表标准输出流,通常是显示器输出。
  • 标准错误输出流(err)public final static PrintStream err,代表标准错误输出流,同样是输出到显示器,但通常用于输出错误信息。

2. 系统属性

  • 获取系统属性Properties getProperties()方法返回当前系统的所有属性。
  • 获取指定键的系统属性String getProperty(String key)方法根据键名获取对应的属性值。
  • 设置系统属性String setProperty(String key, String value)方法允许设置指定键的系统属性,但需要注意的是,并非所有系统属性都可以被设置。

3. 时间和日期

  • currentTimeMillis():返回当前时间与GMT时间(格林尼治时间)1970年1月1日0时0分0秒之间的毫秒差值。这个方法常用于测量程序执行时间等场景。

4. 数组操作

  • arraycopy():这是一个用于数组复制的方法,其原型为public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)。它可以将指定源数组中的元素复制到目标数组的指定位置,是系统级的操作,性能较高。

5. 其他重要方法

  • exit(int status):用于退出当前运行的Java虚拟机。当参数status为0时表示正常退出,非0值表示异常退出。
  • gc():请求JVM执行垃圾回收。但是否立即执行垃圾回收取决于JVM的垃圾回收算法和当前系统的执行状况。

System类提供的这些功能使得Java程序能够与运行环境进行交互,实现输入输出、系统属性访问、时间测量、数组操作以及程序退出等功能。由于这些功能都是静态的,因此可以通过System类直接调用,无需创建对象。

标签:常用,Java,String,包装,数据类型,System,Runtime
From: https://www.cnblogs.com/yangcurry/p/18352228

相关文章

  • Java--String类查找方法
    目录1.indexOf(Stringstr)2.indexOf(Stringstr,intfromIndex)3.lastIndexOf(Stringstr)4.lastIndexOf(Stringstr,intfromIndex)5.contains(CharSequences)6.startsWith(Stringprefix)7.endsWith(Stringsuffix)booleanequalsStringtrim在Java中,String类提供了......
  • 工厂模式与策略模式的区别及其在Java中的应用
    工厂模式与策略模式的区别及其在Java中的应用1.引言在软件开发中,设计模式被广泛应用于解决各种常见问题,提高代码的可维护性、可扩展性和可读性。工厂模式(FactoryPattern)和策略模式(StrategyPattern)是两种非常重要的设计模式,它们解决了不同的设计问题,并且在许多情况下可......
  • Java设计模式:中介者模式详解与最佳实践
    Java设计模式:中介者模式详解与最佳实践1.引言在软件开发过程中,特别是复杂系统的构建中,模块间的交互往往成为影响代码质量的重要因素。当模块之间耦合度过高时,系统的维护、扩展和理解成本都会显著增加。为了降低模块之间的耦合度,保持系统的灵活性和可维护性,我们可以使用设......
  • Java中方法的学习
    方法方法的概念在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法。如:小明同学在路边准备坐车来学校学习。这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢?可采用坐公交车或坐出租车的方式来学校,那么,这种解决某件事情的办法,我们就称为方法。所以:Java方......
  • Java计算机毕业设计基于Android的校园网上拍卖平台(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,特别是移动互联网的普及,校园生活也日益数字化、便捷化。在传统校园市场中,二手物品的交换与拍卖往往受限于时间、空间和信息......
  • Java计算机毕业设计教师工作量统计系统(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景:在当今教育体系中,教师作为知识传授与人才培养的核心力量,其工作量的合理评估与管理直接关系到教学质量、教师工作积极性及教育资源的优化配置。然而,传......
  • Java计算机毕业设计共享茶室预约微信小程序(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在快节奏的现代生活中,人们对于休闲放松的需求日益增长,茶文化作为中国传统文化的重要组成部分,正逐渐成为一种流行的生活方式。然而,传统茶室在预约、管......
  • Java计算机毕业设计基于物联网技术的水质实时监测系统设计与实现(开题+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着工业化进程的加速和人口的不断增长,水资源污染问题日益严峻,对生态环境和人类健康构成了严重威胁。传统水质监测方法往往依赖于人工采样与实验室分......
  • JavaScript中的匿名函数和箭头函数
            在JavaScript学习过程中总会遇到匿名函数,箭头函数,每次似乎都是稀里糊涂地就过去了,今天整理一下相关的知识点。匿名函数匿名函数与具名函数相对,分为两种表达形式,函数表达式和立即执行函数1.函数表达式letfn=function(){console.l......
  • 【Java毕设选题推荐】基于SpringBoot的springbootJAVA的邮件过滤系统设计与实现
    前言:我是IT源码社,从事计算机开发行业数年,专注Java领域,专业提供程序设计开发、源码分享、技术指导讲解、定制和毕业设计服务......