03.java课复习stringandstringbufferMathAndCalender

1.String类(equals比较内容,)

int i=2;
String s="2";//应用类型,就是字符串对象,有方法,都在java.lang包中
//使用构造方法
String s= new String();
String s1= new String("xxx");
 char[] c={'a','b','c'};
 //常用的方法
trim();//去收尾空格 
toLowerCase();//小写
s.charAt(5);//5号位置的字符,从0开始
length()//长度
indexOf('c');//求下标
lastIndexOf('c')//最后一个c的下标
    //字符串的转换操作,转数组...
    char[] charArray=s.toCharArray() //转为字符数组  
    //int转String
     String.valueOf(12);//"12",是一个重载的参数,就可以传入不同的参数
    //字符串替换
       String s="itaa";
        s.replace("it","xxit");//替换的字符,替换后的字符
   //去除所有空格
       s.replace(" ","");//!!!
   //字符串的判断 !!!
      s.startsWith("Str");//是否以这个开始
      s.endsWith("ng")//结尾
      s.contains("tri")//包含怎么字符串
     String s5=""; //String s5=null;用这个方法会报空指针异常
      s1.isEmpty()//判断是否为空 
   //判断 equals()   !!!
    String s1="xxx";
    String s2="xxx";
    String s3=new String("xxx");
    String s4=new String("xxx");
    s1.equals(s2);//比较的是内容,在string常量池
    s1==s2 //比较的是地址
    s3.equals(s4);//比较内容  true
    s3==s4 // 对象不同地址不同 false
//截取字符串
str.subString(4); //从index为4开始截取 4后面的字符串(包括第4个)
str.subString(4,6);//从4到6的索引,不包括6  
   //分割字符串
   String str="ctr-bb-cc"
    String[] arr=str.spilt("-");//分割出 str和bb和cc,像刀一样切出来 2刀3段
   for(arr: item)
    sout(item);

2.StringBuffer(区分,内容和长度都可以改变,不会产生新stringbuffer对象)(用于反转和插入更新)(直接写函数可以改变原来的对象)

   //直接改自己,上面会返回对象
   //例子
  StringBuffer sb=new StringBuffer();
  sb.append("abc");
  sb.insert(2,"123");//index为2,插入ab123c
  //删除
    StringBuff sb=new StringBuffer("123");
  sb.insert(0,2);// [0,2]
   sb.insert(0,sb.length());//相当于直接清空
   //修改
     StringBuffer sb=new StringBuffer("123");
     sb.setCharAt(1,'p'); //替换字符 1p3 
     sb.replace(0,2,"qq"); //[0,2)    qq3
    sb.reverse();     //3qq
  //区别 string是覆盖的equals方法
  //,stringbuffer是object的方法,造出来的对象等于之前后面的对象

3.StringBuilder 一组可以改变的字符序列(了解)
//equals比较地址
new StringBuilder(“aaa”)
sb.charAt(1);
sb.append(“”);
replace();
replace();

4.空指针

   String  aa=null;
      aa.concat("aa"); //没有指向地址,就没有这个方法(调用会,连接不会)
      //已经定义的字符串不能被修改, 另外给别人连接,字符串不改变
     String aa="10"
    fun1(aa);
   void func1(String aa){
      aa+="100";//会开辟新的分区存储

  }

5.比较3个字符串

  s1.compareTo(s2); //返回>0   =0  <0
   s3.compareTo(s); //java和javae,更多字符更大
   //统计某个字符出现的个数
   for(int i=s.indexOf('l');i<=s.lastIndexOf('l');i++){
	i=s.indexOf('l',i);//直接跳到有l的地方
                count++;
   }   

6.包装类(包装成类,有构造方法,…其他方法继承object有toString方法)(基本类型没有方法)(都有parsexxx(String)方法)
(无法继承)

    char  Character
    int     Integer
    其他首字母大写
    装箱 :   基本数据类型-->引用类型
    拆箱    引用类型--->基本类型
   //Integer还拥有其他方法除了object的方法
     toBinaryString(int i);//二进制的string返回
     parseInt("111"); //把String转int类型
    Integer num=20;//自动装箱
    int a=num +10;//自动拆箱

7.System与Runtime类

  Scanner scanner=new Scanner(System.in);//系统的输入流
    String xx=scanner.next();//字符串
                                  nextInt(); 
    // System类
        System.exit(0); //非0 表示停止jvm
                    .gc(); //jvm自动垃圾回收,调用这个会立即回收
                    .currentTimeMillis();//返回当前毫秒数 1990.1.1开始 时间戳
     //系统的属性
        System.Properties()//写错
      //Runtime
          Runtime rt =Runtime.getRuntime(); 
                         rt.availableProcessors()//处理器格式
                         rt.freeMemory/1024/1024  //得到空闲内存
                         rt.maxMemory/1024/1024 //最大可用内存

8.Math

Math.abs(-1)
         System.out.println(Math.ceil(-0.05));//-0.00
         .ceil(5.6)//向上取值 6 不管多少
          .ceil(5.2)                6
          .floor(-4.2)  //   -5  
           .floor(4.2) // 4
           .round(4.6) //四舍五入 5
            .round(-4.6)// -5
           .max(2.1,-1) //求最大值
           .min(10,1)//最小值
           (int)(Math.random()*100) //随机数 double 0-0.1
           .PI
           .E  //数学的E=2.7....

9.Radom类

Radom r=new Radom();//伪随机数  
r.nextInt(10);  //[0,100)
new Radom(10);//随机数种子,种子固定结果固定

10.Date(很多过期)

 Date d=new Date(1000000);//传入时间戳 
 Date d=new Date(1000000); //一般用构造方法,看系统时间

11.Calender类日历类 对日期和时间操作(抽象类)

Calender c=Calender.getInstance();
       c.set(2021,7,8);
       c.add(Calender.DATE,100); //延长时间,竣工时间
 c.get(Calender.YEAR);//获取年
                        .MONTH //月份 0-11,!!!必须还要-1
                        .DATE   //得到这一月多少天
 //得到11月有多少天
 Calendar calendar= Calendar.getInstance();
    calendar.set(2022,11,1);//相当于12月-1天
    calendar.add(Calendar.DATE,-1);
    System.out.println(calendar.get(Calendar.DATE));

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值