String类

String类的初始化

String是一个特殊的对象,一旦被初始化,就不会被改变

1、使用字符串常量直接初始化一个String对象
String  s1="abc";
//s1是一个类类型变量,“abc”是一个对象。
2、使用String的构造方法初始化字符串对象

String  s2=new String("abc");

s1和s2的区别:
s1在字符串常量池中创建了一个abc字符串

s2在堆中创建了两个对象一个是默认对象一个是字符串对象

==和equals的区别:
==比较的是地址equals比较的是内容

String类的常见操作

获取

获取字符串长度
int length();
根据位置获取字符
char charAt(int index);

根据字符获取在字符中的位置
int indexof(int ch) 返回的是ch在字符串中第一个出现的位置
int indexof(int ch,int FromIndex) 从fromIndex指定位置开始,获取ch在字符串中出现的位置
int indexof(String str); 返回的是str在字符串中第一个出现的位置

int indexof(String str,int FromIndex) 从fromIndex指定位置开始,获取str在字符串中出现的位置

反向索引一个字符出现的位置。
int lastindexof(int ch) 
int lastindexof(int ch,int FromIndex) 从fromIndex
int lastindexof(String str); 
int lastindexof(String str,int FromIndex)

获取字符串中的一部分字符串,也叫子串。  
String subString(int beginindex,int endindex);
String subString(int beginindex);

判断

两个字符串是否相同
equals(Object obj)

equalsIgnoreCase(String str)

字符串中是否包含某个字符串contains(String str)

两个字符串是否以指定字符串开头或结尾
boolean Startswith(String);
boolean endswith(String);
字符串是否为空    boolean isEmpty();

字符串转换

将字符串变成字符串数组String[] split(String regex);
将字符串变成字符数组char[] toCharArray();

将字符串变成字节数组byte[] getBytes();

将字符串数组变成字符串
        构造函数 String(char[])
              String(char[],offset,count)   将字符数组中的一部分转成字符串。
        静态函数 static String copyValueof(char[])

static String copyValueof(char[],offset,count)   将字符数组中的一部分转成字符串。

将字符串的字母大小写转换
String toUppercase();大写

String toUppercase();小写

将字符串的内容替换
String repalce(char oldch,char newch);

String repalce(String s1,String s2);

将字符串两端空格去掉    String trim();
将字符串进行连接    String concat(String);

比较

compareTo();    小返回负数 等返回0 大返回正数

StringBuffer类

是个字符串缓冲区对象,用于存储数据的容器
StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象

特点

1.长度是可变的
2.可以存储不同类型数据
3.最终要转换成字符串使用
4.可以对字符串进行修改

功能

1.添加
    append(data)  将指定数据添加到已有数据的结尾处
    insert(位置,字符串)   将数据插入到指定位置
2.删除
    delete(start,end);
   删除缓冲区中的数据,包含start不包含end
    deleteCharAt(ine index);    删除指定位置元素
    StringBuffer.delete(0,sb.length());
3.查找
    char charAt(index);
    int indexof(string);
    int lastindexof(String);
4.修改 
    StringBuffer  replace(start,end.String)
    void  setCharAt(index,char)
    setlength()    设置长度
5.反转
    StringBuffer reverse();
6.将缓冲区中的指定数据存储到字符数组中
    void getChars(int srcBegin,int srcEnd,char[] dst,int dstbegin)
    StringBuilder    线程不同步的,StringBuffer是同步的。建议使用StringBuilder效率快。

String类和StringBuffer类的区别

1、String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。StringBuffer表示字符容器,其内容和长度都可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可,但是如果需要对字符串中的字符进行增删操作,则使用StringBuffer类
2、String类覆盖了Object类的equals()方法,而StringBuffer类没有覆盖Object类的equals()方法
3、String类对象可以用操作符“+”进行连接,而StringBuffer类对象之间不能

System类

是hashtable 的子类。用map的方法去除该类集合中的元素。该集合中存储的都是字符串,没有泛型定义
String calue=(String)prop.get(obj);
System.out.println(obj+":"+value);

在系统中自定义一些特有信息

System.setProperty("mykey","myvalue");

System类定义了一些与系统相关的属性和方法,它所提供的属性和方法都是静态的,因此,想要引用这些属性和方法,直接使用System类调用即可。

preperties();获取当前系统的全部信息,会返回一个Properties对象,以键值对存在
Properties prop =new System.getProperties();

