Java String类Math类Random类常见方法

Day10Java

一、基本数据类型封装类

用途:

1.作为和基本数据类型对应的类类型存在

2.包含每种基本数据类型的相关属性如最大值、最小值等,以及相关的操作方法

包装类常用属性方法:

以下方法以java.lang.Integer为例:

public static final int MAX_VALUE //最大的int型

public static final int MIN_VALUE //最小的int型
构造方法:
Integer(int a);//给Integer里int的value赋值
Integer(String a);//a必须是数字的字符串,可以转换成int类型给value
比较方法:
static int compareTo(Integer a);//比较Integer中的value值返回-1,1,0代表它们的大小
boolean equals(Object);//比较两Integer类的value是否相等

//a是一个Integer,value值是6,b是一个Integer,value值是7
boolean dd=a.equals(b);
System.out.println(dd);//flase

int max(int a,int b);//求两数较大数
int min(int a,int b);//求两数较小数
转换方法:

进制转换:

static toBinaryString(int i);//方法将整数参数的字符串表示形式返回为基数为 2 的无符号整数,意思就是把int整型变成二进制字符串
static String toHexString(int i);//方法将整数参数的字符串表示形式返回为以 16 为底的无符号整数。
static String toOctalString(int i);//用于将整数类型的给定参数[value]的八进制字符串表示为以8为底的无符号整数。
int intValue();//把Integer里的value转化为int
static int parseInt(String s);//方法用于将字符串参数作为有符号的十进制整数进行解析。意思是把数字字符串转为int型
String toString();//把整型转换成字符串
static Integer valueOf(int i)//Integer一个Integer类型让它的value值是i
static Integer valueOf(String s)//Integer一个Integer类型让它的value值是数字字符串s转换成int型的值
装箱拆箱:

装箱:

		Integer a=new Integer(6);
        Integer b=new Integer("7");
        Integer d=9;//底层代码等于下面c赋值的方式
        Integer c=Integer.valueOf(9);
System.out.println(c==d);//true    地址相同a
        System.out.println(c.equals(d));//true       内容相同 
        Integer e=128;
        Integer f=Integer.valueOf(128);
        System.out.println(e==f);//flase     不在-128到127范围的数底层代码实现时会new一个新Integer,所以e和f是flase
        System.out.println(e.equals(f));//true      内容相同

拆箱:

Integer a=new Integer(6);
Integer b=new Integer("7");
int aa=a;//拆箱,底层代码是intValue()
int bb=b;
System.out.println(aa);//6
System.out.println(bb);//7

二、String类

java中字符串都是String类的实例

●String创建:
String s="abc";
//在栈中创建一个堆String类的对象引用变量s,如何去字符串常量池中找有没有"abc,如果没有则在常量池中添加"abc",s引用变量指向常量池中的"abc",如果常量池中有,则直接指向改地址即可,不用重新创建
String s=new String("abc");//一堆在堆中创建新对象,值存储在堆内存的对象中
String a="abc";
String b="abc";
System.out.println(a==b);//true因为ab都指向相同地址所以true
System.out.println(b.equals(b));//true
●转换功能:
byte[] getBytes()//把字符串转化为byte型整数放在一个数组里,一般是转码时候用
String j="12a";
byte[] k=j.getBytes();
System.out.println(Arrays.toString(k));//[49, 50, 97]

char[] toCharArray()//转化成字符数组
char[]l=j.toCharArray();
System.out.println(l); //  12a

static String valueOf(char[] chs)//把字符数组转换成字符串
System.out.println(String.valueOf(l));//12a

Stirng[] split(分割符);//   把字符串以分割符为分割点分成字符串数组 .  $ | 和 * 等转义字符,必须得加 \\
System.out.println(Arrays.toString(j.split("2")));//[1, a]
public String[] split(String regex, int limit)//limit是分割的份数
String p="12adsada2sdwd2adq";
System.out.println(Arrays.toString(j.split("2",3)));//[1, adsada, sdwd2adq]

String toLowerCase();//方法将字符串转换为小写。
String toUpperCase();//方法将字符串转换为大写。
String concat(String str);//把str接入到对象字符串中于+=效果一样,但+=还可以加其他数据类型

建议使用String.valueof()来把其他类型转换成字符串类型,因为这样即便是null也不会报错

●判断功能:
String j="12a";
String y="12a"; 
String t="12ab";

boolean equals(Object obj)//判断字符串数组是否相等
System.out.println(j.equals(y));//true

boolean equalsIgnoreCase(String str)//方法用于将字符串与指定的对象比较,不考虑大小写
    
boolean contains(String str)//对象字符串是否包含参数字数串
System.out.println(t.contains(j));//true

boolean isEmpty()//方法用于判断字符串是否为空
System.out.println(j.isEmpty());//false

boolean startsWith(String prefix)//方法用于检测字符串是否以指定的前缀开始。
System.out.println(j.startsWith("1"));//true

boolean endsWith(String suffix)//方法用于测试字符串是否以指定的后缀结束。
System.out.println(j.endsWith("a"));//true
●获取功能
String j="12a";

int length()//获取长度
char charAt(int index)//方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1
int indexOf(String str)//返回指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
int indexOf(String str,int fromIndex)//返回从 fromIndex 位置开始查找指定字符在字符串中第一次出现处的索引,如果此字符串中没有这样的字符,则返回 -1。
    
String substring(int start)//方法返回字符串的子字符串,可以规定开始索引
System.out.println(j.substring(1));//2a

String substring(int start,int end)//方法返回字符串的子字符串并且可以规定开始索引和结束索引
● 替换功能
String replace(char old,char new)//new代替old
String replace(String old,String new)//同上
    //如果找不到old则没有变化
    
replaceAll(String regex, String replacement)//方法使用给定的参数 replacement 替换字符串所有匹配给定的正则表达式的子字符串。
replaceFirst(String regex, String replacement)// 方法使用给定的参数 replacement 替换字符串第一个匹配给定的正则表达式的子字符串。
● 去除字符串两空格
String trim();//只去除字符串两边的空格

如果要去除中间的可以用replace

str.replace(" ","");//用空字符代替空格

三、Math类

Math.round(9.6)//四舍五入10
Math.ceil(9.1)//向上舍入10
Math.floor(9.9)//向下舍入9
Math.random()//方法用于返回一个随机数,随机数范围为 0.0 =< Math.random < 1.0

四、Random类

Random random=new Random();
random.nextBoolean();//随机boolean
random.nextDoublie();//随机double
//还有别的基本数据类型随机数以此类推
random.nextInt(3)//0-3的值
    
byte[] bytes=new byte[5];
random.nextBytes(bytes);//随机数组
System.out.println(Arrays.toString(bytes));//[5, -117, -125, -32, 106]

你可能感兴趣的:(java,算法,开发语言)