辞职了,最近一段时间在找工作,把在大二的时候学习java基础知识回顾下,拿出来跟大家分享,如果有问题,欢迎大家的指正。

/*
     * 按照面向对象的思想对字符串进行功能分类。
     *
     *
     * 1,获取:
     * 1.1 获取字符串中字符的个数(长度).
     *         int length();
     * 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。
     *         char charAt(int index);
     * 1.3 根据字符获取在字符串中的第一次出现的位置.
     *         int indexOf(int ch)
     *         int indexOf(int ch,int fromIndex):从指定位置fromIndex进行ch的查找第一次出现位置
     *         int indexOf(String str);
     *         int indexOf(String str,int fromIndex);
     *         从左到右根据字符串获取在字符串中的最后一次出现的位置.
     *         int lastIndexOf(int ch)
     *         int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找最后一次一次出现位置
     *         int lastIndexOf(String str);
     *         int lastIndexOf(String str,int fromIndex);
     * 1.4 获取字符串中一部分字符串。也叫子串.
     *         String substring(int beginIndex, int endIndex)//包含begin 不包含end 。
     *         String substring(int beginIndex);
     *         
     *
     *
     * 2,转换。
     *         2.1 将字符串变成字符串数组(字符串的切割)
     *             String[]  split(String regex):涉及到正则表达式.
     *         2.2 将字符串变成字符数组。
     *             char[] toCharArray();
     *         2.3 将字符串变成字节数组。
     *             byte[] getBytes();
     *         2.4 将字符串中的字母转成大小写。
     *             String toUpperCase():大写
     *             String toLowerCase():小写
     *        2.5  将字符串中的内容进行替换
     *            String replace(char oldch,char newch);
     *             String replace(String s1,String s2);
     *         2.6 将字符串两端的空格去除。
     *             String trim();
     *         2.7 将字符串进行连接 。
     *             String concat(string);
     *
     * 3,判断
     *         3.1 两个字符串内容是否相同啊?
     *             boolean equals(Object obj);
     *             boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。
     *         3.2 字符串中是否包含指定字符串?
     *             boolean contains(string str);
     *         3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。
     *             boolean startsWith(string);
     *             boolean endsWith(string);
     * 比较:
     *  Unicode 值进行比较
     *     int compareTo(String anotherString) :
     *     当前String对象与anotherString比较。
     * (1)相等关系返回0;compareTo 只在方法 equals(Object) 返回 true 时才返回 0。
     *  (2) 不相等时,从两个字符串第0个字符开始比较,返回第一个不相等的字符差,
       (3)另一种情况,较长字符串的前面部分恰巧是较短的字符串,返回它们的长度差。
        int compareTo(Object o) :如果o是String对象,和2的功能一样;否则抛出ClassCastException异常。
     *

5.将java中不同类型转化为字符串类型
     *   static String valueOf(boolean b)
         static String valueOf(char c)
         static String valueOf(char[] data)
         static String valueOf(char[] data, int offset, int count)
         static String valueOf(double d)
         static String valueOf(float f)
         static String valueOf(int i)
         static String valueOf(long l)
         static String valueOf(Object obj)               
     */
  

public class StringMethodDemo {

