目录
String 类:
StringBuffer:" >StringBuffer:
基本数据类型包装类:
首页 Java java教程 Java API的详细介绍(附例子)

Java API的详细介绍(附例子)

Sep 26, 2018 pm 03:35 PM
api java

本篇文章给大家带来的内容是关于Java API的详细介绍(附例子),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

简介 :  

所谓API就是一些已写好、 可供直接调用的类库。Java 具有强大功能的API, 并且还在继续发展中。 

 首先在网上获取Java 帮助文档  , 然后解压 ,找到相应的API 。

 Java 常用包介绍 :

  •  java.lang  提供利用java编程语言进行程序设计的基础类。

  • java  until  包含集合框架,遗留的collection类,事件模型,日期和时间设施,国际化和各种实用工具类。

  • java io 通过数据流,序列化和文件系统提供系统输入和输出。

  • java applet 提供创建applet 所必须的的类和applet 用来和其他applet 上下文通信的类、

  • java awt 包含用于创建用户界面和绘制图形图像的所有的类。

  • java beans  包含与开发beans 有关的类,即 基于javaBeans 架构的组件。

  • java math 提供用于执行任意精度整数算法(BigInteger)和任意精度小数算法(BigDecimal)的类。

  • java net 为实现网络应用程序提供的类。

  • java sql  提供使用java 编程语言访问并处理存储在数据源(通常指关系型数据库)中的数据API。

String 类:

String 类的初始化操作:  java 提供两种初始化String类的方式, 

  1   利用字符串常量直接初始化一个String对象,比如  String  name = "张三" ; 

  2   采用String的构造方法初始化字符串对象, 比如 

方法  含义
String () 创建一个内容为空的字符串
Stirng (String value) 根据指定的字符串内容创建对象
String (char[] value) 根据指定的字符数组创建对象

举个栗子: 

public static void main(String[] args){
    String s1 =new String();//创建空字符串
    String s2 = new String("张三")//创建一个内容为张三的字符串
    char[] charArray = new char[]{'A','B','C'};
    String s3 = new String(charArray);
    System.out.println(s1);
    System.out.println(s2);
    System.out.println(s3);

}
登录后复制

Sring类的常用方法:

字符串基本操作:

public static void main(String[] args) {
String s ="abcdefhckoj";//声明字符串
System.out.println("字符串的长度为:"+s.length());//获取字符串长度, 即字符个数
System.out.println("字符串第一个字符:"+s.charAt(0));
System.out.println("字符c第一次出现的位置:"+s.indexOf('c'));
System.out.println("字符c最后一次出现的位置:"+s.lastIndexOf('c'));
}
登录后复制

字符串与数组的转换:

public class Demo{
    public static void main(String[] args){
    String s = "abcdesgs";//声明一个字符串
    System.out.println("将此字符串装换为数组");
    char [] charArray = s.toCharArray();//字符串转换为字符数组。
    System.out.println("[);
    for(int i=0;i,charArray.length;i++){
          if(i !=charArray.length-1);
         Syetem.out.println(charArray[i]+",");
             //判断是否是数组最后一个元素,如果不是则在后面添逗号码
    }else{
        //否则 数组最后一个元素不加逗号。
 
       Syetem.out.println(charArray[i]+"]");
}
}
        Syetem.out.println("将Int 类型转换为String 类型:" +String.valueOf(20));
}
}
登录后复制

字符串判断操作:

public static void main(String[] args) {
String str1 = "abcdsg";//声明一个字符串
String str2 = "adc";
System.out.println("判断是否以字符串abc开头:"+str1.startsWith("abc"));
System.out.println("判断是否以字符串sg结尾:"+str1.endsWith("sg"));
System.out.println("判断是否包含字符串ds:"+str2.contains("ds"));
System.out.println("判断是否为空:"+str1.isEmpty());
System.out.println("判断两个字符串是否相等"+str1.equals(str2));
登录后复制

字符串的截取和分割
String类对字符串的截取与分割提供了两个方法, 其中, substring()方法用于截取字符串的一部分, split()方法可以将字符串按照某个字符进行分割。

package com.project.demo;

public class Test {
         public static void main(String[] args) {
            String string = "张三-李四-王五"; 
            //截取字符串
            System.out.println("从第4个字符截取到最后:"+string.substring(3));
            System.out.println("从第3个字符截取到第6:"+string.substring(2,6));
            // 字符串分割
            System.out.println("分割后的字符串数组元素依次是: ");
            String[] stringArray =string.split("-");//通过- 字符为标志,将其分割为字符串数组
            for(int i =0;i<stringArray.length;i++) {
                if(i != stringArray.length-1 ) {
                    System.out.println(stringArray[i]+",");
                    
                }else {
                    System.out.println(stringArray[i]);
                    System.out.println(string.length());
                }
                
            }
            
        }
}
登录后复制

去空格和替换操作:

package com.project.demo;
public class Test {
         public static void main(String[] args) {
             String string = "    hello     word   ";
             //字符串替换操作
             System.out.println("将word 替换成java :"+string.replace("word", "java"));
             //字符串去空操作
             System.out.println("去除字符串两端的空格:"+ string.trim());
             System.out.println("去除字符串中所有空格: "+string.replace(" ", ""));
             System.out.println("将小写转换为大写 : " + string.toUpperCase());
         }
}
登录后复制

有一点需要注意,String 在取某个字符的时候,会用到字符的索引(数组下标索引),当访问字符串中的字符的时候,如果字符的索引不存在,则会发生StringIndexOutOfBoundsException(字符串下标越界异常)

StringBuffer:

为了方便字符串的修改,JDK提供了一个StringBuffer类(也称字符缓冲区)StringBuffer类和String 类最大的区别就是他的长度和内容都是可变的, StringBuffer类似于一个字符串容器,当在其中添加或者删除字符时,并不会产生新的StringBuffer对象。

让我们来看看API 中StringBuffer的常用方法:

面试的时候我们常常会被问到 String,StringBuffer与StringBuilder的区别??

简要的说,String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。

如果是使用 StringBuffer 类 每次结果都会对 StringBuffer 对象本身进行操作,而不是生成新的对象,再改变对象引用。所以在一般情况下我们推荐使用 StringBuffer ,特别是字符串对象经常改变的情况下。而在某些特别情况下, String 对象的字符串拼接其实是被 JVM 解释成了 StringBuffer 对象的拼接,所以这些时候 String 对象的速度并不会比 StringBuffer 对象慢,而特别是以下的字符串对象生成中, String 效率是远要比 StringBuffer 快的:

 String S1 = “This is only a” + “ simple” + “ test”;
登录后复制

StringBuffer Sb = new StringBuilder(“This is only a”).append(“ simple”).append(“ test”); 你会很惊讶的发现,生成 String S1 对象的速度简直太快,而这个时候 StringBuffer 居然速度上根本一点都不占优势。其实这是 JVM 的一个把戏,在 JVM 眼里,这个 String S1 = “This is only a” + “ simple” + “test”; 其实就是: String S1 = “This is only a simple test”; 所以当然不需要太多的时间了。

但这里要注意的是,如果你的字符串是来自另外的 String 对象的话,速度就没那么快了,譬如:

String S2 = “This is only a”; String S3 = “ simple”;
String S4 = “ test”;
String S1 = S2 +S3 + S4;
登录后复制

这时候 JVM 会规规矩矩的按照原来的方式去做 在大部分情况下 StringBuffer > String StringBuffer Java.lang.StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。 可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。 StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。

例如,如果 z 引用一个当前内容是“start”的字符串缓冲区对象,则此方法调用 z.append("le") 会使字符串缓冲区包含“startle”,而 z.insert(4, "le") 将更改字符串缓冲区,使之包含“starlet”。

在大部分情况下 StringBuilder > StringBuffer java.lang.StringBuilde java.lang.StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。

基本数据类型包装类:

何为包装类?

java.lang包中有各种原生类相对应的类, 称作数值包装类。 这些类的名称, 大部分均以各原生类类型第一个字母换成大写的方式来命。简单的说就是将数据装换为对象,来应用更多的方法。

booleanBoolean
byteByte
shortShort
intInteger
longLong
charChracter
floatFloat
doubleDouble

包装类和基本数据类型在进行转换时,引入了装箱和拆箱的概念,其中装箱是指将基本数据类型的值转为引用数据类型, 反之, 拆箱是指将引用数据类型的对象转为基本数据类型。

举个栗子:

方式一: 通过new关键字
Integer in = new Integer(5);
方式二: 直接赋值
Integer in = 5;
登录后复制

构造函数可将原生数据类型数值或代表数值的字符串转换成一数值包装对象。

如: 在Double类中的构造函数
Double(double value)
Double(String s)
例:

Double tax=Double(8332349823.234);
登录后复制

 在数值包装类中所定义的方法, 最常用到的就是一些用来做字符串与数值间转换的方法。比如:

static float parseFloat(String s)
static Float valueof(String s)
static String toString(float f)
在使用包装类的时候我们需要注意一些问题.

1、 包装类都重写了Object类中的toString()方法,以字符串的形式返回被包装的基本数据类型的值;
2、 除了Character外, 包装类都有parseXXX(String s)的静态方法,将字符串转换为对应的基本类型的数据。 参数s不能为null, 而且同样必须是可以解析为相应基本类型的数据,否则虽然编译通过,但运行时会报错;
3、 除了Character外,包装类都有valueOf(String s)方法,可以根据String类型的参数创建包装类对象, 但参数字符串s不能为null,而且字符串必须是可以解析为相应基本类型的数据,否则虽然编译通过, 但运行时也会报错

以上是Java API的详细介绍(附例子)的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Java Spring 面试题 Java Spring 面试题 Aug 30, 2024 pm 04:29 PM

在本文中,我们保留了最常被问到的 Java Spring 面试问题及其详细答案。这样你就可以顺利通过面试。

突破或从Java 8流返回? 突破或从Java 8流返回? Feb 07, 2025 pm 12:09 PM

Java 8引入了Stream API,提供了一种强大且表达力丰富的处理数据集合的方式。然而,使用Stream时,一个常见问题是:如何从forEach操作中中断或返回? 传统循环允许提前中断或返回,但Stream的forEach方法并不直接支持这种方式。本文将解释原因,并探讨在Stream处理系统中实现提前终止的替代方法。 延伸阅读: Java Stream API改进 理解Stream forEach forEach方法是一个终端操作,它对Stream中的每个元素执行一个操作。它的设计意图是处

Java 中的时间戳至今 Java 中的时间戳至今 Aug 30, 2024 pm 04:28 PM

Java 中的时间戳到日期指南。这里我们还结合示例讨论了介绍以及如何在java中将时间戳转换为日期。

Java程序查找胶囊的体积 Java程序查找胶囊的体积 Feb 07, 2025 am 11:37 AM

胶囊是一种三维几何图形,由一个圆柱体和两端各一个半球体组成。胶囊的体积可以通过将圆柱体的体积和两端半球体的体积相加来计算。本教程将讨论如何使用不同的方法在Java中计算给定胶囊的体积。 胶囊体积公式 胶囊体积的公式如下: 胶囊体积 = 圆柱体体积 两个半球体体积 其中, r: 半球体的半径。 h: 圆柱体的高度(不包括半球体)。 例子 1 输入 半径 = 5 单位 高度 = 10 单位 输出 体积 = 1570.8 立方单位 解释 使用公式计算体积: 体积 = π × r2 × h (4

PHP与Python:了解差异 PHP与Python:了解差异 Apr 11, 2025 am 12:15 AM

PHP和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP:网络开发的关键语言 PHP:网络开发的关键语言 Apr 13, 2025 am 12:08 AM

PHP是一种广泛应用于服务器端的脚本语言,特别适合web开发。1.PHP可以嵌入HTML,处理HTTP请求和响应,支持多种数据库。2.PHP用于生成动态网页内容,处理表单数据,访问数据库等,具有强大的社区支持和开源资源。3.PHP是解释型语言,执行过程包括词法分析、语法分析、编译和执行。4.PHP可以与MySQL结合用于用户注册系统等高级应用。5.调试PHP时,可使用error_reporting()和var_dump()等函数。6.优化PHP代码可通过缓存机制、优化数据库查询和使用内置函数。7

创造未来:面向零基础的 Java 编程 创造未来:面向零基础的 Java 编程 Oct 13, 2024 pm 01:32 PM

Java是热门编程语言,适合初学者和经验丰富的开发者学习。本教程从基础概念出发,逐步深入讲解高级主题。安装Java开发工具包后,可通过创建简单的“Hello,World!”程序实践编程。理解代码后,使用命令提示符编译并运行程序,控制台上将输出“Hello,World!”。学习Java开启了编程之旅,随着掌握程度加深,可创建更复杂的应用程序。

如何在Spring Tool Suite中运行第一个春季启动应用程序? 如何在Spring Tool Suite中运行第一个春季启动应用程序? Feb 07, 2025 pm 12:11 PM

Spring Boot简化了可靠,可扩展和生产就绪的Java应用的创建,从而彻底改变了Java开发。 它的“惯例惯例”方法(春季生态系统固有的惯例),最小化手动设置

See all articles