1.包装类

byte---java.lang.Byte

char---java.lang.Character

short—java.lang.Short

int---java.lang.Integer

float—java.lang.Float

double-java.lang.Double

long—java.lang.Long

boolean—java.lang.Boolean

2.装箱和拆箱

JDK5.0提供的新特性

装箱:就是把基本数据类型可以直接赋给对应的包装类

拆箱:就是把包装类对象可以直接赋值给所对应的基本数据类型

3.String类

字符串定义:有多个字符组成的序列

特点:

String类是一个final的类,给字符串赋值不能更改。

原理:

字符串会存放在一个字符串池中,当第一次存放字符串时,字符串池会判断当前池中是否已经存在同样的字符串,如果存在直接指向已经存在的字符串内存地址,如果不存在则存放到字符串池中。

String采用的是Unicode国际统一编码,一个字符占两个字节。

在创建字符串对象时,无需通过new关键字,可以直接给String赋值。如

String str = "hello java";
String str=new String(“abc”);
//该句代码创建了两个对象,一个对象是构造方法中的字符串,另个一个则该字符串的副本。

3.字符串相关类

1) java.lang.String: 代表不可变的字符序列。特殊的引用数据类型。

a) String str = "abc";  //最常用

String str2 = new String("abc");

b) 字符串可以使用“+”来连接:String str3 = "abc" + "中国";

也可以用“+”跟其它类型数据进行连接:String str4 = "abc" + 12.345;

c) String类有一个方法length()可以获取它的长度。

String str5 = "salkdf";

str5.length();    // "salkdf".length();

d) 字符串的比较

① == : 比较两个字符串的内存地址。  //用得少

② boolean equals(Object object): 比较的是两个字符串的内容。最常用的方法。

③ boolean equalsIgnoreCase(): 忽略大小写比较两个字符串的内容。

④ int compareTo(String str2): 比较两个字符串的字典顺序。

如果相等,返回0

如果在参数字符串位置之前,返回负数。

如果在参数字符串位置之后,返回正数。

⑤ int compareToIgnoreCase(String str2): 忽略大小写比较两个字符串的字典顺序。

⑥ boolean startsWith(String str): 是否以参数字符串开头

⑦ boolean endsWith(String str): 是否以参数字符串结尾

e) 搜索字符串

① int indexOf(int ch): 搜索指定字符在本串中的索引(从0开始)

② int indexOf(String str): 搜索指定字符串在本串中的索引(从0开始)

③ int lastIndexOf(int ch)

④ int lastIndexOf(String str)

f) 提取子字符串

① char charAt(int index): 提取指定索引处的那个字符。

② String substring(int beginIndex):提取从指定索引处到结尾的子串。

③ String substring(int beginIndex, int endIndex):提取从 beginindex开始直到 endindex(不包括此位置)之间的这部分字符串

④ String concat(String str):跟“+”的功能一样。

⑤ String replace(char oldChar,char newChar):返回一个新的字符串,它是通过用newChar 替换此字符串中出现的所有oldChar而生成的。

⑥ String trim(); 去掉字符串的前后空格。

g) 转大小写

① String toUpperCase(); 转成大写

② String toLowerCase(); 转成小写

h) 其它类型转换成字符串:

static String valueOf(…)可以将基本类型数据、Object类型转换为字符串。

i) 与正则表达式相关的方法:

① String[] split(String regex); 根据给定正则表达式的匹配拆分此字符串

② String replaceAll(String regex, String replacement)使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串.

③ public boolean matches(String regex)告知此字符串是否匹配给定的正则表达式

4.StringBuffer特点:

1.StringBuffer是一个动态的字符串类,所谓动态即表示修改了字符串实际上修改的是字符串的本身,不会产生新的字符序列。

2.StringBuffer底层实际上是通过一个动态的字符数组实现的。

3.StringBuffer是一个线程安全的类。

4.StringBuilder是JDK5.0以后新增的一个和StringBuffer操作完全一致的类,只不过StringBuilder是一个线程不安全的类。从效率方面而言,StringBuilder效率最高其次StringBuffer,String效率最慢

5.静态导入要使用静态成员(方法和变量)我们必须给出提供这个方法的类。

在JDK5.0中,使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。

语法:

import static 包名.类名.*;

