博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java学习第10天
阅读量:6241 次
发布时间:2019-06-22

本文共 6528 字,大约阅读时间需要 21 分钟。

hot3.png

Stirng 类

//equalsIgnoreCase  忽略大小写的内容比较

  String str4 = "helloWorld";
  String str5 = "HELLOworld";
  System.out.println("str4与str5的比较(equals):" + str4.equals(str5));
  System.out.println("str4与str5的比较(equalsIgnoreCase):" +                 str4.equalsIgnoreCase(str5));
结果 str4与str5的比较(equals):false
     str4与str5的比较(equalsIgnoreCase):true

-------------------------------

//int compareTo(String value)

  /*
   *  按字典顺序比较两个字符串。  (每个字符进行比较,如果第一个相等了,那就比第二...)
   如果两个字符串相等,则返回 0;
   如果字符串在参数值之前,则返回值小于 0;
   如果字符串在参数值之后,则返回值大于 0
   "A" 比 "a" 小
   */
  String str6 = "A";
  String str7 = "a";
  System.out.println("str6与str7的比较(compareTo):" + str6.compareTo(str7));
  //int compareToIgnoreCase(String val)  //忽略大小写的比较
  System.out.println("str6与str7的比较(compareToIgnoreCase):" +                 str6.compareToIgnoreCase(str7));
  
结果 str6与str7的比较(compareTo):-32
     str6与str7的比较(compareToIgnoreCase):0

-----------------------------------

                startWith((String prefix))测试此字符串是否以指定的前缀开始
  String str8 = "hel1loworld";
  System.out.println("str8是否是startWith():" + str8.startsWith("hello"));
         endWith(String prefix)测试此字符串是否以指定的后缀结束。
  System.out.println("str8是否是endsWith():" + str8.endsWith("world"));

结果 str8是否是startWith():false

     str8是否是endsWith():true
-------------------------------------

                String str9 = "21510";

  // 返回指定子字符在此字符串中第一次出现处的下标索引。
  System.out.println("str9的indexOf():" + str9.indexOf('1'));
结果  str9的indexOf():1

-------------------------------------

                String str10 = "hello Worlld";

  //返回的是第一次出现子字符的下标索引,如果未出现该字符,则返回 -1。
  System.out.println("str10的indexOf():" + str10.indexOf("ll"));

结果 str10的indexOf():2

------------------------------------

                //public int lastIndexOf(int ch)

  //public int lastIndexOf(String str) 如果未出现该字符,则返回 -1。
  System.out.println("str9的lastIndexOf():" + str9.lastIndexOf('1'));
  System.out.println("str10的lastIndexOf():" + str10.lastIndexOf("ll"));

结果 str9的lastIndexOf():3

     str10的lastIndexOf():9

-----------------------------------

                    //返回指定索引处的 char 值。

                     String str11 = "1510";

       System.out.println("str11的charAt():" + str11.charAt(3));

结果  str11的charAt():0

----------------------------------

                //修改

  //public String substring(int index)
   String str12 = "abcdefgh";
  //从index 这个位置开始截取,到字符串末尾,返回的新的子字符串
  System.out.println("str12的substring():" + str12.substring(3));

结果 str12的substring():defgh

---------------------------------

                 //public String substring(int beginIndex, int endIndex)

  //参数是开始截取的位置,参数是末尾截取的位置,注意,不包括参数2下标
  System.out.println("str12substring()" + str12.substring(3,5))

结果 str12substring()de

---------------------------------
                   //将指定字符串连接到此字符串的结尾。
                  //public String concat(String str)      等价于 +
  System.out.println("str12的concat(str11):" + str12.concat(str11));
  

---------------------------------

                //public String replace(char oldChar, char newChar)
  String str13 = "01234567890123";
  //重复的全部进行替换
  System.out.println("str13的replace():" + str13.replace('0','1'));
  System.out.println("str13的replace():" + str13.replace("012", "120"));
  System.out.println("str13的replace():" + str13.replaceAll("012", "120"));
  
结果 
          str13的replace():11234567891123
          str13的replace():12034567891203
          str13的replace():12034567891203
----------------------------------

                //public String trim() 

  String str17 = "     223qewe       qweqw   ";
  System.out.println("str17的trim():" + "-->"+str17+"<---");
  //对字符串前后进行 空格  制表符  回车进行截取
  System.out.println("str17的trim():" + "-->"+str17.trim()+"<---");

结果 str17的trim():-->     223qewe       qweqw   <---

     str17的trim():-->223qewe       qweqw<---
----------------------------------

               // 使用默认语言环境的规则将此 String 中的所有字符都转换为大写

                //public String toUpperCase();
  String str18 = "abcdefghti";
  System.out.println("str18的toUpperCase():" + str18.toUpperCase());
  //public String toLowerCase();
                //使用默认语言环境的规则将此 String 中的所有字符都转换为小写
  String str19 = "ABCDEFGHTI";
  System.out.println("str19的toUpperCase():" + str19.toLowerCase());
  
结果 str18的toUpperCase():ABCDEFGHTI
     str19的toUpperCase():abcdefghti
