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. 【maven】成功生成jar包,提示找不到主类?

    问题描述:   使用maven构建zookeeper项目,完成一个简单的创建组的实例,代码调试完成,使用mvn clean install成功打包得到了jar包,但是在执行时发现使用java -cp ...

  2. 接口测试与Postman

    阅读目录 1.接口测试简介 1.1 什么是接口测试  1.2 接口测试的必要性 1.3 接口测试流程 1.4 接口文档 1.5 接口测试用例设计 1.6 接口测试用例模板 2.Postman 2.1 ...

  3. __int128的实现

    #include<bitset> #include<algorithm> #include<iostream> #include<string> #in ...

  4. Leetcode 动态规划 - 简单

    1. 最大子序和 (53) 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和. 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输 ...

  5. 磁盘及文件系统管理(以及btrfs)

    Linux系统管理 磁盘分区及文件系统管理 raid lvm 网络属性管理 程序包管理 sed及awk 进程查看和管理 内核管理(内核的编译和安装) 系统启动流程 定制,编译内核,busybox 系统 ...

  6. 输入输出流String间的转换

    来自:http://wuhongyu.iteye.com/blog/806791 1.String  to  inputStream InputStream is = new ByteArrayInp ...

  7. Spring Cloud Stream(十三)

    说明 对Spring Boot 和 Spring Integration的整合,通过Spring Cloud Stream能够简化消息中间件使用的复杂难度!让业务人员更多的精力能够花在业务层面 简单例 ...

  8. 0123简单配置LNMP

    简单配置LNMP不怕出现错误,就怕错误不知道出现在哪里?看日值tail -f /var/log/message -- 系统整个的日志tail -f /var/log/nginx/error.log - ...

  9. [bzoj2466][中山市选2009]树_树形dp

    树  bzoj-2466 中山市选-2009 题目大意:给定一棵树,每一个点有一个按钮和一个灯泡.如果按下一个点的按钮那么和这个点直接相连的点包括这个点的灯泡的状态会改变.如果是点亮就会变成熄灭,如果 ...

  10. 关于使用JetbrainsCrack破解idea

    转载自:https://blog.csdn.net/android_ztz/article/details/73762603 一.前言 IDEA在业界被公认为JAVA最优秀的开发工具,但是它不像ecl ...