   public static void main(String[] args) {

        stringMethodDemo_4();

    }
private static void stringMethodDemo_5() {
char ch = 'a';
int ch1 = 97;
char[] arr = {'a','b','c'};
System.out.println(String.valueOf(ch));
System.out.println(String.valueOf(ch1));
System.out.println(String.valueOf(arr));//把字符数组转化为字符串
}
private static void stringMethodDemo_4() { String s1 = new String("abcdefghijklmn");
String s2 = new String("abcdefghij");
String s3 = new String("abcdefghijalmn");
System.out.println("abcdefghij".compareTo(s2));//相等返回0
System.out.println("s1.compareTo(s2): " + s1.compareTo(s2) ); //返回长度差4
System.out.println("s1.compareTo(s3): " + s1.compareTo(s3) ); //返回'k'-'a'的差10
} /**
* 3,判断
* 3.1 两个字符串内容是否相同啊?
* boolean equals(Object obj);
* boolean equalsIgnoreCase(string str);忽略大写比较字符串内容。
* 3.2 字符串中是否包含指定字符串?
* boolean contains(string str);
* 3.3 字符串是否以指定字符串开头。是否以指定字符串结尾。
* boolean startsWith(string);
* boolean endsWith(string);
*/
private static void stringMethodDemo_3() {
String s = "abcdsess";
System.out.println(s.equals("ABCDSESS".toLowerCase()));//true
System.out.println(s.equalsIgnoreCase("ABCDSESS"));//true
System.out.println(s.contains("sess"));//字符串中是否包含指定字符串sess
String str = "ArrayDemo.java";
System.out.println(str.startsWith("Array"));//字符串是否以Array开头
System.out.println(str.endsWith(".java"));//字符串是否以.java结尾
System.out.println(str.contains("Demo"));//字符串中是否包含指定字符串Demo
}
/**
* 2,转换。
* 2.1 将字符串变成字符串数组(字符串的切割)
* String[] split(String regex):涉及到正则表达式.
* 2.2 将字符串变成字符数组。
* char[] toCharArray();
* 2.3 将字符串变成字节数组。
* byte[] getBytes();
* 2.4 将字符串中的字母转成大小写。
* String toUpperCase():大写
* String toLowerCase():小写
* 2.5 将字符串中的内容进行替换
* String replace(char oldch,char newch);
* String replace(String s1,String s2);
* 2.6 将字符串两端的空格去除。
* String trim();
* 2.7 将字符串进行连接 。
* String concat(string);
* 2.8 static String copyValueOf(char[] data) :
2.9 static String copyValueOf(char[] data, int offset, int count) :这两个方法将char数组转换成String,与其中一个构造函数类似。
*/
private static void stringMethodDemo_2() { String s = "张三,李四,王五";//字符串常量 String[] arr = s.split(",");//字符串以逗号切割
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");//张三 李四 王五
}
System.out.println("\n"+"*****************"); String date = "2008/09/10";
String[] dateAfterSplit= new String[3];
dateAfterSplit=date.split("/"); //以“/”作为分隔符来分割date字符串,并把结果放入3个字符串中。
for(int i=0;i<dateAfterSplit.length;i++)
System.out.print(dateAfterSplit[i]+" ");//2008 09 10
System.out.println("\n"+"*****************"); //将String转化为字符数组
char[] chs = s.toCharArray();
for (int i = 0; i < chs.length; i++) {
System.out.print(chs[i]+" ");//张 三 , 李 四 , 王 五
}
System.out.println("\n"+"*****************");
/***************将字符串变为字节数组*******************/
s = "abc";
byte[] bytes = s.getBytes();
for (int i = 0; i < bytes.length; i++) {
System.out.print(bytes[i]+" ");//97 98 99
}
System.out.println("\n"+"*****************"); //将字符串转化为大小写
System.out.println("Abc".toUpperCase());//ABC
System.out.println("ABc".toLowerCase());//abc
System.out.println("\n"+"*****************"); //将字符号串中第一个oldChar字符替换成newChar新字符。
String s1 = "java";
String s2 = s1.replace('k', 'z');
String s3 = s1.replace('j', 'z');
System.out.println(s2);//java
System.out.println(s3);//zava
System.out.println(s1==s2);//true
System.out.println(s1.equals(s2));//true System.out.println("\n"+"*****************");
//将字符串两端的空格去除,字符串内部的空格去除不了
System.out.println("-"+" ab c ".trim()+"-");
//将两个字符串进行连接
System.out.println("\n"+"*****************");
String st1 = new String("abc");
String st2 = "def";
System.out.println(st1.concat(st2));
//将字符数组转化为字符串,通过调用静态方法
char[] arrx= {'w','a','p','q','x'};
System.out.println(String.copyValueOf(arrx));
System.out.println(String.copyValueOf(arrx,0,3));//包含begin,不包含,end }
/**
* 1,获取:
* 1.1 获取字符串中字符的个数(长度).
* int length();
* 1.2 取字符串中的某一个字符,其中的参数index指的是字符串中序数。字符串的序数从0开始到length()-1 。
* char charAt(int index);
* 1.3 根据字符获取在字符串中的第一次出现的位置,如果找不到,返回-1,下标从0开始
* int indexOf(int ch)
* int indexOf(int ch,int fromIndex):从指定位置fromIndex进行ch的查找第一次出现位置
* int indexOf(String str);
* int indexOf(String str,int fromIndex);
* 1.4根据字符串获取在字符串中的最后一次出现的位置,即找最后一个匹配的值的位置
* int lastIndexOf(int ch)
* int lastIndexOf(int ch,int fromIndex):从指定位置进行ch的查找第一次出现位置
* int lastIndexOf(String str);
* int lastIndexOf(String str,int fromIndex);
* 1.5 获取字符串中一部分字符串。也叫子串.
* String substring(int beginIndex, int endIndex)//包含begin 不包含end 。
* String substring(int beginIndex);
*/
private static void stringMethodget_1() { String s = "abcdaed"; System.out.println("length:"+s.length());//length:6
System.out.println("获取字符串中的某个位置的某个值:"+s.charAt(5));//char:e 如果超出范围:StringIndexOutOfBoundsException
System.out.println("index:"+s.indexOf('k'));//index:-1 我们可以根据-1,来判断该字符或者字符串是否存在。
System.out.println("从左到有第一次出现的位置为:"+s.indexOf('c'));//从左到有第一次出现的位置为:2
System.out.println("从左到有第一次出现的位置为:"+s.indexOf(97));//从左到有第一次出现的位置为:0
System.out.println("从指定位置开始d出现的位置:"+s.indexOf('d',2));//从指定位置开始d出现的位置:3
System.out.println("最后匹配的a的位置:"+s.lastIndexOf('a'));//从左到右
System.out.println("子字符串为:"+s.substring(2,4));//包含begin,不包含end,特别注意,下标从0开始
System.out.println("子字符串为:"+s.substring(1));
}


}

 