---------------------------------
使用频率高的

                //spit

  //根据指定字符进行截取字符串称为新的字符串数组
  String str20 = "1,2, 3, 4, 5,6";
  String[] strs = str20.split(",");
  
  for(String st : strs){
   System.out.println(st);
  }
  
结果
1
2
 3
 4
 5
6

--------------------------------------------------------------

StringBuffer 类

           StringBuffer --> 字符串缓冲区(序列满了 重新改变缓冲区大小)

 

/*

 * 线程安全的可变字符序列。我是一个String,可以变的字符串
 * StringBuffer
 *
 * StringBuilder
 * 一个可变的字符序列。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。
 * 该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候
 * (这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,
 * 它比 StringBuffer 要快。
 *
 * 实际运用中:
 * 如果你的程序不涉及线程安全,建议 StringBuilder
 */
public class StringBufferDemo {
 public static void main(String[] args) {
  StringBuffer sb = new  StringBuffer();
  StringBuilder sb2 = new StringBuilder();
  
  String str1 = "123";
  String str2 = "456";
  String str3 = str1 + str2;
  //方法链
  sb.append(str1).append(str2);
  
  sb2.append(str1).append(str2);
  
  
  //StringBuffer insert(int offset, String str)

  sb.insert(2, "x");  //在指定的下中查某个字符串

  System.out.println(sb.toString());
  //void setCharAt(int pos, char ch)
  
  sb.setCharAt(1, 'a');  //替换指定下标的字符
  System.out.println(sb.toString());
  
  //StringBuffer reverse()
  StringBuffer sBuffer = new StringBuffer("0123456789");
  //System.out.println(sBuffer.reverse());
  
  //StringBuffer delete(int start, int end)

  //sBuffer.deleteCharAt(0);  //删除指定下标的字符

  System.out.println(sBuffer.toString());
  sBuffer.delete(4, 7);  //删除开始到结束下标的zi字符串,不包结束下标
  System.out.println(sBuffer.toString());
  
  //StringBuffer replace(int start, int end, String s)
  //替换指定开始到结束下标的字符串,如果给定结束下标超过字符长度,
  sBuffer.replace(3, 100, "abcde"); 
  System.out.println(sBuffer.toString());
  
 }
}

结果

12x3456
1ax3456
0123456789
0123789
012abcde
-------------------------------------------------------------

可变参数

//这种新式叫可变参数

 public static void method(int...nums){
  for(int i : nums){
   System.out.println(i);
  }
  System.out.println(nums);  //数组, int 类型
 }

----------

//多个参数时, 可变参数一定要放在最后声明
 /*public static void method(int...nums, String aa){
  for(int i : nums){
   System.out.println(i);
  }
  System.out.println(nums);  //数组, int 类型
 }*/
-------------------------------------------------------------
Math 类

/*
   Math.ceil();   返回最小的(最接近负无穷大)double 值,该值大于等于参数,并等于某个整数。
  Math.floor(a); 返回最大的(最接近正无穷大)double 值,该值小于等于参数,并等于某个整数
  Math.round(a) 返回最接近参数的 long。//四舍五入
  */

---------------------------------------------------------------

基本数据类型               包装类     

byte(字节)               Byte

char(字符)               Character
short(短整型)            Short
int(整型)                Integer
long(长整型)             Long
float(浮点型)            Float
double(双精度)           Double
boolean(布尔)            Boolean

----------------------------------------------------------------

自动装箱 拆箱

            装箱  --》将基本数据类型包装为对应的包装类对象

            拆箱  --》将包装类对象转换成对应的基本数据类型

 

  //Integer  跟 int 有什么区别

  //Integer 类 它有方法和属性,功能上Integer 比int更加强大
  //Integer 是类,所以它比int 多了一个状态  null, 直接的运用在数据id/status上
  Integer integer2 = 1;    //装箱 
  int in = integer;     //拆箱   
 

转载于:https://my.oschina.net/u/2542711/blog/543173

你可能感兴趣的文章
平凡世界里的万千思绪
查看>>
(二)java环境搭建
查看>>
深入推荐引擎相关算法 - 协同过滤2
查看>>
mybatis逆向工程之配置
查看>>
使用.NET 4.0+ 操作64位系统中的注册表
查看>>
剑指offer——面试题26:判断二叉树B是否为二叉树A的子结构
查看>>
scrapy主动退出爬虫的代码片段
查看>>
ny12 喷水装置(二)
查看>>
C\C++语言细节(2)
查看>>
Jenkins持续部署-自动生成版本号
查看>>
设计模式--代理模式
查看>>
javascript基础知识--最基础的
查看>>
[转] vue自定义组件(通过Vue.use()来使用)即install的使用
查看>>
[转] 函数声明和函数表达式——函数声明的声明提前
查看>>
敢死队2影评
查看>>
浅析 JavaScript 中的 apply 和 call 用法的差异
查看>>
html5-css综合练习
查看>>
嵌入式开发之cgic库---cgi库的使用
查看>>
clickhouse安装 Requires: libstdc++.so.6(GLIBCXX_3.4.19)(64bit)
查看>>
FFT快速傅立叶变换
查看>>