1.StringBuffer和StringBuilder
(1)类,而且与String一样,都是可以用来定义字符串的。
(2)区别:String定义的字符串是固定的,而这2个类是可变字符串
(3)StringBuffer和StringBuilder定义时只能通过构造函数定义不能直接定义
(4)StringBuffer和StringBuilder的区别
StringBuffer:线程安全
StringBuilder:线程不安全
(5)三者之间都会存在共有的方法1.String 与StringBuffer 互转
StringBuffer和StringBuilder的定义方式!!
StringBuffer sb = new StringBuffer("我是谁");System.out.println(sb);
StringBuffer sb = new StringBuffer("我是谁");
sb的类型:StringBuffer类型
需求:StringBuffer类型转换为String类型
String str = sb.toString();//永远不要记等于符号左边的代码 ctrl+1System.out.println(str);
需求:String类型--->StringBuffer类型
String name = "dengyankang";//通过构造函数直接可以转换StringBuffer sb2 = new StringBuffer(name);
2.与String不同的方法有下这几个
1.append末尾追加类容!!
StringBuffer sb = new StringBuffer("dengyankang");sb.append("liuxiangyang");追加的类容System.out.println(sb);
2.insert在指定的索引位置处添加指定类容!
StringBuffer sb = new StringBuffer("dengyankang"); sb.insert(2, "dfffd");在指定的下标2位置开始加入后面的值 dfffdSystem.out.println(sb);
3.delete 删除指定位置到指定位置的数据
StringBuffer sb = new StringBuffer("dengyankang"); sb.delete(2, 5);指定从下标2开始删除到下标5System.out.println(sb);
4.区间替换 replace
StringBuffer sb = new StringBuffer("dengyankang"); sb.replace(0, 4, "tang");0-4替换成tang 输出结果 tangyankangSystem.out.println(sb);
5.反转 倒过来输出 reverse
StringBuffer sb = new StringBuffer("dengyankang"); sb.reverse();System.out.println(sb);
StringBuilder用法一模一样 区别就一个线程安全一个线程不安全!!
!定义方法
StringBuilder sb2 = new StringBuilder();
2.基本类型的封装类 !
8大基本数据类型作用:仅仅只用来定义变量规则类型,
* 每一个基本类型在Java中提供了一个管理类来管理这些类型的使用。
* 基本类型 封装类
* byte Byte
* short Short
* int Integer --------
* long Long
* float Float
* double Double
* char Character--------
* boolean Boolean描述连个 integer 与 character
1.封装类的优质
1.可以直接查看 存储的最大范围与最小范围还
System.out.println(Byte.MIN_VALUE);最小存储System.out.println(Byte.MAX_VALUE);最大存储
1.2直接求最大最小值
System.out.println(Integer.min(12, 1));最小值 System.out.println(Integer.min(12,1);最大值
1.3封装类也可以用来定义变量
Integer i = 10;int a = 10;System.out.println(i == a);//trueInteger b = new Integer(10);System.out.println(i == b);//false因为b integer是新建出来的比的是内存位置所以不相等Integer c = new Integer(10);System.out.println(b == c);//falseInteger d = 10;System.out.println(i == d);//true
2.Integer封装类的常用方法
参数:int 将int--->Integer
Integer valueOf = Integer.valueOf(10); 10 int类型
参数:String 将String--->Integer 数字型的字符串变量
Integer valueOf2 = Integer.valueOf("123");注意不能有中文与英文
通过进制的方法来实现将字符串(数字型)转成int
int parseInt = Integer.parseInt("123"); String --int
2.1玩一下进制
进制:二进制 八进制 十进制 十六进制(10以上的数字使用a描述依次类推abcdef)
二进制:电脑
十进制:生活中的一切数据10的二进制String binaryString = Integer.toBinaryString(10);System.out.println(binaryString);10的八进制String octalString = Integer.toOctalString(10);System.out.println(octalString);10的十六进制System.out.println(Integer.toHexString(10));1010int parseInt = Integer.parseInt("1010", 2);十二进制System.out.println(parseInt);System.out.println(Integer.parseInt("12", 8));12的8进制System.out.println(Integer.parseInt("a",16));a的16进制System.out.println(Integer.parseInt("12"));//12注意事项:如果parseInt第二个参数没有,默认将参数1当做成10进制数据自动转换
3.Character:代表的是char的封装类
判断的方法
System.out.println(Character.isUpperCase('A'));//判断大写System.out.println(Character.isLowerCase('a'));//判断小写System.out.println(Character.isDigit('9'));//判断是否数字System.out.println(Character.isTitleCase("mynameiszz".charAt(0)));System.out.println(Character.isLetter('7'));//判断是否是字母
要求:统计一个字符串中包含多少数字,多少符号,多少大写字母,多少小写字母(提示:包装类)
public static void work5() {System.out.println("请你输入一个字符串:");String ii=sc.next().trim();int ch=0;//数字int dx=0;//大写int xx=0;//小写int zf=0;//符号System.out.println(ii);for (int i = 0; i < ii.trim().length(); i++) {char uu=ii.charAt(i);if(Character.isDigit(uu)) {ch++;}if(Character.isUpperCase(uu)) {dx++;}if(Character.isLowerCase(uu)) {xx++;}if(!Character.isDigit(uu)) {if(!Character.isLetter(uu)) {zf++;}} // if(Character.isSpace(uu)) { // zf++; // }}System.out.println("数字有:"+ch+"个\n"+"大写有:"+dx+"个\n"+"小写有:"+xx+"个\n"+"符号有"+zf);}
数字类使用Math
System.out.println(Math.PI); 圆周率3.141592653589793System.out.println(Math.abs(-12)); 绝对值System.out.println(Math.round(12.89)); 四舍五入System.out.println(Math.random()); 随机数,随机数生成的数字智能介于0-1之间//0-9double sj = Math.random() * 10;System.out.println(Math.floor(sj)); 向下取整
系统 功能打开计算机某应用 Runtime类 运行时 构造函数私有化了
实例化对象
Runtime rt = Runtime.getRuntime();
使用方法
try {rt.exec("calc");打开计算机 rt.exec("D:\\software\\application\\CloudMusic\\CloudMusic\\cloudmusic.exe");打开网易云 地址 根据自己电脑来rt.exec("shutdown -s -t 100000");关机 后面是秒数rt.exec("shutdown -a");取消关机} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}