1、字符串类:String类型时java中表示字符串的一种类型,是平时使用最多的类型。所有的输入输出都是针对字符串,类型的变化是程序内部的需要。以为String是用得最多的数据类型,所以java中有许多针对它的特殊设计。

1)语法上,它是唯一一个可以直接赋常量值得引用数据类型

String str = “hello”;

2)String常量的内存中有特殊处理:a. String常量是对象

               b.String常量在加载期即放入内存中(数据              

                  段的字符串常量池)

3)String对象内容不可变,对String对象做任何内容改变都是得到一个新的

     String对象

4)String提供了非常丰富的API

a.  String与字符数组相关的操作

String str = “hello”;

char[]array = str.toCharArray();把String转换为char[]

int length = str.length();得到字符串长度

char c = str.charAt(0);根据下标得到字符串的第几个字符

int postion = str.indexOf(“l”);根据下标得到字符在String中首次出

                        现的位置,没有就返回-1

postion = str.lastIndexOf(“l”);根据下标得到字符在String中最后出

                         现的位置,没有就返回-1

String subStr = str.substring(1,3);//根据位置截取字符串,前闭后开

                                 的区间,得到的是“hl”。

subStr = str.substring(2);重载方法,只给起始位置,一直截取到最后

b.  String与比较相关的操作

System.out.println("hello".equals(str));

System.out.println("hello".equalsIgnoreCase(str));忽略大小写比较相等

System.out.println(str.compareTo("helloworld"));//区分大小写//字符串是可以比较大小的,使用的是字典顺序。

System.out.println(str.compareToIgnoreCase("helloworld"));//不区分大小写

特点:结果是第一个字符串减第二个字符串的差值,得到正数说明第一个比第二个大,得负数说明第一个比第二个小

差值首先是返回第一个对不同的字符的ASCII之差,如果某个字符串比较完了,它的每个字符都和对象相同,则返回两个字符串的长度之差

只有当每个字符都一样,长度也一样才会返回0,

c.  与String内容相关的

String upStr = str.toUpperCase( );//把String转换为全大写

String dnStr = str.toLowerCase( );//把String转换为全小写

String newStr = str.replace('l','L');//替换字符串中的某个字符为另一个字符

newStr = “Helloworld”.replace("l","fuck");//替换字符串中个的某个字符为另一个字符串,将l换成fuck

newStr = “Helloworld”.replaceAll("l[od]","fuck");//根据正则表达式进行替换,将lo、ld换成fuck

String hi = “hello”.concat(“world”);//把一个String拼接到另一个的末尾

System.out.println(hi.contains("wo"));//查看一个String是否在另一个String当中

d.  3个特殊方法:

trim()---去掉字符串前后的空格,不会去掉中间的空格

String input = “   hel   lo    ”;

String newInput = input.trim();

结果为:“hel  lo”;

matches()---正则表达式比较

正则表达式(regex):用来规定一个字符串样式的模板,其本身也是字符串形式----1、[ ]:一个方括号表示一个字符,里面填上这个字符所允许的符号

 2、{ }:表示前面表达式重复的次数

{m,n}表示至少出现m次,最多n次

{m,}表示至少出现每次,最多不限次数

{m}表示只能出现m次

(表达式1|表达式2|表达式3);可选  “8320”([0-9]{4}|110|120|114)"

8320后面可接0-9,出现4次,或者110,或者120,或者114

split()---字符串拆分

如果以分隔符开头,会正常拆分;如果以分隔符结尾,则后面不会拆分

分隔符可以用正则表达式表示

String birthday = “-1992-6-8”;

String[ ] strArray = birthday.split(“-”);

String最大的问题就是内容不可变

String str1 = “hello”;

String str2 = “world”;

String str3 = new Scanner(System.in).nextLine()

当需要操作到大量的字符串拼接时,String就会对性能产生影响

由此提出StringBuilder:也是JDK中提供的字符串类型,专门用来解决内容不可变的问题

它与String没有任何继承关系

StringBuilder当我们做大量的String拼接时,会出现性能的消耗(内容可变的) ,此时选用StringBuilder或StringBuffer的append 或insert方法解决String的拼接问题

StringBuilder sb = new StringBuilder();

StringBuilder sb2 = sb

sb.append("world");//在尾部进行拼接

sb.insert(5," ");//在中间进行拼接

结果为:sb = sb2 = hello world

StringBuffer跟StringBuilder一样,内容可变,用来解决String拼接的问题

两个提供的API都是一模一样的

StringBuilder是线程不安全的;

StringBuffer是线程安全的;

(1、凡是线程安全的,由于执行了同步动作,导致效率低,线程不安全的没有执行同步操作,所以效率相对高;2、线程安全性问题只会在多线程的特殊情况下才会出现(不是说多线程一定会出现),所以没有安全问题的多线程情况或单线程情况优先使用StringBuilder)

2、包装类

每一个基本数据类型都有一个包装类与之对应,提供大量的属性和行为,

基本<————>包装类对象<————>String  (三种相互转换)

3、时间日期类

4、Propertise

5、System类  

System.in   代表当前系统提供的标准输入流---往往特指控制台输入

用法:new Scanner(System.in)

