热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发笔记:Java基础之常用类

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java基础之常用类相关的知识,希望对你有一定的参考价值。一、

篇首语:本文由编程笔记#小编为大家整理,主要介绍了Java基础之常用类相关的知识,希望对你有一定的参考价值。




一、String

1.多个字符组成的一串数据,它可以和字符数组进行相互转换

2.构造方法:
  public String ( )  空构造
  public String (byte[ ] bytes)  把字节数组转成字符串
  public String (byte[ ] bytes,int offset,int length) 把字节数组的一部分转成字符串
  public String (char[ ] value)
把字符数组转成字符串
  public String (char[ ] value,int offset,int count) 把字符数组的一部分转成字符串
  public String (String original) 把字符串常量值转成字符串

3.方法:
    判断功能
    boolean equals(Object obj) 比较字符串的内容是否相同,区分大小写
      例 s1.equals(s2) s1和s2比较
    boolean equalsIgnoreCase(String str) 比较字符串内容是否相同,忽略大小写
      例 s1.equals(s2) s1和s2比较,注意区分大小写
    boolean contains(String str) 判断大字符串中是否包含小字符串
      例 s1.contains("hello") 判断s1中有没有hello这个字符串
    boolean startsWith(String str) 判断字符串是否以某个指定的字符串开头
      例 s1.startWith("h")  判断s1中是否以h开头
    boolean endsWith(String str) 判断字符串是否以某个指定的字符串结尾
      例 s1.endWith("s")  判断s1中是否以s结尾
    boolean isEmpty() 判断字符串是否为空
      例 s1.isEmpty() 判断s1是否为空字符串

  获取功能
    int length() 获取字符串的长度
           例 s.length()
    char charAt(int index) 获取指定位置索引的字符
      例 s.charAt(7) 获取第七个位置的字符(从0开始)
    int indexOf(int ch) 返回指定字符在此字符串中第一次出现的索引
      例 s.indexOf("c") 获取 c 第一次出现的位置
    int indexOf(String str) 返回指定字符串在此字符串中第一次出现的索引
      例 s.indexOf("cake") 获取 cake 第一次出现的位置
    int indexOf(int ch,int fromIndex) 返回指定字符在此字符串中从指定位置后第一次出现处的索引
      例 s.indexOf("c",4) 从第4个索引后获取 c 的索引
    int indexOf(String str,int fromIndex) 返回指定字符串在此字符串中从指定位置后第一次出现处的索引
      例 s.indexOf("cake",4) 从第4个索引后获取 cake 的索引
    String substring(int start) 从指定位置截取字符串,默认到结尾
      例 s.substring(5) 从第5个位置截取字符串
    String substring(int start,int end) 从指定位置开始到结束截取字符串
      例 s.substring(5,8) 从第5个位置截取字符串到第8个结束,不包括第8个字符。(包左不包右)

  转换功能
    byte[ ] getBytes( ) 把字符串转换为字节数组。
      例 byte[ ] bys = s.getBytes( );
    char[ ] toCharArray( ) 把字符串转换为字符数组
      例 char[ ] cha = s.toCharArray();
    static String valueOf(char[ ] chs) 把字符数组转成字符串。
      例 String ss = String.valueOf(cha);
    static String valueOf(int i) 把int类型的数据转成字符串
      例 int y=100;
         String s2= String.valueOf(y);
      String toLowerCase( ) 把字符串转成小写
      例 String s1=s.toLowerCase
    String toUpperCase() 把字符串转成大写
      例 String s1=s.toUpperCase
    String concat(String str) 把字符串拼接
      例 s1.concat(s2) 把s1和s2拼接
  其他功能
      String replace(char old, char new) 替换字符串中的某一个字符
       例 s1.replace("p","u")  把s1中的所有p字符替换成u字符
      String replace(String old, String new) 替换字符串中的字符串
          例 s1.replace("hello","feiji") 把s1中的hello替换成feiji
      String trim() 去除字符串两端空格
         例 s1.trim(); 
      int compareTo(String str) 按字典顺序比较两 个字符串
         例 s1.compareTo(s2);
         把s1和s2比较,一样返回0。
      int compateToIgnoreCase(String str) 按字典顺序比较两个字符串,区分大小写
      例 同上


