热门标签 | 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) 设定当前的日历时间



推荐阅读
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • Java中包装类的设计原因以及操作方法
    本文主要介绍了Java中设计包装类的原因以及操作方法。在Java中,除了对象类型,还有八大基本类型,为了将基本类型转换成对象,Java引入了包装类。文章通过介绍包装类的定义和实现,解答了为什么需要包装类的问题,并提供了简单易用的操作方法。通过本文的学习,读者可以更好地理解和应用Java中的包装类。 ... [详细]
  • 纠正网上的错误:自定义一个类叫java.lang.System/String的方法
    本文纠正了网上关于自定义一个类叫java.lang.System/String的错误答案,并详细解释了为什么这种方法是错误的。作者指出,虽然双亲委托机制确实可以阻止自定义的System类被加载,但通过自定义一个特殊的类加载器,可以绕过双亲委托机制,达到自定义System类的目的。作者呼吁读者对网上的内容持怀疑态度,并带着问题来阅读文章。 ... [详细]
  • 本文整理了Java面试中常见的问题及相关概念的解析,包括HashMap中为什么重写equals还要重写hashcode、map的分类和常见情况、final关键字的用法、Synchronized和lock的区别、volatile的介绍、Syncronized锁的作用、构造函数和构造函数重载的概念、方法覆盖和方法重载的区别、反射获取和设置对象私有字段的值的方法、通过反射创建对象的方式以及内部类的详解。 ... [详细]
  • 流数据流和IO流的使用及应用
    本文介绍了流数据流和IO流的基本概念和用法,包括输入流、输出流、字节流、字符流、缓冲区等。同时还介绍了异常处理和常用的流类,如FileReader、FileWriter、FileInputStream、FileOutputStream、OutputStreamWriter、InputStreamReader、BufferedReader、BufferedWriter等。此外,还介绍了系统流和标准流的使用。 ... [详细]
  • 本文介绍了使用C++Builder实现获取USB优盘序列号的方法,包括相关的代码和说明。通过该方法,可以获取指定盘符的USB优盘序列号,并将其存放在缓冲中。该方法可以在Windows系统中有效地获取USB优盘序列号,并且适用于C++Builder开发环境。 ... [详细]
  • 本文介绍了解决Netty拆包粘包问题的一种方法——使用特殊结束符。在通讯过程中,客户端和服务器协商定义一个特殊的分隔符号,只要没有发送分隔符号,就代表一条数据没有结束。文章还提供了服务端的示例代码。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文介绍了Swing组件的用法,重点讲解了图标接口的定义和创建方法。图标接口用来将图标与各种组件相关联,可以是简单的绘画或使用磁盘上的GIF格式图像。文章详细介绍了图标接口的属性和绘制方法,并给出了一个菱形图标的实现示例。该示例可以配置图标的尺寸、颜色和填充状态。 ... [详细]
  • Java SE从入门到放弃(三)的逻辑运算符详解
    本文详细介绍了Java SE中的逻辑运算符,包括逻辑运算符的操作和运算结果,以及与运算符的不同之处。通过代码演示,展示了逻辑运算符的使用方法和注意事项。文章以Java SE从入门到放弃(三)为背景,对逻辑运算符进行了深入的解析。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • 本文整理了Java中org.apache.solr.common.SolrDocument.setField()方法的一些代码示例,展示了SolrDocum ... [详细]
  • Birthdate ... [详细]
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社区 版权所有