Java基础4:数字与字符串

前言

此部分是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()反转
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

萧寒努力奋斗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值