Java加强--1.常用类

本文回顾了Java中的静态成员特性,介绍了System类、错误输出(err)和基本输出(out)的区别,讲解了Math类和Scanner类的用法,详细讨论了包装类的概念、作用以及字符串操作,包括String、StringBuilder、StringBuffer的使用和方法。
摘要由CSDN通过智能技术生成

一、回顾

alt shift + o 自动接收对象

  • static 关键字(静态的)
    • 修饰属性:类变量,全局变量(类名.属性名)
    • 修饰方法:类方法(类名.方法名)

只要是加了static修饰的属性或者方法,都会在调用主方法之前就会加载到内存中

    • 代码块
    • 静态代码块
    • 实例变量:是创建的类里面的,成员变量:是放在主方法里面的
    • 实例方法:就是没有加static修饰的方法(类名.方法名),加了static就是类方法 (对象.方法名)
    • 对象级别的才可以被重写,而static是类级别的,所以静态方法不可以被重写
  • final修饰方法 :最终的
    • 内部类:
      • 静态内部类:
      • 成员内部类:放在方法外
      • 局部内部类:放在方法内
      • 匿名内部类:创建接口对象或抽象类对象,减少设计中间子类
  • ctrl alt M 快速抽取选中代码
  • 代码块
    • 静态代码块 构造代码块:父类静态代码块 子类静态代码块 父类构造方法 父类构造代码块 子类构造代码块 子类构造方法
  • 枚举
    • 写法和类一样
  • final:没有子类不能被继承

二、常用类

  • System类(不能被实例化,因为构造方法使用了Private修饰私有化了,他是final类不能被继承 )
    • err:错误输出,输出的信息字体默认为红色;
System.err.prinrln("错误信息输出")
    • out:基本信息输出
System.err.prinrln("信息输出")
    • in:信息输入,在控制台输入数据