java基础知识回顾之---java String final类普通方法的更多相关文章

  1. java基础知识回顾之java Thread类学习(八)--java.util.concurrent.locks(JDK1.5)与synchronized异同讲解

    看API文档介绍几个方法:  JDK1.5中提供了多线程的升级解决方案: 特点: 1.将同步synchronized显示的替换成Lock                    2.接口Conditio ...

  2. java基础知识回顾之java Thread类学习(四)--java多线程安全问题(锁)

    上一节售票系统中我们发现,打印出了错票,0,-1,出现了多线程安全问题.我们分析为什么会发生多线程安全问题? 看下面线程的主要代码: @Override public void run() { // ...

  3. java基础知识回顾之java集合类-Properties集合

    /** java.lang.Object   |--java.util.Dictionary<K,V>      |--java.util.Hashtable<Object,Obje ...

  4. java基础知识回顾之---java String final类 容易混淆的java String常量池内存分析

    /** *   栈(Stack) :存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放  在常量池中). 堆(heap):存 ...

  5. java基础知识回顾之---java String final类普通方法的应用之“按照字节截取字符串”

    /*需求:在java中,字符串“abcd”与字符串“ab你好”的长度是一样,都是四个字符.但对应的字节数不同,一个汉字占两个字节.定义一个方法,按照最大的字节数来取子串.如:对于“ab你好”,如果取三 ...

  6. java基础知识回顾之---java String final类普通方法的应用之“模拟字符串Trim方法”

    /* * 4,模拟一个trim功能一致的方法.去除字符串两端的空白  * 思路: * 1,定义两个变量. * 一个变量作为从头开始判断字符串空格的角标.不断++. * 一个变量作为从尾开始判断字符串空 ...

  7. java基础知识回顾之---java String final类普通方法的应用之“两个字符串中最大相同的子串”

    /* * 3,两个字符串中最大相同的子串. * "qwerabcdtyuiop" * "xcabcdvbn" *  * 思路: * 1,既然取得是最大子串,先看 ...

  8. java基础知识回顾之---java String final类普通方法的应用之“子串在整串中出现的次数”

    /* * 2 一个子串在整串中出现的次数. * "loveerlovetyloveuiloveoplove" * 思路: * 1,要找的子串是否存在,如果存在获取其出现的位置.这个 ...

  9. java基础知识回顾之---java String final类普通方法的应用之字符串数组排序

    /* * 1,给定一个字符串数组.按照字典顺序进行从小到大的排序. * {"nba","abc","cba","zz", ...

随机推荐

  1. linux kernel with param

    Linux kernel support pass param to kernel, this params can be assigned at load time by insmod or mod ...

  2. noip2006T1 能量项链

    最近一直在做noip的题,由于太水一直没有写题解,可是这道题,这道题.啊啊啊啊…… 明明水的要命,调了一节课啊!!我干脆不要搞OI了啊! 特别逗比的错误啊!!!! 代码: #include <c ...

  3. 一款仿PBA官网首页jQuery焦点图的切换特效

    一款仿PBA官网首页jQuery焦点图的切换特效,非常的简单大方, 在对浏览器兼容性的方面做了不少的功夫.IE6也勉强能过去. 还是一款全屏的焦点图切换特效.大气而清新.很适合简介大方的网站. 下图还 ...

  4. IOS_设置启动图片若干问题

    在做项目时, 发现设置了LaunchImage时发现一些问题: 1. 启动图片的设置可以通过两种方法: 1) 通过在LaunchScreen里放入ImageView 并设置图片, 这种方法的好处在于不 ...

  5. hbase meta表的结构

    下面看下hbase:meta 表的结构,hbase:meta表中,保存了每个表的region地址,还有一些其他信息,例如region的名字,HRegionInfo,服务器的信息.hbase:meta表 ...

  6. 更改windows服务的配置文件app.config

    /// <summary> /// 获取每次处理记录数 /// </summary> /// <returns></returns> private s ...

  7. C语言文件函数

    FILE *fp: 其中的FILE应该大写,它实际上是系统定义的一个结构,在stdio.h文件中.该结构中有文件名,文件状态,文件当前的读写信息等. fp是指向FILE结构的指针变量,通过fp可以找到 ...

  8. ECSHOP模糊分词搜索和商品列表关键字飘红功能

    ECSHOP联想下拉框 1.修改page_header.lbi模版文件,将搜索文本框修改为: <input name="keywords" type="text&q ...

  9. Spiral Matrix II

    Spiral Matrix II Given an integer n, generate a square matrix filled with elements from 1 to n2 in s ...

  10. 路由器开发板上的TTL线连接方法

    手头有个MTK双频路由器的开发板,做工良好,但让人蛋疼的是,TTL线没有标注TX/RX/GND/VCC,这个小细节的缺失给使用带来了巨大麻烦.   网上搜了半天也没找到相关电路图,只好遍历测试找到正确 ...