currentTimeMillis();当前时间,该方法返回一个long类型的值,该值表示当前时间与1970年1月1日0点0分0秒之间的时间差,单位是毫秒,习惯性地被称作时间戳

arraycopy(Object src,int srcPos,Object dest,int destPos,int length)
arraycopy()方法用于将一个数组中的元素快速拷贝到另一个数组。其中的参数具体作用如下:
src:表示源数组
dest:表示目标数组
srcPos:表示源数组中拷贝元素的起始位置
destPos:表示拷贝到目标数组的起始位置
length:表示拷贝元素的个数
需要注意的是,在进行数组复制时,目标数组必须有足够的空间来存放拷贝的元素,否则会发生角标越界异常

Runtime类

static Runtime getRuntime();
process p= r.exec("*.exe")      //执行文件
p.destory();        //杀掉进程。

使用了单例设计模式

Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,对象不可以直接实例化。若想在程序中获得一个Runtime实例,只能通过以下方式:
Runtime run = Runtime.getRuntime();
由于Runtime类封装了虚拟机进程,因此,在程序中通常会通过该类的实例对象来获取当前虚拟机的相关信息。

Math类

Math类是数学操作类,提供了一系列用于数学运算的静态方法,包括求绝对值、三角函数等。Math类中有两个静态常量PI和E,分别代表数学常量π和e。

ceil();                 返回大于参数的最小整数
floor();               返回小于参数的最大整数
round();           返回四舍五入
pow(a,b);       a的b次方
random();
      大于等于0.0且小于1.0的伪随机double值

Random类

它可以在指定的取值范围内随机产生数字
Random类提供了更多的方法来生成各种伪随机数,不仅可以生成整数类型的随机数,还可以生成浮点类型的随机数

包装类

基本数据类型     引用数据类型
   byte                  Byte
   short                 Short
   int                     Integer
   long                  long
   float                  Float
   char                  Character
   boolean            Boolean
   double              Double

用于基本数据类型和字符串类型之间的转换
包装类和基本数据类型在进行转换时,引入了装箱和拆箱的概念,其中装箱是指将基本数据类型的值转为引用数据类型,反之,拆箱是指将引用数据类型的对象转为基本数据类型
基本数据类型转换成字符串 
基本数据类型+""
基本数据类型.toString(基本数据类型值)
字符串转换成基本数据类型
***.Parse***(***类型字符串);

进制转换

十进制--其他进制
toBinaryString();二进制
toOctolString();八进制
tohexString();十六进制

其他进制--十进制
parseInt(string,进制);

注意

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

Data类

获取当前时间    Date date=new Date();
将模式封装到    SimpleDateformat对象中 自定义风格
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日  hh:mm:ss");
调用format方法让模式格式化指定Date对象
String time=sdt.format(d);

Calendar类

Calendar类是一个抽象类,不可以被实例化,在程序中需要调用其静态方法getInstance()来得到一个Calendar对象,然后调用其相应的方法
        Calendar c = Calendar.getInstance();
        c.get(Calendar.Year);            //获取年
        c.get(Calendar.Month);        //获取月
        c.get(Calendar.DayofMonth);    //获取日
        c.get(Calendar.DayofWeek);     //获取星期

更改日期    c.add(Calendar.字段,12)

获取任意年的二月
        c.set(year,2,1)
//获取默认一年的三月1日
        c.add(Calendar.Day_of_Month,-1)

DateFormat类

DateFormat类专门用于将日期格式化为字符串或者将用特定格式显示的日期字符串转换成一个Date对象。
DateFormat是抽象类,不能被直接实例化,但它提供了静态方法,通过这些方法可以获取DateFormat类的实例对象,并调用其它相应的方法进行操作

DateFormat中还提供了一个parse(String source)方法,能够将一个字符串解析成Date对象,但是它要求字符串必须符合日期/时间的格式要求,否则会抛出异常。

SimpleDateFormat类

该类是DateFormat类的子类。SimpleDateFormat类可以使用new关键字创建实例对象,它的构造方法接收一个格式字符串参数,表示日期格式模板

