Java教程

JAVA常用类

本文主要是介绍JAVA常用类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

外部类与内部类

  1. 内外部类属性名相同优先访问内部类

  2. 访问外部类用法:Outer(外部类名).this.xxx

  3. 内部类可以直接访问外部类的私密成员而不破坏封装性

  4. 创建内部类对象

    //1.创建外部类对象
      Outer outer = new Outer();
    //2.创建内部类对象
      Outer.Inner inner = outer.new Inner();
    ​
    //一步到位
    Outer.Inner inner = new Outer().new Inner();

     

局部内部类

  • 局部内部类不能加任何修饰符

  • 步骤:

    1. 声明内部类

    2. 创建内部类对象

    3. 调用内部类

      public class Outer{
          class Inner{
              //声明内部类
          }
          Inner inner = new Inner();//创建对象
          inner.xxx//调用
      }

       

匿名内部类

//接口
public interface Usb {
    void service();
}
​
class TextUsb{
 Usb usb = new Usb(){
     public void service(){
          System.out.println("链接电脑成功,风扇开始工作...");
      }
   };
     usb.service();
}

 

静态内部类

  1. 与外部类级别相同

  2. 创建静态内部类对象

    Outer.Inner inner = new Outer.Inner();
    //与创建非静态内部类对象区分
    Outer.Inner inner = new Outer().new Inner();

     

包装类

自动拆装箱

自动装箱:基本类型转换成引用类型

Integer integer1 = 100;

自动拆箱:引用类型转换成基本类型

int age = integer1;

 

基本类型与字符串类型之间的转换

  • 基本类型转换成字符串

  1. 使用“+”号

     int n1 = 255;
     String s1 = n1+"";
  2. 使用Integer中的toString()方法

    String s2 = Integer.toString(n1);
  • 字符串转换成基本类型

    1. 使用Integer.parsexxx();

      String str = "150";
      int n2 = Integer.parseInt(str);
      System.out.println(n2);
  • boolean类型字符串形式转成基本类型 :"true"---->true 非true ---->false

String str2 = "true";
boolean b1 = Boolean.parseBoolean(str2);

 

String类

两种创建方法

String name = "hello";//"hello"常量存储在方法区中的字符池中
name = "zhangsan";//把张三的值赋给name,给字符串赋值时没有修改数据,而是重新开辟一个空间
​
//演示字符串的另一种创建方式:new String()
String str = new String("java");
String str2 = new String("java");
System.out.println(str==str2);//false
System.out.println(str.equals(str2));//true

 

 

 

常用方法

  1. length();返回字符串的长度

  2. charAt(int index);返回某个位置的字符

  3. contains(String str);判断是否包含某个子字符串

  4. toCharArray();返回字符串对应的数组

  5. indexOf();返回子字符串首次出现的位置

  6. lastIndexOf();返回字符串最后一次出现的位置

  7. trim();去掉字符串前后的空格

  8. toUpperCase();把小写转成大写 toLowerCase();把大写转成小写

  9. endsWith(str);判断是否以str结尾,startsWith(str);判断是否以str开头

  10. replace(char old,char new);用新的字符或字符串替换旧的字符或字符串

  11. split();对字符串进行拆分

 

StringBuffer和StringBuilder

  1. 和String的区别:(1).效率比String高 (2).比String节省内存

  2. 常用方法: append(); 追加 insert(); 添加 replace();替换 delete();删除 toString();

 

BigDecimal类

  • 用于大的浮点数进行精确计算

  • 方法

    1. add(BigDecimal bd);加

    2. subtract(BigDecimal bd);减

    3. multipli(BigDecimal bd);乘

    4. divide(BigDecimal bd);除

      • 除不尽 (scale:保留两位小数 BigDecimal.ROUND_HALF_UP四舍五入)

    BigDecimal r5 = new BigDecimal("20")
                    .divide(new BigDecimal("3"),2,BigDecimal
                    .ROUND_HALF_UP);      

     

时间类型

Date类

public static void main(String[] args) {
        //1.创建date对象
        //今天
        Date date1 = new Date();
        System.out.println(date1.toString());
        //Wed Apr 06 13:22:40 CST 2022
        System.out.println(date1.toLocaleString());
        //2022年4月6日 下午1:22:40
    
        //昨天
        Date date2 = new Date(date1.getTime()-(60*60*24*1000));
        System.out.println(date2.toLocaleString());
        //2022年4月5日 下午1:22:40
    
        //2.方法after before
        boolean b1 = date1.after(date2);
        System.out.println(b1);//true
​
        //比较compareTo();
        int d = date1.compareTo(date2);
        System.out.println(d);//1
        //比较是否相等equals();
        boolean b2 = date1.equals(date2);
        System.out.println(b2);//false
    }

 

Calendar类

public static void main(String[] args) {
        //1.创建Calendar对象
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime().toLocaleString());
    //2022年4月6日 下午1:25:02
        System.out.println(calendar.getTimeInMillis());//1649222702589
    
        //2.获取时间信息
        //获取年
        int year = calendar.get(Calendar.YEAR);
        //月 从0-11
        int month = calendar.get(Calendar.MONTH);
        //日
        int day = calendar.get(Calendar.DAY_OF_MONTH);//Date
        //小时
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
    //HOUR12小时。HOUR_OF_DAY24小时
        //分钟
        int minute = calendar.get(Calendar.MINUTE);
        //秒
        int second = calendar.get(Calendar.SECOND);
        System.out.println(year+"年"+(month+1)+"月"+day+"日:"+hour+":"+minute+":"+second);
    //2022年4月6日:13:25:2
    
        //3.修改时间
        Calendar calendar2 = Calendar.getInstance();
        calendar2.set(Calendar.DAY_OF_MONTH,5);
        System.out.println(calendar2.getTime().toLocaleString());
    //2022年4月5日 下午1:25:02
    
        //4.add方法修改时间
        calendar2.add(Calendar.HOUR,-1);
        System.out.println(calendar2.getTime().toLocaleString());
    //2022年4月5日 下午12:25:02
    
        //5.补充方法
        int max = calendar2.getActualMaximum(Calendar.DAY_OF_MONTH);
        int min = calendar2.getActualMinimum(Calendar.DAY_OF_MONTH);
        System.out.println(max);//30
        System.out.println(min);//1
    }

 

SimpleDateFormat类

 public static void main(String[] args) throws Exception{
        //1.创建SimpleDateFormat对象
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        //2.创建Date
        Date date = new Date();
        //格式化date(把日期转成字符串)
        String str = sdf.format(date);
        System.out.println(str);
        //解析(把字符串转成日期)
        Date date2 = sdf.parse("1990/01/12 12:02:03");//需与上面的格式相同
        System.out.println(date2);
    }

 

System类

public static void main(String[] args) {
        //arrayCopy 复制数组
        //src 源数组
        //srcPos 从哪个位置开始复制
        //dest 目标数组
        //destPos 目标数组的位置
        //length 长度
        int[] arr={20,18,15,8,35,26,45,90};
        int[] dest=new int[8];
        System.arraycopy(arr,0,dest,0,arr.length);
        for(int i=0;i<dest.length;i++){
            System.out.println(dest[i]);
        }
​
        //读取毫秒
        long start =System.currentTimeMillis();
        for(int i=-9999;i<9999;i++){
            for(int j=-9999;j<9999;j++){
                int result =i+j;
            }
        }
        long end = System.currentTimeMillis();
        System.out.println("用时:"+(end-start));
​
        //System.gc();告诉垃圾回收器回收

 

 

这篇关于JAVA常用类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!