ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java常用类

2021-08-07 19:05:21  阅读:164  来源: 互联网

标签:常用 java String System Date println Calendar out


文章目录

  • 前言
  • 一、Object类
  • 二、String和StringBuffer类
  • 三、Math类
  • 四、Date类、Calendar类、SimpleDateFormat类


前言

java类有很多,但我们只需要记住其中的常用类即可,代表着经常会被用到的事件或者某项功能。

一、Object类

所有类的父类皆为Object类,一个类在声明时没有使用extends关键字为其显示指定父类,则该类默认继承Object类。

Object类的三大常用方法

方法名返回类型说明
equals(Object obj)boolean判断指定对象与该对象是否相等
hashCode()int返回该对象的哈希码值(内存地址值)
toStringString使用字符串表示该对象信息

Object类的toString()方法默认返回“运行时类名+@+十六进制的hashCode值”格式的字符串

com.test.Book@52e922

实例:


public  class FuLei {
    public void test(){
            Bank bank =new Bank();
            boolean flag = this.equals(bank);
            System.out.println("eauals返回值"+flag);
            String toResult = this.toString();
            System.out.println("toString()返回值"+toResult);
            int hashCode =this.hashCode();
            System.out.println("hashCode()返回值"+hashCode);
        }
        public  static void main(String[] args){
              FuLei fuLei = new FuLei();

              fuLei.test();
        }

}

 

二、String类和StringBuffer类

String类是不可变类,被final修饰,一个String对象所包含的字符串内容永远不会被改变;

StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改。

String类构造方法

构造方法说明
String()创建一个内容为空的字符串
String(String value)初始化一个新创建的String对象,使其表示一个与参数相同的字符序列
String(byte[]bytes,Charset charset)使用指定的字符编码,将指定的byte[]数组构造成一个字符串
String(char[] char)将制定的char[]数组构造成一个字符串

String类常用方法

方法名说明
char charAt(index)获取指定位置的字符
String concat(String str)拼接
Boolean equals(Object object)比较内容而不是地址值
byte[] getBytes()转换
int indexOf(String str)找出首次出现的位置
int length()长度
String replace(char oldChar,char newChar)替换
boolean endsWith(String suffix)判断
String substring(int beginIndex,int endIndex)获取子字符串
char[] toCharArray()转换
String toUpperCase()转换成大写

1.演示String类常用方法的使用

代码如下(示例):


public class ZiFu {
    public static void main(String[] args){
        String value ="Asdfdfs";
        System.out.println(value);
        String value1 = value.concat("love");
        System.out.println(value1);
        int index = value.indexOf("A");
        System.out.println(index);
        int lengh = value.length();
        System.out.println(lengh);
        boolean flag = "hello String".equals(value);
        System.out.println(flag);
        boolean tag =value.endsWith(".java");
        System.out.println(tag);
        String newValue = value.toUpperCase();
        System.out.println(newValue);
        String val = value.substring(0,2);
        System.out.println(val);
        String[] str =value.split("-");
        for(String data:str){
            System.out.println(data);
        }
        byte[] bytes = value.getBytes();
        for(byte date : bytes){
            System.out.println(date);
        }
    }

}

 注意:

我们可以观察到第三行为0,说明concat方法不能被使用,同时证实了String是一个不可变类

