这篇文章总结了Java中最基础的类以及常用的方法,主要有:Number,Character,String。

1、Number类

  在实际开发的过程中,常常会用到需要使用对象而不是内置的数据类型的情形。所以,java语言为每个内置数据类型都提供了对应的包装类。六种内置数据类型:byte, short, int, long, float, double分别对应Number抽象类的子类:Byte,Short,Integer,Long,Float,Double

  装箱:把基本类型用它们相应的引用类型包装起来,使其具有对象的性质。例:Integer a = 1;

  拆箱:将引用类型的对象简化成内置类型的数据。例:int b = a ;

(1).Number&Math类常用方法

1.XXValue():将Number对象转换为相应的类型
Double num = 1.5;
int intNum = num.intValue();
2.compareTO():同类型比较,小于参数返回-1,等于参数返回0,大于参数返回1
3.equals():返回boolen值
4.valueOf():返回一个Number对象指定的内置数据类型,参数可以是字符串,字符
Double dou = Double.valueOf('1') 返回49.0
Double dou = Double.valueOf(“1”) 返回1.0
5.toString():转换为字符串
6.parseXXX():将字符串解析为Number对象
Integer a = Integer.parseInt("123");
7.Math.random():返回一个0-1的随机数

2、Character常用方法

1.isLetter()
2.isDigit()
3.isWhitespace()
4.isUpperCase()
5.isLowerCase()
6.toUpperCase()
7.toLowerCase()
8.toString()
1-7方法参数为操作的Character实列对象,由Character类调用;方法7由实例对象调用。

3、String类

  String对象一旦创建就无法修改,如果对字符修改可以使用StringBuffer类或StringBuider类。StringBuilder类有速度优势,StringBuffer类是线程安全的。

(1)String常用方法

    1.charAt():返回指定索引处的字符串
2.compareTo():比较字符串,返回第一个不相等字符的ASCII差值,如果字符都相等,则返回字符串长度差值
3.copyValueOf(char[],offset,count):参数是一个数组,返回的是一个String对象,将数组中的元素考到一个String对象中;getChars()方法正好与之相反,将特定位置的字符串,变为数组。
String b = "aghvjhg";
char[] a = new char[12];
b.getChars(0,4,a,0);a = [a,g,h,v,(int)0,....]
String c = String.copyValueOf(a,0,3);c = "agh"
4.endsWith(),startWith():判断字符串是否以指定的字符串结尾或是开头
5.equals():判断字符串是否相等
6.getBytes():将字符串以指定字符集编码为byte序列,将结果存储到一个新的Byte数组中
7.getChars():将字符串复制到指定的数组中
8.indexOf():返回指定字符第一次出现的索引;lastIndexOf():从后向前查找
9.length()
10.matches():判断字符串是否匹配给定的正则表达式
11.reginMatches(int offset,String str,int offset,int len)判断指定区域的字符串是否相等
12.replace(),replaceAll(),replaceFirst()后两种方法参数可以是正则表达式
13.split():切分字符串
14.subString():返回子字符串
15.trim():忽略前导和尾部空白
16.toString()

(2)StringBuffer主要方法

    1.增
append():在目标字符串后追加字符串
insert():将字符串插入到指定的位置
2.删
delete():删除指定的字符串
3.改
replace():替换字符串
4.反转
reverse():反转字符串

