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); } }

浙公网安备 33010602011771号