System.in
例如
Scanner sc = new Scanner(System.in)
  • currentTimeMillis:获取当前时间的毫秒数
  • exit(0):终止当前的java虚拟机
  • arraycopy(Object src ,int srcPos, Object dest , int destPost, int length);
    • 设计时使用了多态的特性向上转型,提高了通用性
    • src:被复制的数组
    • srcPos:从这个下标开始赋值
    • dest:赋值到目标数组
    • destPost:目标数组开始放入的下标
    • length:赋值的长度(元素个)
    • 从src数组中从srcPos下标开始赋值元素,赋值dest数组,从destPos下标开始放入总共赋值length个元素
  • Scanner类:简单文本扫描器 (final修饰不能被继承)
    • 作用:用来获取控制台输入的信息
    • 常用方法
      • next 获取单个字符串数据(不能有空格,否则只会获取空格之前的
      • nextLine 获取多个字符串(可以包含空格)
    • 获取整数
    • 获取浮点型:
    • 获取布尔型:
    • 使用方式:
      • 1.创建文本扫描器
      • Scanner sc = new Scanner(System.in);
      • 2.提示用户输入
      • System.out.println("请输入xxx");
      • 3.获取输入的数据
      • String name = sc.nextLine();
      • ...............
  • Math类(类方法,私有的)
    • 封装很多的数学需要的方法
    • 常用的属性
      • E:2.71
      • PI:3.14
    • 常用的方法
      • 1.四舍五入:
        • ceil (小数):向上取值,返回值类型是double,只要小数点后有大于0的就会向上取值
          Math.ceil(3.01) // 4.0
        • floar(小数):向下取值,返回值类型是double,只要小数点后有值直接抹去

Math.floar(3.999) //3.0

        • round(小数):小数后第一位大于等于5向上取值,否则向下取,返回值类型如果参数double,返回值类型是long参数,float返回值类型是int
        • Math.round(4) // 4
      • 2.获取两个数中最大值或最小值
        • max(int a,int b)
        • min(int a,int b)
      • 3.pow(int a , int b):a 的 b 次方
      • 4.random():产生0-1之间的随机数
  • 讲解包装类
    • 概念:java中每一个基本类型对应一个引用类型(类),这个类就是包装类
    • 基本数据类型 :
      • 整型
        • byte --> Byte:是byte类型的包装类
        • short -->Short:是short类型的包装类
        • int --> Integer:是int类型的包装类
        • long --> Long:是long类型的包装类
      • 浮点型
        • float -->Float:是float的包装类
        • double -->Double:是double的包装类
      • 字符型
        • char -->Character:是char类型的包装类
      • 布尔型
        • boolean -->Boolean:是boolean类型的包装类
    • 包装类的作用:
      • 统一所有属性的默认值
      • 将字符串(纯数字)转换为对应的基本类型
    • 包装类的用法:
      • 装箱:将基本类型变为包装类(1.手动装箱,2.自动装箱)
      • 拆箱:将包装类转为基本数据类型(1.手动装箱,2.自动装箱)
      • 将字符串转为int类型Integer.parseInt(String s)
      • 将字符串转为包装类integer.valueof(s)
      • Character
        • isDigit
      • 方法 数组 循环
/*
 * 回顾
 * 包装类:每一个基本类型对应一个类
 * int - Integer
 * char - Character
 * 其他六个把首字母变为大写
 *
 * 作用:1、将属性的默认值统一null 2、将字符串转换为对应基本类型
 *
 * 装箱和拆箱
 * 装箱:把基本类变为包装类
 * new Integer(10); Integer.valueOf(10);手动装箱
 * Integer in = 10;
 * Java中整型(byte short int long)采用自动装箱,并且值是在-128--127之间,使用的对象是JVM给我们创建好
 * Byte:在缓存区中创建256个对象
 * Short:在缓存区中创建256个对象(-128 -- 127)
 * Integer:在缓存区中创建256个对象(-128 -- 127)
 * Long:在缓存区中创建256个对象(-128 -- 127)
 * 享元模式:整型在采用自动装箱,并且值在-128 -- 127
 *
 *  Integer.parseInt()
 *
 *  拆箱:把包装类转为基本类型
 *  in1.intValue():手动拆箱
 *  int a = in1; 自动拆箱
 *
 *  Character:char的包装类
 *  常用的方法:
 *  1)、isDigit(char ch):判断一个字符是不是数字,返回值类型boolean
 *  2)、isLetter(char ch) :判断一个字符是否是一个字母
*/
  • String字符串
    • String:不可修改的字符串(常量);
    • StringBuilder:可以修改的字符串(线程不安全);
    • StringBuffer:可以修改的字符串(线程安全)
  • 创建String对象的方法
    • 底层使用一个常量的字节(byte) 数组来完成
    • String s1 = new String("abc")
      • 1.在堆里面开辟空间
      • 2.“abc”s是放在常量池的
      • 3.将常量池的地址交给堆里面
      • 4.在堆里面的地址给s1

  • String 常用的方法
    • char charAt(int index) 返回char指定索引处的字符,不能超过下标范围
    • codePointAt(int index) 返回指定索引处的Ascll码值
    • concat(srt):将指定的字符拼接到字符串的末尾返回一个新的String字符串
  • CharSequence(一个接口),也可以传入String
  • 例:
  • String t1 = "abcdef";
  • t1.contains("abc") // t1包含abc,所以为true
    • contains(CharSequence s):检测字符串内是否存在这个str,如果包含就是true不包含就是fales
    • StarWith(String suffx):判断是否以xxx开头
    • endsWith(String suffix):判断是否是以xxx结尾
    • equals:字符串与指定对象比较值
    • getBytes():将字符串转为字节数组
    • getChar():将字符串中的字符复制到目标数组中
    • indexOf():返回第一次出现的字符串内的索引
    • lastIndexOf():返回最后一次出现的字符串内的索引
    • length():获取字符的个数
    • replace(char oldChar(要替换的字符),char newChar(替换的字符)):替换指定的字符
    • replaceAll()替换所有字符
    • split(regex):分割字符串,返回的是字符串数组
    • subSequence():截取字符串(很少用)
    • subString (Start index):截取字符串从下标开始到结束
    • subString (Start index,End index):从开始下标到结束(含头不含尾)
    • toCharArray();将字符串转为字符数组,返回的是char类型数组
    • toLowerCase():将大写字母全部转为小写字母
    • toUpperCase():将小写字母全部转为大写字母
    • deleteCharAt((int index )删除 char在这个序列中的指定位置。
    • delete(int start, int end)
    • trim():清除字符串前后的空格
    • toString > valueof >+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值