(3)String,StringBuffer和StringBuilder的区别

  String:字符串常量,字符串长度不可变。在java底层中,String是char数组构成的,并且被声明为final类型。

  StringBuffer:字符串变量(Synchronized,即线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用 StringBuffer,如果想转成 String 类型,可以调用 StringBuffer 的 toString() 方法。Java.lang.StringBuffer 线程安全的可变字符序列。在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。可将字符串缓冲区安全地用于多个线程。

  StringBuilder:字符串变量(非线程安全)。在内部 StringBuilder 对象被当作是一个包含字符序列的变长数组。

  使用原则:
  1.如果操作少量的数据用String
  2.单线程操作大量数据用StringBuilder
  3.多线程操作大量数据用StringBuffer

java基础系列(一):Number,Character和String类及操作的更多相关文章

  1. Java基础系列2:深入理解String类

    Java基础系列2:深入理解String类 String是Java中最为常用的数据类型之一,也是面试中比较常被问到的基础知识点,本篇就聊聊Java中的String.主要包括如下的五个内容: Strin ...

  2. 夯实Java基础系列9:深入理解Class类和Object类

    目录 Java中Class类及用法 Class类原理 如何获得一个Class类对象 使用Class类的对象来生成目标类的实例 Object类 类构造器public Object(); register ...

  3. 2015年11月26日 Java基础系列(一)之String与StringBuffer与StringBuilder的区别

    序,StringBuffer是线程安全的,StringBuilder是线程不安全的,但是StringBuilder操作速度快,因此在使用时要根据场景合理选择. StringBuffer和StringB ...

  4. Java基础篇(02):特殊的String类,和相关扩展API

    本文源码:GitHub·点这里 || GitEE·点这里 一.String类简介 1.基础简介 字符串是一个特殊的数据类型,属于引用类型.String类在Java中使用关键字final修饰,所以这个类 ...

  5. Java工程师学习指南第1部分:夯实Java基础系列

    点击关注上方"Java技术江湖",设为"置顶或星标",第一时间送达技术干货. 本文整理了微信公众号[Java技术江湖]发表和转载过的Java优质文章,想看到更多 ...

  6. 夯实Java基础系列3:一文搞懂String常见面试题,从基础到实战,更有原理分析和源码解析!

    目录 目录 string基础 Java String 类 创建字符串 StringDemo.java 文件代码: String基本用法 创建String对象的常用方法 String中常用的方法,用法如 ...

  7. 夯实Java基础系列13:深入理解Java中的泛型

    目录 泛型概述 一个栗子 特性 泛型的使用方式 泛型类 泛型接口 泛型通配符 泛型方法 泛型方法的基本用法 类中的泛型方法 泛型方法与可变参数 静态方法与泛型 泛型方法总结 泛型上下边界 泛型常见面试 ...

  8. Java基础系列1:深入理解Java数据类型

    Java基础系列1:深入理解Java数据类型 当初学习计算机的时候,教科书中对程序的定义是:程序=数据结构+算法,Java基础系列第一篇就聊聊Java中的数据类型. 本篇聊Java数据类型主要包括四个 ...

  9. Java基础系列--static关键字

    原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/8477914.html 一.概述 static关键字是Java诸多关键字中较常使用的一个,从 ...

随机推荐

  1. sql server newid() 的用法

    sql newid()随机函数   从A表随机取2条记录,用SELECT TOP 10 * FROM ywle order by newid()order by 一般是根据某一字段排序,newid() ...

  2. Qt在pro中实现条件编译

    https://www.cnblogs.com/Braveliu/p/5107550.html https://blog.csdn.net/simonforfuture/article/details ...

  3. CF455C Civilization

    嘟嘟嘟 水题一道,某谷又恶意评分. 合并无非是将两棵树的直径的中点连一块,记原来两棵树的直径为\(d_1, d_2\),那么新的树的直径就是\(max(d_1, d_2, \lceil \frac{d ...

  4. 代码 | 自适应大邻域搜索系列之(6) - 判断接受准则SimulatedAnnealing的代码解析

    前言 前面三篇文章对大家来说应该很简单吧?不过轻松了这么久,今天再来看点刺激的.关于判断接受准则的代码.其实,判断接受准则有很多种,效果也因代码而异.今天介绍的是模拟退火的判断接受准则.那么,相关的原 ...

  5. 快速上手mpvue 项目

    初始化一个 mpvue 项目 $ node -v v8.9.0 $ npm -v 5.6.0 # 2. 由于众所周知的原因,可以考虑切换源为 taobao 源 $ npm set registry h ...

  6. PHP全栈学习笔记24

    PHP in_array() 函数 定义和用法 in_array() 函数搜索数组中是否存在指定的值. type 参数被设置为 TRUE,则搜索区分大小写. 语法 in_array(search,ar ...

  7. 数据结构实验之图论十一:AOE网上的关键路径【Bellman_Ford算法】

    Problem Description 一个无环的有向图称为无环图(Directed Acyclic Graph),简称DAG图.     AOE(Activity On Edge)网:顾名思义,用边 ...

  8. [PKUSC2018]真实排名——线段树+组合数

    题目链接: [PKUSC2018]真实排名 对于每个数$val$分两种情况讨论: 1.当$val$不翻倍时,那么可以翻倍的是权值比$\frac{val-1}{2}$小的和大于等于$val$的. 2.当 ...

  9. Tecplot如何提取三维图中某条线的数据【转载】

    转载自:http://blog.sina.com.cn/s/blog_9de422500102v9by.html 截取线所在的面Data.Extract .slice from Plane,显示如下窗 ...

  10. 【2018.07.29】(深度优先搜索/回溯)学习DFS算法小记

    参考网站:https://blog.csdn.net/ldx19980108/article/details/76324307 这个网站里有动态图给我们体现BFS和DFS的区别:https://www ...