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+1 System.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位置开始加入后面的值 dfffd System.out.println(sb);
3.delete 删除指定位置到指定位置的数据
StringBuffer sb = new StringBuffer("dengyankang"); sb.delete(2, 5);指定从下标2开始删除到下标5 System.out.println(sb);
4.区间替换 replace
StringBuffer sb = new StringBuffer("dengyankang"); sb.replace(0, 4, "tang");0-4替换成tang 输出结果 tangyankang System.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);//true Integer b = new Integer(10); System.out.println(i == b);//false因为b integer是新建出来的比的是内存位置所以不相等 Integer c = new Integer(10); System.out.println(b == c);//false Integer 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)); 1010 int 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.141592653589793 System.out.println(Math.abs(-12)); 绝对值 System.out.println(Math.round(12.89)); 四舍五入 System.out.println(Math.random()); 随机数,随机数生成的数字智能介于0-1之间 //0-9 double 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 block e.printStackTrace(); }