Java基础11一常用类的更多相关文章

  1. Java基础——6种常用类讲解

    本文主要介绍几种Java中常用类的应用. 一.System类 从API当中我们可以看出,public final class System exends Object.System类包含一些有用的字段 ...

  2. Java集合框架(常用类) JCF

    Java集合框架(常用类) JCF 为了实现某一目的或功能而预先设计好一系列封装好的具有继承关系或实现关系类的接口: 集合的由来: 特点:元素类型可以不同,集合长度可变,空间不固定: 管理集合类和接口 ...

  3. java基础(11) -JDBC

    java基础(11) -JDBC jdbc 1.装载驱动 载入跟数据库建立连接的驱动 /* sql server: String className ="com.microsoft.sqls ...

  4. Java基础-日期格式化DateFormat类简介

    Java基础-日期格式化DateFormat类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象 ...

  5. Java && Python 算法面试常用类以及方法总结

    数据结构 逻辑结构上: 包括集合,线性结构,非线性结构. 存储结构: 顺序存储,链式存储,索引存储,散列存储. Java 常见数据结构 大专栏  Java && Python 算法面试 ...

  6. JAVA基础语法:常用功能符以及循环结构和分支结构(转载)

    3.JAVA基础语法:常用功能符以及循环结构和分支结构 1.常用功能符 注释 ("文字"是被注释的部分) //文字 单行注释 /文字/ 多行注释 算术运算符 + - * / / 整 ...

  7. JAVA基础知识之IO——Java IO体系及常用类

    Java IO体系 个人觉得可以用"字节流操作类和字符流操作类组成了Java IO体系"来高度概括Java IO体系. 借用几张网络图片来说明(图片来自 http://blog.c ...

  8. 零基础学Java(11)自定义类

    前言   之前的例子中,我们已经编写了一些简单的类.但是,那些类都只包含一个简单的main方法.现在来学习如何编写复杂应用程序所需要的那种主力类.通常这些类没有main方法,却有自己的实例字段和实例方 ...

  9. Java基础语法(自定义类、ArrayList集合)

    Java基础语法 今日内容介绍 u 自定义类 u ArrayList集合 第1章 引用数据类型(类) 1.1 引用数据类型分类 提到引用数据类型(类),其实我们对它并不陌生,如使用过的Scanner类 ...

随机推荐

  1. encodeURI和encodeURIComponent的区别?

    encodeURI方法不会对下列字符编码 ASCII字母.数字.~!@#$&*()=:/,;?+' encodeURIComponent方法不会对下列字符编码 ASCII字母.数字.~!*() ...

  2. linux系统中给mysql配置环境变量

    安装过程就不写了,记得安装的路径就行,接下来要用到. 修改配置文件 vim /etc/profile 设置环境变量 写一个MYSQL_HOME,值为“mysql的安装路径” 在PATH后面加上$MYS ...

  3. 爬虫系列(十二) selenium的基本使用

    一.selenium 简介 随着网络技术的发展,目前大部分网站都采用动态加载技术,常见的有 JavaScript 动态渲染和 Ajax 动态加载 对于爬取这些网站,一般有两种思路: 分析 Ajax 请 ...

  4. 南洋理工大学 ACM 在线评测系统 矩形嵌套

    矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a& ...

  5. android中常见的内存泄漏和解决的方法

    android中的内存溢出预计大多数人在写代码的时候都出现过,事实上突然认为工作一年和工作三年的差别是什么呢.事实上干的工作或许都一样,产品汪看到的结果也都一样,那差别就是速度和质量了. 写在前面的一 ...

  6. Android之后台启动Activity

    在实际开发中.Activity须要启动但界面又不能显示出来,这时就须要后台启动.但又不是finish(),这时就要用到Activity中的moveTaskToBack函数,先看下官网 參数nonRoo ...

  7. TRIZ系列-创新原理-8-重量补偿原理

    重量补偿原理的表述例如以下: 1)将某一物体与还有一种提供上升力的物体组合,以补偿其重量:2)通过与环境(利用空气动力,流体动力或其他力等)的相互作用.实现对物体的重量补偿: 重力使得我们能够稳稳的依 ...

  8. poj1426--Find The Multiple(广搜,智商题)

    Find The Multiple Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 18527   Accepted: 749 ...

  9. 贪吃蛇c++实现

    近期没事翻了一下曾经写的程序.真是不堪入目.曾经真是什么都不懂.只是有一个程序倒是挺有意思的,大二的时候写的一个贪吃蛇游戏.尽管程序非常难看,还有非常多漏洞.但也是这个程序让我真正開始喜欢上了编程.不 ...

  10. ZOJ 1654 Place the Robots(最大匹配)

    Robert is a famous engineer. One day he was given a task by his boss. The background of the task was ...