网站建设资质要求,谷歌seo 优化,网站建设的财务计划书,可以做猫头像的网站文章目录 一、StringBuilder类1.1 方法演示1.2 String 和StringBuilder互转1.3 String 和StringBuilder效率对比1.4 应用案例 二、StringJoiner类三、Math类四、System类五、Runtime类 一、StringBuilder类
StringBuilder代表可变字符串对象#xff0c;相当于是一个容器… 文章目录 一、StringBuilder类1.1 方法演示1.2 String 和StringBuilder互转1.3 String 和StringBuilder效率对比1.4 应用案例 二、StringJoiner类三、Math类四、System类五、Runtime类 一、StringBuilder类
StringBuilder代表可变字符串对象相当于是一个容器它里面的字符串是可以改变的就是用来操作字符串的。好处StringBuilder比String更合适做字符串的修改操作效率更高代码也更加简洁。
1.1 方法演示
接下来我们用代码演示一下StringBuilder的用法
public class Test{public static void main(String[] args){StringBuilder sb new StringBuilder(itehima);//1.拼接内容sb.append(12);sb.append(黑马);sb.append(true);//2.append方法支持临时编程sb.append(666).append(黑马2).append(666);System.out.println(sb); //打印12黑马666黑马2666//3.反转操作sb.reverse();System.out.println(sb); //打印6662马黑666马黑21//4.返回字符串的长度System.out.println(sb.length());//5.StringBuilder还可以转换为字符串String s sb.toString();System.out.println(s); //打印6662马黑666马黑21}
}1.2 String 和StringBuilder互转
1.StringBuilder转换为String public String toString0:通过toString0就可以实现StringBuilder转换为String2.String转换为String Builder public StringBuilder(String s):通过构造方法就河以实现把String转换为StringBuilder
1.3 String 和StringBuilder效率对比
在实际开发中为什么要用StringBuilder对字符串进行操作呢因为它的效率比String更高我们可以下面两段代码验证一下。 public static void test01(){StringBuilder sbnew StringBuilder();for(int i0;i1000000;i){sb.append(abc);}System.out.println(sb);}public static void test02(){String s;for(int i0;i1000000;i){s s abc;System.out.println(i:s);}System.out.println(s);}经过验证直接使用Stirng拼接100万次等了1分钟还没结束我等不下去了但是使用StringBuilder做拼接不到1秒钟出结果了
1.4 应用案例
需求要求将java的int类型数组转成【123】格式的样式输出。
public class Test{public static void main(String[] args){String str getArrayData( new int[]{11,22,33});System.out.println(str);}//方法作用将int数组转换为指定格式的字符串public static String getArrayData(int[] arr){//1.判断数组是否为nullif(arrnull){return null;}//2.如果数组不为null再遍历并拼接数组中的元素StringBuilder sb new StringBuilder([);for(int i0; iarr.length; i){if(iarr.legnth-1){sb.append(arr[i]).append(]);;}else{sb.append(arr[i]).append(,);}}//3、把StirngBuilder转换为String并返回。return sb.toString();}
}二、StringJoiner类
我们前面使用StringBuilder拼接字符串的时候代码写起来还是有一点麻烦而StringJoiner号称是拼接神器不仅效率高而且代码简洁。
下面演示一下StringJoiner的基本使用
public class Test{public static void main(String[] args){StringJoiner s new StringJoiner(,);s.add(java1);s.add(java2);s.add(java3);System.out.println(s); //结果为 java1,java2,java3//参数1间隔符//参数2开头//参数3结尾StringJoiner s1 new StringJoiner(,,[,]);s1.add(java1);s1.add(java2);s1.add(java3);System.out.println(s1); //结果为 [java1,java2,java3]}
}使用StirngJoiner改写前面把数组转换为字符串的案例
public class Test{public static void main(String[] args){String str getArrayData( new int[]{11,22,33});System.out.println(str);}//方法作用将int数组转换为指定格式的字符串public static String getArrayData(int[] arr){//1.判断数组是否为nullif(arrnull){return null;}//2.如果数组不为null再遍历并拼接数组中的元素StringJoiner s new StringJoiner(, ,[,]);for(int i0; iarr.length; i){//加是因为add方法的参数要的是String类型s.add(String.valueOf(arr[i]));}//3、把StringJoiner转换为String并返回。return s.toString();}
}三、Math类
Math是数学的意思该类提供了很多个进行数学运算的方法如求绝对值求最大值四舍五入等话不多说直接上代码。
public class MathTest {public static void main(String[] args) {// 目标了解下Math类提供的常见方法。// 1、public static int abs(int a)取绝对值拿到的结果一定是正数// public static double abs(double a)System.out.println(Math.abs(-12)); // 12System.out.println(Math.abs(123)); // 123System.out.println(Math.abs(-3.14)); // 3.14// 2、public static double ceil(double a): 向上取整System.out.println(Math.ceil(4.0000001)); // 5.0System.out.println(Math.ceil(4.0)); // 4.0// 3、public static double floor(double a): 向下取整System.out.println(Math.floor(4.999999)); // 4.0System.out.println(Math.floor(4.0)); // 4.0// 4、public static long round(double a)四舍五入System.out.println(Math.round(3.4999)); // 3System.out.println(Math.round(3.50001)); // 4// 5、public static int max(int a, int b)取较大值// public static int min(int a, int b)取较小值System.out.println(Math.max(10, 20)); // 20System.out.println(Math.min(10, 20)); // 10// 6、 public static double pow(double a, double b)取次方System.out.println(Math.pow(2, 3)); // 2的3次方 8.0System.out.println(Math.pow(3, 2)); // 3的2次方 9.0// 7、public static double random() 取随机数 [0.0 , 1.0) (包前不包后)System.out.println(Math.random());}
}四、System类
这是系统类提供了一些获取获取系统数据的方法。比如获取系统时间。
/*** 目标了解下System类的常见方法。*/
public class SystemTest {public static void main(String[] args) {// 1、public static void exit(int status):// 终止当前运行的Java虚拟机。// 该参数用作状态代码; 按照惯例非零状态代码表示异常终止。System.exit(0); // 人为的终止虚拟机。(不要使用)// 2、public static long currentTimeMillis():// 获取当前系统的时间// 返回的是long类型的时间毫秒值指的是从1970-1-1 0:0:0开始走到此刻的总的毫秒值1s 1000mslong time System.currentTimeMillis();System.out.println(time);for (int i 0; i 1000000; i) {System.out.println(输出了 i);}long time2 System.currentTimeMillis();System.out.println((time2 - time) / 1000.0 s);}
}五、Runtime类
这个类可以用来获取JVM的一些信息也可以用这个类去执行其他的程序。话不多少上代码。
/*** 目标了解下Runtime的几个常见方法。*/
public class RuntimeTest {public static void main(String[] args) throws IOException, InterruptedException {// 1、public static Runtime getRuntime() 返回与当前Java应用程序关联的运行时对象。Runtime r Runtime.getRuntime();// 2、public void exit(int status) 终止当前运行的虚拟机,该参数用作状态代码; 按照惯例非零状态代码表示异常终止。// r.exit(0);// 3、public int availableProcessors(): 获取虚拟机能够使用的处理器数。System.out.println(r.availableProcessors());// 4、public long totalMemory() 返回Java虚拟机中的内存总量。System.out.println(r.totalMemory()/1024.0/1024.0 MB); // 1024 1K 1024 * 1024 1M// 5、public long freeMemory() 返回Java虚拟机中的可用内存量System.out.println(r.freeMemory()/1024.0/1024.0 MB);// 6、public Process exec(String command) 启动某个程序并返回代表该程序的对象。// r.exec(D:\\soft\\XMind\\XMind.exe);Process p r.exec(QQ);Thread.sleep(5000); // 让程序在这里暂停5s后继续往下走p.destroy(); // 销毁关闭程序}
}