二、StringBuffer(是同步的,数据安全,效率低)/StringBuilder(单线程使用,不同步,效率高)

1.线程安全的可变字符串。


2.构造方法
  public StringBuffer() 无参构造方法。
  public StringBuffer(int capacity) 指定容量的字符串缓冲区对象。
  public StringBuffer(String str) 指定字符串内容的字符串缓冲区对象。


3.方法
       A:添加功能
    public StringBuffer append(String str)  添加任意类型到字符串杯子中
    public StringBuffer insert(int offset,String str) 在指定位置插入任意类型的数据到杯子中
      B: 删除功能 
    public StringBuffer deleteCharAt(int index) 删除指定位置的一个字符
    public StringBuffer delete(int start,int end) 删除指定区间的所有字符(包左不包右)
     C: 替换功能
    public StringBuffer replace(int start,int end,String str) 替换指定区间的字符串(包左不包右)
     D: 反转功能
     public StringBuffer reverse()  反转字符串,例 abc--cba
     E: 截取功能(注意返回值是String类型的)
    public String substring(int start) 截掉字符串(截掉输入参数之前的所有字符串) 
    public String substring(int start,int end) 截掉区间的字符串(包左不包右)
    public int capacity() 返回当前容量。
    public int length()  返回长度(字符数)。


三、对比StringStringBuffer拼接字符串的效率

package text;
public class Text {
public static void main(String[] args) {
String s
= "";
long start_s = System.currentTimeMillis();
for(int i = 0;i <10000;i++){
s
+= "aaaa";
}
long end_s = System.currentTimeMillis();
System.out.println(
"String拼接N次用的时间" + (end_s - start_s) + "ms" );

StringBuffer ss
= new StringBuffer();
long start_ss = System.currentTimeMillis();
for(int i = 0;i <10000;i++){
ss.append(
"aaaa");
}
long end_ss = System.currentTimeMillis();
System.out.println(
"StringBuffer拼接N次用的时间" + (end_ss - start_ss) + "ms" );
}
}


四、Math

1.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。
2.成员方法
  public static int abs(int a)  返回 int 值的绝对值。
  public static double ceil(double a)  向上取整
  public static double floor(double a) 向下取整
  public static int max(int a,int b)   比较两个数的最大值
  public static double pow(double a,double b)  a的b次幂
  public static double random()  随机数
  public static int round(float a) 四舍五入
  public static double sqrt(double a)  正平方根

例子:因为都为静态的,所以直接Math.方法用即可


package text;
public class Text {
public static void main(String[] args) {
System.out.println(Math.E);
//输出值为:2.718281828459045
System.out.println(Math.PI); //输出值为:3.141592653589793
System.out.println(Math.abs(-123));//输出值为:123,绝对值
}
}


五、Random

1.此类用于产生随机数
2.构造方法
  public Random()  没有给种子,用的是默认种子,是当前时间的毫秒值。
    例 Random r = new Random();
  public Random(long seed)  给出指定的种子,给出种子后每次得到的随机数是相同的
    例 Random r = new Random(1201);
3.成员方法
  public int nextInt() 返回的是int范围内的随机数
    例 r.nextInt()  返回一个int范围内的随机数
  public int nextInt(int n) 返回的是【0,n】范围内的随机数
    例 r.nextInt(10) 返回0到10以内的随机数

例子1:


package text;
import java.util.Random;
public class Text {
public static void main(String[] args) {
Random r
= new Random();
int a = r.nextInt(10);
System.out.println(a);
//返回值为0~10内的随机一个数
}
}

例子2:


package text;
import java.util.Random;
public class Text {
public static void main(String[] args) {
for(int i=0;i<10;i++){ //for循环,循环10次,每次输出一个0~10的随机数
Random r = new Random();
int a = r.nextInt(10);
System.out.println(a);
}
}
}


六、Date

1.Date 表示特定的瞬间,精确到毫秒
2.构造方法
  public Date() 根据当前的毫秒值创建日期对象
  public Date(long date) 根据给定的毫秒值创建日期对象
3.成员方法
  public long getTime()  获取当前时间
  public void setTime(long time)  设置时间


七、DateFormat

1.DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。
  是抽象类,所以使用其子类SimpleDateFormat
