从零开始的java学习Day06----------基础篇(Scanner、Random、String、Arrays、Math类)

String类

string类的对象表示字符串对象,在java中凡是双引号引起来的内容就是String类的对象(字符串对象)

  1. String对象是不可变的
  2. String对象其实就是字符串对象
  3. String对象的底层就是一个字符数组(其实真正的是一个Byte数组)

字符串变量/对象可以用+“新字符串”直接拼接。会得到一个新字符串

构造方法

  1. public String() :初始化新创建的 String对象,以使其表示空字符序列。
  2. public String(char[] value) :通过当前参数中的字符数组来构造新的String。
  3. public String(byte[] bytes) :通过使用平台的默认字符集解码( ASCLL表)当前参数中的字节数组来构造新的String。
  4. public string (string 字符串):初始化一个String对象,存入括号内的字符串

注意

  • 对于基本数据类型:==是做数值比较
  • 对于引用数据类型:==是做地址值比较

而通过双引号加字符串直接赋值的字符串是在常量区,通过构造方法创建出来的是在堆区
此时用==符号去比较,即使是存的同样的字符串,也会造成false结果,此时可以用equals方法

String类常用方法

String类的方法,前面和括号内的字符串是都可以传对象,也可以直接传字符串常量

测试类型的方法

equals

字符串比较方法,可以将字符串1与括号内的字符串2进行比较是否相同,结果返回布尔值

字符串1.equals(字符串2);
equalsIgnoreCase

字符串比较方法,可以将字符串1与括号内的字符串2进行比较,和上面的equals一样,只是判断条件忽略大小写判断,结果返回布尔值

equalsIgnoreCase(String s)
例:
字符串1.equalsIgnorCase(字符串2);
contains

当且仅当此字符串包含指定的char值序列时才返回true。

boolean contains(CharSequence s);     
例:
字符串1.contains(字符串2);     //注:字符串2为你想测试的是否包含的字符串
endsWith

测试此字符串是否以指定的后缀结尾。

boolean endsWith(String s);
例:
字符串1.endWith(字符串2);     //字符串2为你想测试的是否为字符串1的末尾字符串
startsWith

测试此字符串是否以指定的前缀开头。

booloean startsWith(String s);
例:
字符串1.startsWith(字符串2);     //字符串2为你想测试的是否为字符串1为开头
isEmpty

如果且仅当 length()为 0 ,返回 true 。其实就是测试是否为空字符串,注意Null不能调用方法,不要存Null。

boolean length();
例:
字符串1.isEmpty()     //如果字符串1为空字符串,则返回ture

获取功能的方法

length

返回字符串的长度

int length()
例:
字符串1.length
concat

将指定的字符串连接到该字符串的末尾,拼接,返回的是新字符串,原字符串不变

String cancat(string str)
例:
字符串1.cancat(字符串2)     //将字符串2拼接到字符串1结尾,返回新字符串3
charAt

返回指定索引处的 char值

char charAt(int n)
例:
字符串1.charAt(n)     //返回索引n处的字符(char值)
indexOf

返回指定子字符串第一次出现在该字符串内的索引

int indexOf(String str)      //括号内可以重载int类型参数
例:                        
字符串1.indexOf(字符串2)     //返回字符串2在字符串1中第一次出现的索引     没有则返回-1
lastIndexOf

返回指定子字符串第一次出现在该字符串右边的索引

int lastIndexOf(String str)    //括号内可以重载int
字符串1.lastIndexOf(字符串2)    //返回字符串2在字符串1中最右边出现的索引
substring

返回一个子字符串,从n开始截取字符串到字符串结尾/或者从n截取到m结尾
或者
根据指定索引,从字符串上截取一个字符串,n1索引开始,n2索引前结束,没有2则默认后面全部

String substring(int n)          
String substring(int n,int m)    //包含n,不包含m,[n,m)
例:
字符串1.substring(n)             //返回字符串1里,索引从n开始到字符串1结尾的字符串     
字符串2.substring(n,m)          //返回字符串1里,索引从n开始到m结束的字符串

转换功能方法

toCharArray

将此字符串转换为新的字符数组

char[] toCharArray ()
例:
字符串1.toChararray()        //返回一个字符串1被分解为字符的数组
getBytes

把字符串转换为Byte字节数组

byte[] getBytes ()
例:
字符串1.getBytes()        //返回一个字符串1被分解为Byte类型的字节数组
replace

替换字符串内的指定字符串1替换为指定定字符串2,返回一个新的字符串,原字符串不变

String replace (CharSequence target, CharSequence replacement)
例:
字符串1.replace(字符串2,字符串3)    //将字符串1里的字符串2部分替换成字符串3,返回一个新的字符串
toLowerCase

将字符串转换为小写

String toLowerCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
字符串1.tulowerCase   //返回字符串1的全部小写字符串       
toUpperCase

将字符串转换为大写

String toUpperCase() 使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
字符串1.toUpperCase()  //返回字符串1的全部大写字符串      !=待测试
trim

返回去掉前后空白的字符串

String trim() 返回字符串的副本,忽略前导空白和尾部空白。
字符串1.trim()   //返回字符串1去掉前后空白字符的字符串
valueOf

将数字转换为字符串返回,方法糖:10+""=“10”

static String valueOf(int i)  返回 int 参数的字符串表示形式。

分割功能方法

split

将字符串按照给定的规则(regex)拆分为字符串数组
注意,规则(regex)可能和正则表达式冲突,此时用//可以让系统识别规则不是正则表达式。

static关键字

可以用来修饰成员变量,成员方法,代码块
变量:在类型前直接加static
方法:在返回类型前直接加static
代码块:在大括号前加static

静态成员变量

所有方法调用的该变量,共享一个储存空间(静态变量空间)

静态成员方法

静态成员方法,只能直接访问静态成员,不能直接访问非静态成员(成员,方法)
静态成员方法里的变量不能加this

静态代码块:

格式

static{
     代码
}

位置:类中,方法外。
执行:会随着类的加载而执行且执行一次,优先于main方法和构造方法执行(第一次使用类的使用就会加载该类,并且只会加载一次)
静态的成员都可用通过类名.成员名来调用

Arrays类

此类包含用来操作数组的各种方法,比如排序和搜索等。其所有方法均为静态方法,调用起来非常简单(直接Arrays.方法名调用,不用定义对象)。

toString

返回指定数组内容的字符串表示形式

public static String toString(int[] a)   //括号里适应多种类型的数组,方法有重载
Arrays.toString(数组);    //将数组转换为一个字符串返回,字符串最前和最后带中括号,如果数组里存的是引用数据类型,则转换的是每个数组的toString方法返回的值拼接的字符串。
sort

根据升序排序数组,可以指定范围

public static void sort(int[] a)     //括号里适应多种类型的数组,方法有重载,可以输入需要排序的[索引开头,索引结束来排序),不输入默认全部排序。
例:
Arrays.sort(数组);                   //将数组升序排序,没有返回值,直接改变数组

Math类

Math 类包含用于执行基本数学运算的方法,方法均为静态类型,不需要调用对象,调用简单

常用Math方法

abs

绝对值

double abs(double a) :返回 double 值的绝对值。
ceil

向上取整

double ceil(double a) :返回大于等于参数的最小的整数。
floor

向下取整

double floor(double a) :返回小于等于参数最大的整数。
round

四舍五入

long round(double a) :返回最接近参数的 long(相当于四舍五入方法)
max

最大值

int max(int a, int b)  返回两个 int 值中较大的一个。
min

最小值

int min(int a, int b) 返回两个 int 值中较小的一个。

你可能感兴趣的:(从零开始学java)