java基础5- 数字与字符串

1.int的最大值,最小值

int的最大值可以通过其对应的封装类Integer.MAX_VALUE获取

//int的最大值

System.out.println(Integer.MAX_VALUE);

//int的最小值      

System.out.println(Integer.MIN_VALUE);

2.数字转字符串

方法1: 使用String类的静态方法valueOf 
方法2: 先把基本类型装箱为对象,然后调用对象的toString

public class TestNumber {
  
    public static void main(String[] args) {
        int i = 5;
         
        //方法1
        String str = String.valueOf(i);
         
        //方法2
        Integer it = i;
        String str2 = it.toString();
         
    }
}

3.字符串转数字

调用Integer的静态方法parseInt

public class TestNumber {
  
    public static void main(String[] args) {
 
        String str = "999";
         
        int i= Integer.parseInt(str);
         
        System.out.println(i);
         
    }
}

4.MATH类常用方法

public class TestNumber {
  
    public static void main(String[] args) {
        float f1 = 5.4f;
        float f2 = 5.5f;
        //5.4四舍五入即5
        System.out.println(Math.round(f1));
        //5.5四舍五入即6
        System.out.println(Math.round(f2));
         
        //得到一个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);
    }
}

5.格式化输出

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

public class TestNumber {
   
    public static void main(String[] args) {
        int year = 2020;
        //总长度,左对齐,补0,千位分隔符,小数点位数,本地化表达
          
        //直接打印数字
        System.out.format("%d%n",year);
        //总长度是8,默认右对齐
        System.out.format("%8d%n",year);
        //总长度是8,左对齐
        System.out.format("%-8d%n",year);
        //总长度是8,不够补0
        System.out.format("%08d%n",year);
        //千位分隔符
        System.out.format("%,8d%n",year*10000);
  
        //小数点位数
        System.out.format("%.2f%n",Math.PI);
          
        //不同国家的千位分隔符
        System.out.format(Locale.FRANCE,"%,.2f%n",Math.PI*10000);
        System.out.format(Locale.US,"%,.2f%n",Math.PI*10000);
        System.out.format(Locale.UK,"%,.2f%n",Math.PI*10000);
          
    }
}

6.JAVA常见字符串方法

6.1 获取字符

charAt(int index)获取指定位置的字符

char c = sentence.charAt(0);

6.2 获取对应的字符数组

toCharArray()

char[] cs = sentence.toCharArray(); //获取对应的字符数组

6.3 截取子字符串

subString 

public class TestString {
    
    public static void main(String[] args) {
   
        String sentence = "盖伦,在进行了连续8次击杀后,获得了 超神 的称号";
         
        //截取从第3个开始的字符串 (基0)
        String subString1 = sentence.substring(3);
         
        System.out.println(subString1);
         
        //截取从第3个开始的字符串 (基0)
        //到5-1的位置的字符串
        //左闭右开
        String subString2 = sentence.substring(3,5);
         
        System.out.println(subString2);
         
    }
}

6.4 分隔

split 根据分隔符进行分隔

String subSentences[] = sentence.split(",");

6.5 去掉首尾空格

trim 

System.out.println(sentence.trim());

6.6 大小写

//全部变成小写

System.out.println(sentence.toLowerCase());

//全部变成大写

System.out.println(sentence.toUpperCase());
6.7 定位

indexOf 判断字符或者子字符串出现的位置
contains 是否包含子字符串

public class TestString {
     
    public static void main(String[] args) {
    
        String sentence = "盖伦,在进行了连续8次击杀后,获得了超神 的称号";
  
        System.out.println(sentence.indexOf('8')); //字符第一次出现的位置
          
        System.out.println(sentence.indexOf("超神")); //字符串第一次出现的位置
          
        System.out.println(sentence.lastIndexOf("了")); //字符串最后出现的位置
          
        System.out.println(sentence.indexOf(',',5)); //从位置5开始,出现的第一次,的位置
          
        System.out.println(sentence.contains("击杀")); //是否包含字符串"击杀"
          
    }
}

6.8 替换

replaceAll 替换所有的 
replaceFirst 只替换第一个

String temp = sentence.replaceAll("击杀""被击杀");

temp = sentence.replaceFirst(",","");

6.9 是否以子字符串开始或者结束

public class TestString {
 
    public static void main(String[] args) {
        String str1 = "the light";
        
        String start = "the";
        String end = "Ight";
        
        System.out.println(str1.startsWith(start));//以...开始
        System.out.println(str1.endsWith(end));//以...结束
         
    }
 
}


7.JAVA STRINGBUFFER常见方法

7.1 追加 删除 插入 反转

append追加 
delete 删除 
insert 插入 
reverse 反转

public class TestString {
 
    public static void main(String[] args) {
        String str1 = "let there ";

        StringBuffer sb = new StringBuffer(str1); //根据str1创建一个StringBuffer对象
        sb.append("be light"); //在最后追加
        
        System.out.println(sb);
        
        sb.delete(4, 10);//删除4-10之间的字符
        
        System.out.println(sb);
        
        sb.insert(4, "there ");//在4这个位置插入 there
        
        System.out.println(sb);
        
        sb.reverse(); //反转
        
        System.out.println(sb);

    }
 
}

7.2 长度 容量

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

public class TestString {
  
    public static void main(String[] args) {
        String str1 = "the";
 
        StringBuffer sb = new StringBuffer(str1);
         
        System.out.println(sb.length()); //内容长度
         
        System.out.println(sb.capacity());//总空间
  
    }
  
}

 

 

 

 

 

 

 

上一篇:外文期刊论文的写法合集——“终极八股文大法!!!”


下一篇:N-GRAM生成词语对