2.SimpleDateFormat(可以把日期转换成String类型)
3.构造方法
  public SimpleDateFormat() 默认模式
  public SimpleDateFormat(String pattern)
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss")
4.成员方法
  public final String format(Date date) 把日期格式转换成String类型
  public Date parse(String source)  把给定的字符串解析成日期格式

例子:


package text;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatUtil {
public static String dateToString(Date date){ //见名知意,日期转字符串
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
return sdf.format(date);
}

public static Date stringToDate(String str){ //见名知意,字符串转日期
Date d = null;
SimpleDateFormat sdf
= new SimpleDateFormat("yyyy-MM-dd");
try {
d
= sdf.parse(str);
}
catch (ParseException e) {
e.printStackTrace();
}
return d;
}
}


package text;
import java.util.Date;
public class Text {
public static void main(String[] args) {

Date d
= new Date();
System.out.println(DateFormatUtil.dateToString(d));
//输出值为:2017年07月23日 14:55:23

String ss
= "2015-07-23";
System.out.println(DateFormatUtil.stringToDate(ss));
//输出值为:Thu Jul 23 00:00:00 CST 2015
}
}


八、Calendar

1.Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日历字段之间的转  换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。
2.成员方法
  public static Calendar getInstance()  获取当前时间
  Calendar c = Calendar.getInstance;
  public int get(int field) 返回给定日历字段的值。
  public void add(int field,int amount)  根据给定的日历字段和对应的时间,来对当前的日历进行操作
  public final void set(int year,int month,int date) 设定当前的日历时间



推荐阅读
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 深入解析 C++ 中的 String 和 Vector
    本文详细介绍了 C++ 编程语言中 String 和 Vector 的使用方法及特性,旨在帮助开发者更好地理解和应用这两个重要的容器。 ... [详细]
  • 将XML数据迁移至Oracle Autonomous Data Warehouse (ADW)
    随着Oracle ADW的推出,数据迁移至ADW成为业界关注的焦点。特别是XML和JSON这类结构化数据的迁移需求日益增长。本文将通过一个实际案例,探讨如何高效地将XML数据迁移至ADW。 ... [详细]
  • 本文探讨为何Request对象的外观设计被认为是精妙的,重点在于其如何利用门面模式确保数据安全,同时保持系统的高效交互。 ... [详细]
  • 本文详细介绍了 Node.js 中 OS 模块的 arch 方法,包括其功能、语法、参数以及返回值,并提供了具体的使用示例。 ... [详细]
  • 本文基于Java官方文档进行了适当修改,旨在介绍如何实现一个能够同时处理多个客户端请求的服务端程序。在前文中,我们探讨了单客户端访问的服务端实现,而本篇将深入讲解多客户端环境下的服务端设计与实现。 ... [详细]
  • 本文详细介绍了如何使用C#实现不同类型的系统服务账户(如Windows服务、计划任务和IIS应用池)的密码重置方法。 ... [详细]
  • 本文详细介绍了在Luat OS中如何实现C与Lua的混合编程,包括在C环境中运行Lua脚本、封装可被Lua调用的C语言库,以及C与Lua之间的数据交互方法。 ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
  • 本笔记记录了几个典型的 LeetCode 编程题目及其解决方案,包括使用两个栈实现队列、计算斐波那契数列、青蛙跳台阶问题以及寻找旋转排序数组中的最小值。 ... [详细]
  • 本文介绍了如何利用OpenCV库进行图像的边缘检测,并通过Canny算法提取图像中的边缘。随后,文章详细说明了如何识别图像中的特定形状(如矩形),并应用四点变换技术对目标区域进行透视校正。 ... [详细]
  • 深入解析C语言中的关键字及其分类
    本文将全面介绍C语言中的关键字,并按照功能将其分为数据类型关键字、控制结构关键字、存储类别关键字和其他关键字四大类,旨在帮助读者更好地理解和运用这些基本元素。C语言中共有32个关键字。 ... [详细]
  • hlg_oj_1116_选美大赛这题是最长子序列,然后再求出路径就可以了。开始写的比较乱,用数组什么的,后来用了指针就好办了。现在把代码贴 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
author-avatar
只为-娱乐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有