System.out 代表当前系统提供的标准输出流---往往特指控制台输出

System.err  代表当前系统提供的错误流---也是指代控制台输出,红色字符

表示错误

System.err.println(”发生了一个错误“)

System类的常用方法:

System.gc();----召唤垃圾回收:不是操控,只能召唤

System.arraycopy();----完成数组拷贝

System.exit(0);----完成虚拟机的关闭(参数表示结束时的状态码,按惯

例非0表示异常结束)

//返回当前毫秒数

System.currentTimeMillis();---返回当前计算的时间,类型为long

long now = System.currentTimeMillis();

System.out.println(now);

当前时间原点:1970/1/1    00.00.00.000

//获取系统属性

String javaHome = System.getProperty("java.home");

System.out.println(javaHome);

Runtime类:

转载于:https://www.cnblogs.com/wuhao-bky/p/6422121.html

JavaOO 常用类相关推荐

  1. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)...

     本文来自:曹胜欢博客专栏.转载请注明出处:http://blog.csdn.net/csh624366188 写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天, ...

  2. java实验系统常用类,Java的常用系统类

    Java的常用系统类Tag内容描述: 1.Java语言与JBuilder应用初步 第六章 常用的Java系统类,本章要点,字符串类 数值(Number)类及其子类 数组类 集合类 Object类,字符 ...

  3. 这些Java常用类,你必须要学会,还不快快收藏?(近两万字详细介绍)

    零基础学习之Java常用类 概述 包装类 和数学相关的类 String类 创建字符串对象 使用构造方法 使用静态方法 使用" " + 拼接 字符串对象的比较 字符串的常用方法 可变 ...

  4. 转:MFC中常用类,宏,函数介绍

    常用类 CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right.分别表是左上角和右下角的坐标.可以通过以下的方法构造: CRect( int l, int t, i ...

  5. Hbase API中常用类介绍和使用

    网上Hbase的介绍有很多,案例也不少.自己写了个Demo,进行一些简单的总结. HBase 常用类介绍. JAVA API 和 HBase数据库模型之间的关系 JAVA 类 Hbase 数据模型 H ...

  6. java 向上取整_java 中的异常处理和常用类使用

    一.异常: 1.异常的简单介绍: Throwable类 / Error Exception | | Unchecked Checked Runtime Exception Exception Exce ...

  7. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)

    写在前面:由于前天项目老师建设局的项目快到验收阶段,所以,前天晚上通宵,昨天睡了大半天,下午我们宿舍聚会,所以时间有点耽误,希望大家见谅 上接: Java程序员从笨鸟到菜鸟之(四)java开发常用类( ...

  8. Java常用类之要点总结

    Java常用类之要点总结

  9. Java常用类之String类、Stringbuffer和Random类练习

    定义一个StringBuffer类对象, 1)使用append方法向对象中添加26个字母,并倒序遍历输入 2)删除前五个字符 package 第十一章常用类; /*** 定义一个StringBuffe ...

  10. Selenium2(WebDriver)总结(五)---元素操作进阶(常用类)

    Selenium2(WebDriver)总结(五)---元素操作进阶(常用类) 1.Alert类 Alert是指windows弹窗的一些操作,需要new一个Alert类 driver.switchTo ...

最新文章

  1. java 静态代码块 多线程,Java多线程编程笔记10:单例模式
  2. python使用fpdf生成pdf章节(chapter)文件包含:页眉、页脚、章节主体、章节内容等;
  3. 【项目管理】接手一支技术团队,你会做些哪些事?
  4. fcc认证_介绍fCC 100:我们对2019年杰出贡献者的年度总结
  5. JEECG_3.7.2新版本入门讲解—UI标签库专题
  6. 有哪些开源的 Python 模块让你相见恨晚?
  7. Python中的解决中文字符编码的问题
  8. Bailian2690 首字母大写【字符串】
  9. 用python做计算器
  10. 智能科学技术导论周昌乐答案_智能科学技术导论
  11. Linux下redis基本操作
  12. Regionals 2014 Asia - Daejeon
  13. 电力电子技术第二章总结
  14. SKU与SPU的区别
  15. Android Hawk数据库的源码解析,Github开源项目,基于SharedPreferences的的存储框架
  16. 免费PPT模板网站,模板精品好用,直接下载
  17. 2021年终总结 万千热爱 初心未改 行至天光
  18. 浅谈node结合express第三方插件使用跨域
  19. Ubuntu 16.04 下安装网易云
  20. linux shell的for循环语法是怎样的?

热门文章

  1. *C#(WPF)--矩阵拖动和矩阵动画(拖动展开,不足动画效果)
  2. 关于mysql自带的计划任务和系统计划任务的建议
  3. 配置IP、网络问题排查
  4. iOS NSURLSession VS NSURLConnection
  5. prototype.js之$A(iterable)
  6. catalina.home catalina.base 定义 位子 位置
  7. 熊猫烧香系列变种分析报告
  8. 把服务器sql数据库导出excel文件,从sql中导出到excel表格数据-如何把SQLServer表数据导出为Excel文件...
  9. ERROR 1820: You must reset your password using ALTER USER statement before executing this statement
  10. [渝粤教育] 龙岩学院 Web信息系统应用开发 参考 资料