文章目录

  • 前言
  • 1.封装类
  • 2. 字符串转换
  • 3. 数学方法:Math类
  • 4.格式化输出
  • 5.字符与字符串
  • 6.String类的成员方法
  • 7.StringBuilder概述


前言

此部分是java基础部分的数字与字符串的内容。

1.封装类

int是基本数据类型,每一个基本数据类型都对应一个类的类型。比如int对应的类类型就是Integer。这种类就叫做封装类。

  • A:封装类型常应用于:字符串与基本数据类型之间的转换**
  • B:8种封装类: Int——Integer , char——Character
    byte——Byte , short——Short , long——Long , boolean——Boolean , float——Float, double——Double
  • C:转换及自动装箱、自动拆箱:
int i=5
	//明转,基本类型转封装类
	Integer it=new Integer(i);
	//自动转,就叫自动装箱
	Integer it2=i;
	//明转,封装类转基本类型
	int i3=it.inValue();
	//自动转,叫自动拆箱
	int i4=it;
  • D:int的最大值可以通过其对应的封装类Integer.MAX_VALUE获得:
//int的最大值 
    	System.out.println(Integer.MAX_VALUE);
    	//int的最小值    	
    	System.out.println(Integer.MIN_VALUE);

2. 字符串转换

  • A:数字转字符串:使用String类的静态方法valueOf
int i=5;
String s=String.valueOf(i);
//方法2 自动装箱
Integer i2=i;
String s2=i2.toString();
  • B:字符串转数字:调用Integer的静态方法parseInt
String s="999";
int i=Integer.parseInt(s);

3. 数学方法:Math类

java.lang.Math提供了一些常用的数学运算方法,并且都是以静态方法的形式存在。

float f1 = 5.4f;
    	//5.4四舍五入即5
    	System.out.println(Math.round(f1));
    	
    	//得到一个0-1之间的随机浮点数(取不到1)
    	System.out.println(Math.random());
    	//得到一个0-10之间的随机整数 (取不到10)
    	System.out.println((int)( Math.random()*10));
    	
    	//开方
    	System.out.println(Math.sqrt(9));
    	//次方(2的4次方)
    	System.out.println(Math.pow(2,4));
    	
    	//π
    	System.out.println(Math.PI);
    	
    	//自然常数
    	System.out.println(Math.E);

4.格式化输出

用字符串拼接,维护性差,可以使用格式化输出便于维护(format)

%s表示字符串,%d表示数字, %n表示换行

String name="盖伦";
int kills=7;
String title="超神";
//%s 字符串 %d 数字 %n 回车换行
String s="%s在连续击杀%d个英雄后获得%s%n"
System.out.format(s,name,kills,title);

5.字符与字符串

  1. 字符,Character的常见方法
    中文、英文、数字都是占一位的(取,逻辑上);只是最后存储的时候中文占2位
//转换:自动装箱
		char ch='a';
		Character ch1=ch;
//Character的常见方法
		System.out.println(Character.isLetter('a'));//判断是否为字母
        System.out.println(Character.isDigit('a')); //判断是否为数字
        System.out.println(Character.isWhitespace(' ')); //是否是空白
        System.out.println(Character.isUpperCase('a')); //是否是大写
        System.out.println(Character.isLowerCase('a')); //是否是小写
         
        System.out.println(Character.toUpperCase('a')); //转换为大写
        System.out.println(Character.toLowerCase('A')); //转换为小写
 
        String a = 'a'; //不能够直接把一个字符转换成字符串
        String a2 = Character.toString('a'); //转换为字符串
  1. 字符串String

创建格式: String s=“盖伦”;

  • A: String的表现像是一个头常量,一旦创建就不能更改。
    不可改变的具体含义是指:
    不能增加长度
    不能减少长度
    不能插入字符
    不能删除字符
    不能修改字符
  • B:如果变量比较多,使用字符串格式化,就可以简洁明了
  • C:字符串长度:
    使用length()方法可以得知字符串长度
String s="gfhf";
System.out.println(s.length());

6.String类的成员方法

  • 获取类

代码

功能

int length()

获取字符串的长度

char charAt(int index)

获取指定索引处的字符

int indexOf(String str)

获取指定字符str在字符串中第一次出现的索引

int lastIndexOf(String str)

获取指定字符str在字符串中最后一次出现的索引

String substring(int start)

从start开始截取字符串

String substring(int start,int end)

从start开始,到end结束截取字符串,左闭右开

  • 判断类

代码

功能

boolean equals(Object obj)

比较字符串是否相同(内容相同即可)

boolean equalsIgnoreCase(String str

比较字符串是否相同,忽略大小写

boolean startsWith(String str)

判断字符串是否以str开头

boolean endsWith(String str)

判断字符串是否以str结尾

boolean contains(String str)

判断是否包含子字符串str

  • 转换类

代码

功能

char[] toCharArray()

将字符串转换为字符数组

String toLowerCase()

将字符串转换为小写

String toUpperCase()

将字符串转换为大写

  • 格式类

代码

功能

String trim()

去除字符串两端空格

String[ ] split(String str)

按照指定符号分割字符串

去掉首尾空格trim():

String sentence = "     盖伦,获得了 超神 的称号     ";
    	System.out.println(sentence);
    	//去掉首尾空格
    	System.out.println(sentence.trim());

分割split():

String s = "盖伦,在进行了连续8次击杀后,获得了 超神 的称号";	
    
    	//根据,进行分割,得到3个子字符串
    	String s1[]=s.split(",");
    	for(String sub:s1){
    	System.out.println(sub);
    	}
  • 替换类

代码

功能

String replaceAll(String src,String drc)

用drc替换所有的src

String replaceFirst(String src,String drc)

drc只替换第一个src

String sentence = "盖伦,在进行了连续8次击杀后,获得了超神 的称号";
 
 String temp = sentence.replaceAll("击杀", "被击杀"); //替换所有的
         
        temp = temp.replaceAll("超神", "超鬼");
         
        System.out.println(temp);
         
        temp = sentence.replaceFirst(",","");//只替换第一个
         
        System.out.println(temp);

7.StringBuilder概述

StringBuilder是一个可变字符串,与String相比,他的内容是可变的。对于字符串操作,它的性能更高。

  • 为什么StringBuffer可以变长?
    和String内部是一个字符数组一样,StringBuffer也维护了一个字符数组。 但是,这个字符数组,留有冗余长度
    比如说new StringBuffer(“the”),其内部的字符数组的长度,是19,而不是3,这样调用插入和追加,在现成的数组的基础上就可以完成了。如果追加的长度超过了19,就会分配一个新的数组,长度比原来多一些,把原来的数据复制到新的数组中,看上去 数组长度就变长了

成员方法:

代码

功能

int length()

长度

int capacity

容量

StringBuilder append(任意类型)

添加

StringBuilder delete(int start,int end)

删除

StringBuilder insert(int index,String str)

插入

StringBuilder reverse()

反转