当前位置:网站首页 > Java基础 > 正文

怎么恶补java基础



1) String概述

概述:

String类是对字符串事物的描述。该类定义了专门用于操作字符串的方法。

请看如下代码:

 

2) String常见功能

String类是用于描述字符串事物。

String s=new String();等同String s="";都是创建对象

那么它就提供了多个方法对怎么恶补java基础字符串进行操作。

常见的操作有哪些?

"abcd"

1,获取。

         1.1

                   int length():获取长度。

         1.2

                   char charAt(int index):

         1.3

                   int indexOf(int ch):返回的是ch在字符串中第一次出现的位置。

                   int indexOf(int ch, int fromIndex) :从fromIndex指定位置开始,获取ch在字符串中出现的位置。

                   int indexOf(String str):返回的是str在字符串中第一次出现的位置。

                   int indexOf(String str, int fromIndex) :从fromIndex指定位置开始,获取str在字符串中出现的位置。

                   int lastIndexOf(int ch):

2,判断。

         2.1

                   boolean contains(str):

                  特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1.表示该str不在字符串中存在。

                                    所以,也可以用于对指定判断是否包含。

                                     if(str.indexOf("aa")!=-1)

                                    而且该方法即可以判断,又可以获取出现的位置。

         2.2

                   boolean isEmpty():原理就是判断长度是否为0.

         2.3

                   boolean startsWith(str);

         2.4

                   boolean endsWith(str);

         2.5 判断字符串内容是否相同。复写了Object类中的equals方法。

                   boolean equals(str);

         2.6

                   boolean equalsIgnoreCase();

        

3,转换。

         3.1 将字符数组转成字符串。???

                  构造函数:String(char[])

                                     String(char[],offset,count):将字符数组中的一部分转成字符串,第offset角标开始取count个。

                  应用:

                                     char c[]={'a','b','c','d','e'};

                                     String s1=new String(c);

                  静态方法:

                                     static String copyValueOf(char[]);

                                     static String copyValueOf(char[] data, int offset, int count)

                                     static String valueOf(char[]):

                   运用:

                   char a[]={'a','b','c','d'};

                   String s=String.valueOf(a);

                   String s1=String.copyValueOf(a);

                  

         3.2 将字符串转成字符数组。

                   char[] toCharArray():

                  应用:

                   String s1="abcdefg";

                   char c[]=new char[10];

                   c=s1.toCharArray();

                   for(int i=0;i<s1.length();i++)

                   {

                            System.out.print(" "+c[i]);

                   }

         3.3

                            String(byte[])

                            String(byte[],offset,count):将字节数组中的一部分转成字符串。

         3.4

                            byte[] getBytes():

                   String s1="asdfggh";

                   byte a[]=new byte[100];

                   a=s1.getBytes();

         3.5

                   static String valueOf(int)

                   static String valueOf(double)

                   //3+"";//String.valueOf(3);两个方法作用一样,后者专业,前者顺手

                  特殊:字符串和字节数组在转换过程中,是可以指定编码表的。

4,替换

         String replace(oldchar,newchar);

5,切割

         String[] split(regex);

6,子串。获取字符串中的一部分。

         String substring(begin);

         String substring(begin,end);

7,转换,去除空格,比较。

         7.1

                   String toUpperCase();

                   String toLowerCase();

         7.2

                   String trim();

                   //去除所有空格:replace(" ","");

         7.3

                   int compareTo(string);

                  相同返回0,只比较一个出现不相同的的字符就返回int

 

3) StringBuffer缓冲区

StringBuffer是字符串缓冲区。是一个容器。

什么时候使用?

数据类型不确定,长度不确定,最终要转换成字符串类型的情况;

特点:

1,长度是可变化的。

2,可以字节操作多个数据类型。

3,最终会通过toString方法变成字符串。

C create U update R read D delete

1,存储。

         StringBuffer append():将指定数据作为参数添加到已有数据结尾处。

         StringBuffer insert(index,数据):可以将数据插入到指定index位置。

2,删除。

         StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。

         StringBuffer deleteCharAt(index):删除指定位置的字符。

        

3,获取。

         char charAt(int index)

         int indexOf(String str)

         int lastIndexOf(String str)

         int length()

         String substring(int start, int end)

4,修改。

         StringBuffer replace(start,end,string);

         void setCharAt(int index, char ch) ;

5,反转,将字符串反转。

         StringBuffer reverse();//可以自定义

6, 将缓冲区中指定数据存储到指定字符数组中。

         void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)

具体应用:

 
 

4) StringBuilder

StringBuilder也是字符串缓冲区。

JDK1.5 版本之后出现了StringBuilder.

StringBuffer是线程同步。

StringBuilder是线程不同步。

他们拥有的方法都相同,只是同步不同步;

以后开发,建议使用StringBuilder,效率高;

考虑安全性时才用StringBuffer

升级三个因素:

1,提高效率。

2,简化书写。

3,提高安全性。

请看如下程序:

 
 

5)

将基本数据类型封装成对象的好处,在于可以在对象中定义更多的功能方法操作该数据。

基本数据类型对象包装类的最常见作用,就是用于基本数据类型和字符串类型之间做转换

包装类如下:

byte Byte

short         short

int              Integer

long Long

boolean Boolean

float Float

double      Double

char Character

基本数据类型转成字符串。

         基本数据类型+""

         基本数据类型.toString(基本数据类型值);

         如: Integer.toString(34);//将34整数变成"34";

字符串转成基本数据类型。

        

         xxx a = Xxx.parseXxx(String);

         int a = Integer.parseInt("123");

         double b = Double.parseDouble("12.23");

         boolean b = Boolean.parseBoolean("true");

        

         Integer i = new Integer("123");

         int num = i.intValue();

十进制转成其他进制。

         toBinaryString();2进制

         toHexString();16进制

         toOctalString();8进制

其他进制转成十进制。

         parseInt(string,radix);

    int x = Integer.parseInt("110",2);//将2进制的110转成10进制

请看如下案例:

 

6)

"==":比较的是对象的内存地址;

"a.equals(b)":比较的是数值,equals()方法是继承Object的,Java中任何对象都有比较方法;

JDK1.5版本以后出现的新特性:

1.自动装箱,拆箱

2.当数值在byte范围内时(-128到127),对于新特性,如果该数值已经存在,为了节省空间,则不会在开辟新的空间。

应用程序如下:

  • 上一篇: 简述java基础
  • 下一篇: java基础挑错题
  • 版权声明


    相关文章:

  • 简述java基础2025-04-24 14:42:01
  • java基础研发2025-04-24 14:42:01
  • android开发java语言基础教程2025-04-24 14:42:01
  • java基础245讲2025-04-24 14:42:01
  • java机试基础2025-04-24 14:42:01
  • java基础挑错题2025-04-24 14:42:01
  • java基础必考2025-04-24 14:42:01
  • java基础362025-04-24 14:42:01
  • java 内存分页基础2025-04-24 14:42:01
  • java面试基础-12025-04-24 14:42:01