2021年1月13~15日 总结 Java流程控制、数组、内存划分、String类常用功能

random类包含0,不包含右侧
nextdouble不能传参
=============
if更擅长判断范围

switch擅长判断值

==============
switch只能判断byte short int char enum string
switch里的case需要常量表达式
==================
按ctrl c 可以在命令提示符中终止死循环

===============

跳出多层循环:
line : for(int i=0;i<5;i++){
for(int j=0;j<4;j++){
if(j==2){
break line;
}
System.out.print("*");
}
System.out.print("\n");
}
====================
内存划分:
1,寄存器

2,方法栈
3,栈 stack(所有方法进入的地方)
4,堆 heap(只有对象和容器(数组、集合)才会进堆)(只要进堆就会有默认值)
5,方法和数据共享区(class文件进入的地方)
========================

 String类构造方法中可以传byte数组:

 

 也可以传一个字符数组,还能设置偏移量和选取长度:

 

 String类获取部分字符串:(注意如果传2个参数,第二个是结束下标,而不是子串长度)

 

 用startsWith和endsWith检查字符串是否以什么开头、结尾:

还有两个方法可以检查字符串中是否包含另一个字符串

 

 

 toCharArray()可以将字符串转换成字符数组

 

 利用这个结合特定算法可以实现字符串反转的功能:

public class Test{
    static String reverseString(String Input){
        char[] inputChars = Input.toCharArray();
        char[] reverseChars = new char[inputChars.length];
        for(int i = inputChars.length-1;i>=0;i--){
            reverseChars[inputChars.length-1-i] = inputChars[i];
        }
        return new String(reverseChars);
    }
    public static void main(String[] args) {
        String a = new String("Java Programming Language");

        System.out.println(reverseString(a));//egaugnaL gnimmargorP avaJ
    }
}

matches()方法可以利用正则表达式检查字符串符不符合规范:

 

统计字符串中有多少大写字母:

 ==================================================

StringBuffer是字符串缓冲区,长度可变的字符串

StringBuilder类的方法与StringBuffer类一模一样,但是在某些情况下StringBuilder运行更快。

 

下面是用JAVA把字符串生成js的格式算法:

public class Test{
    public static void main(String[] args) {
        double[] arr1 = {506,66.3,56.89,5.7,12.6,44.9};

        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for(int i = 0;i < arr1.length;i++){
            sb.append(arr1[i]);
            if(i!= arr1.length-1){
                sb.append(',');
            }
        }
        sb.append("]");
        System.out.println(sb);
    }
}

 

 

posted @ 2021-01-15 21:46  lucascube  阅读(93)  评论(0)    收藏  举报