再如类似于替代的方法同样不可行

 使用new String(“hello")在创建对象时,首先在堆内存中创建一个”hello"对象,然后再查找常量池中是否存在“hello”字符串对象,如果存在,则不会在常量池中再创建一个新的“hello"对象,否则会创建一个新的”hello"对象。

StringBuffer类常用方法

方法名说明
StringBuffer append(String str)追加
StringBuffer insert(intoffset,String str)插入指定位置
StringBuffer reverse()反转
void setCharAt(int index,char ch)设置为ch

2.演示StringBuffer类常用方法的使用

代码如下(示例):

public class ZiFuChuan {
    public static void main(String[] args){
        StringBuffer stringBuffer = new StringBuffer();
        stringBuffer.append("Inteligence");
        System.out.println(stringBuffer);
        stringBuffer.insert(0,"Artifical");
        System.out.println(stringBuffer);
        stringBuffer.replace(10,11,"-");
        System.out.println(stringBuffer);
        stringBuffer.reverse();
        System.out.println(stringBuffer);
        String str = "java";
        String newStr = str+"Android";

    }
}

 

 三、Math类

Math类是数学相关的工具类,里面提供了大量的静态方法,完成与数学运算相关的操作。

public static double abs(double num):获取绝对值

public static double ceil(double num):向上取整

public static double floor(double num):向下取整

public static long round(double num):四舍五入

 演示Math类方法的使用

public class ShuXue {
    public static void main(String[] args) {
        System.out.println("-3的絕對值"+Math.abs(-3));
        System.out.println("向上取整"+Math.ceil(3.3));
        System.out.println("向下取整"+Math.floor(3.3));
        System.out.println("四舍五入"+Math.round(4.5));
        System.out.println("27的算術立方根的值"+Math.cbrt(27));
        System.out.println("4的平方根的值"+Math.sqrt(4));
        System.out.println("3的2次方的值"+Math.pow(3,2));
        System.out.println("8和10兩個數的最大值"+Math.max(10,8));
        //返回一個隨機數,該值的範圍在0.0~1.0之間
        System.out.println("產生的隨機數"+Math.random());
        System.out.println("弧度為π/6的正弦值"+Math.sin(Math.PI/6));
    }
}

四、日期处理类

Date类

Date类处理日期和时间

构造方法说明
Date()创建一个代表当前日期的对象
Date(long time)根据指定long类型整数生成一个Date对象

Date(long time)代表创建的是在GMT1970年1月1日00:00:00之间的时间,以毫秒作为计算单位

 演示Date类构造方法的使用

import java.util.Date;

public class Time {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
        Date newDate = new Date(1000*60*60*24*20);
        System.out.println("20天后的時間為"+newDate);
    }
}

 

 

Calendar类

  • 主要解决Date类设计上的一些问题,所以java提供了Calendar类更好的处理日期和事件
  • Calendar类是一个抽象类,所以不能实例化Calendar对象,但是Calendar类提供了静态的方法getInstance()以获得Calendar对象
  • Calendar与Date类可以相互转换

通过getInstance()方法创建Calendar类对象

Calendar calendar = Calendar.getInstance();

从Calendar中获取Date对象

 Date date = calendar.getTime();

将Date对象赋给对应的Calendar对象

calendar.setTime(new Date()); 

使用Calendar类实现对日期的操作

 

public class Time {
    public static void main(String[] args) {
        Date date = new Date();
        System.out.println(date);
        Date newDate = new Date(1000*60*60*24*20);
        System.out.println("20天后的時間為"+newDate);

        Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        System.out.println("年:"+calendar.get(Calendar.YEAR)+"年");
        System.out.println("月:"+(calendar.get(Calendar.MONTH)+1)+"月");
        System.out.println("日:"+calendar.get(Calendar.DATE)+"日");
        System.out.println("星期:"+(calendar.get(Calendar.DAY_OF_WEEK)-1)+"星期");
        System.out.println("本年的第:"+calendar.get(Calendar.DAY_OF_YEAR)+"天");
    }
}

 

 SimpleDateFormat类

SimpleDateFormat类用于日期时间的格式化与解析各种格式的日期字符串

该类的作用就在于构造器,而在创建该类时我们需要传入一个模板字符串

日期格式化模板标记

标记书写规范
yyyyy
MMM
ddd
HHH
mmm
sss

 

 

 

 

 

 

 

 

具体操作如下:

 


public class SimpleDateFormatUse {
    private static final String PARRENT1 = "yyyy-MM-dd HH:mm:ss";
    private static final String PARRENT2 ="yyyy年MM月dd日 HH小時mm分ss秒";
    public static void parse(String strDate){
        SimpleDateFormat sdf = new SimpleDateFormat(PARRENT1);
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(PARRENT2);

        try{


            Date date = sdf.parse(strDate);
            System.out.println("strDate解析后成的date"+date);
            String str = simpleDateFormat.format(date);
            System.out.println(str);

        }catch (ParseException e){
            e.printStackTrace();

        }


    }
    public static void main(String[] args) {
        SimpleDateFormatUse simpleDateFormatUse = new SimpleDateFormatUse();
        String str ="2020-05-05 12:12:12";
        simpleDateFormatUse.parse(str);
    }
}

 

标签:常用,java,String,System,Date,println,Calendar,out
来源: https://blog.csdn.net/qq_41916318/article/details/119155606

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有