Java精选笔记_Java API的更多相关文章

  1. Java精选笔记_Java编程基础

    Java的基本语法 Java代码的基本格式 修饰符 class 类名 {   程序代码 } 一个Java源文件只定义一个类,不同的类使用不同的源文件定义:将每个源文件中单独定义的类都定义成public ...

  2. Java精选笔记_Java入门

    Java概述 什么是Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言 JavaSE标准版 是为开发普通桌面和商务应用程序提供的解决方案 JavaEE企业版 是为开发企业级应用程序提供的解 ...

  3. Java学习笔记之---API的应用

    Java学习笔记之---API的应用 (一)Object类 java.lang.Object 类 Object 是类层次结构的根类.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个 ...

  4. Java学习笔记--反射API

    反射API 1.反射API的介绍 通过反射API可以获取Java程序在运行时刻的内部结构.比如Java类中包含的构造方法.域和方法等元素,并可以与这些元素进行交换.     按照 一般地面向对象的设计 ...

  5. Java精选笔记_国际化

    国际化 什么是国际化 指软件在开发时就应该具备支持多种语言和地区的功能,当应对不同国家和地区的用户访问,针对不同国家和地区的用户,提供相应的.符合来访者阅读习惯的页面和数据. 由于国际化interna ...

  6. Java精选笔记_自定义标签

    自定义标签 自定义标签入门 什么是自定义标签 自定义标签可以有效地将HTML代码与Java代码分离,从而使不懂Java编程的HTML设计人员也可以编写出功能强大的JSP页面 JSP规范中定义了多个用于 ...

  7. Java精选笔记_JSTL(JSP标准标签库)

    JSTL(JSP标准标签库) JSTL入门 JavaServer Pages Standard Tag Library:JSP标准标签库 在JSP中可以通过Java代码来获取信息,但是过多的Java代 ...

  8. Java精选笔记_文件上传与下载

    文件上传与下载 如何实现文件上传 在Web应用中,由于大多数文件的上传都是通过表单的形式提交给服务器的,因此,要想在程序中实现文件上传的功能,首先得创建一个用于提交上传文件的表单页面. 为了使Serv ...

  9. Java精选笔记_Servlet事件监听器

    Servlet事件监听器 概述 在程序开发中,经常需要对某些事件进行监听,如监听鼠标点击事件.监听键盘按下事件等,此时就需要使用事件监听器. 事件监听器用于对程序中发生的事件进行监听,在监听的过程中会 ...

随机推荐

  1. How to add elements to a List in Scala

    Scala List FAQ: How do I add elements to a Scala List? This is actually a trick question, because yo ...

  2. config对象

    在js中经常定义一个config对象来保存当前对象里面的一些临时变量:定义这个变量可以被对象中所有的属性访问到,可以避免重复,减少内存占用,统一管理: 如: <script> functi ...

  3. 国际化的工具类ognl utils

    package yycg.util; import java.io.Serializable;import java.text.MessageFormat;import java.util.Array ...

  4. android studio 报Error:failed to find Build Tools revision 23.0.0 rc2

    每个项目的build.gradle里可以设置,例如 android { .... buildToolsVersion '23.0.0 rc2' .... } 1 2 3 4 5 如下图,我的Andro ...

  5. BAT-给文件右击菜单增加7-ZIP浏览功能

    Reg给文件右击菜单增加7-ZIP浏览功能 Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\用7-ZIP浏览(ZJQ)] ...

  6. JAVA培训资料

    JAVA培训资料 一.Java语言 1.面向对象的三个基本特征 2.方法重载和方法重写的概念和区别 3.接口和内部类.抽象类的特性 4.文件读写的基本类 **5.串行化的注意事项以及如何实现串行化 6 ...

  7. win8 X64 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

    操作系统是Windows 8 64位,安装了Microsoft Office 2013,从SQL Server 2008中导入Excel文件时出现提示: 未在本地计算机上注册“Microsoft.AC ...

  8. android开发中用到的px、dp、sp

    先介绍一下这几个单位: px : pixels(像素),相应屏幕上的实际像素点. dip :device independent pixels,与密度无关的像素,基于屏幕密度的抽象单位. 在每英寸16 ...

  9. java TreeMap 源代码分析 平衡二叉树

    TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点. TreeSet 和 TreeMap 的关系 为了让大家了解 TreeMap 和 Tre ...

  10. [转]RabbitMQ,ActiveMQ,ZeroMQ,Kafka之间的比较与资料汇总

    MQ框架非常之多,比较流行的有RabbitMq.ActiveMq.ZeroMq.kafka.这几种MQ到底应该选择哪个?要根据自己项目的业务场景和需求.下面我列出这些MQ之间的对比数据和资料. 第一部 ...