IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> Java基础知识——Java常用类的使用 -> 正文阅读

[数据结构与算法]Java基础知识——Java常用类的使用

作者:JDK8%E4%B8%AD%E6%96%B0%E6%97%A5%E6%9C%9F%E6%97%B6%E9%97%B4API

目录

内容小结

String类

String对象的创建

字符串的特性判断

拼接

String类的常用方法

String和char[]的相互转换

实现代码

StringBuffer

StringBuffer常用方法

StringBuilder

JDK8之前日期时间API

Date类

Calendar日历类

常用方法的使用:

JDK8中新日期时间API

Instant类

格式化与解析日期或时间

DateTimeFormatter类

实例化的三种方式

Java比较器

Comparable接口

Comparator排序

实际在写算法题时用到的排序方法

System类

Math类

BigInteger类

BigDecimal类


?

内容小结

?

?

String类

?

String对象的创建

?

字符串的特性判断

?

?

?

拼接

?

?

String类的常用方法

?

?

?

String和char[]的相互转换

?

实现代码

package com.String;

import org.junit.Test;

// String与其他类型的转换
public class StringDemo {
    // String --> 基本数据类型、包装类:调用包装类的静态方法:parseXxx(str)
    // 基本数据类型、包装类 --> String:调用String重载的valueOf(xxx)
    @Test
    public void test1() {

        String s1 = "100";
        int i = Integer.parseInt(s1);
        String s2 = String.valueOf(i);
    }

    @Test
    public void  test2() {
//        String --> char[]:调用String的toCharArray()
//        char[] --> String:调用String的构造器

        String s1 = "hello world";
        char[] chars = s1.toCharArray();
        for (char i:chars) {
            System.out.println(i);
        }

        char[] char1 = new char[]{'a','b','c'};
        String str = new String(char1);
        System.out.println(str);
    }

    @Test
    public void tets3(){
//        编码:String --> byte[]:调用String的getBytes()
//        解码:byte[] --> String:调用String的构造器
        String s1 = "hello world";
        byte[] bytes = s1.getBytes();
        for (byte a : bytes) {
            System.out.println(a);
        }
        byte[] b = new byte[]{'h','e','l','l','o'};
        String s = new String(b);
        System.out.println(s);
    }
}

String s = "169"; 


byte b = Byte.parseByte( s ); 


short t = Short.parseShort( s ); 


int i = Integer.parseInt( s ); 


long l = Long.parseLong( s ); 


Float f = Float.parseFloat( s ); 


Double d = Double.parseDouble( s );

StringBuffer

?

?

StringBuffer常用方法

?

StringBuilder

JDK8之前日期时间API

?

Date类

?

Calendar日历类

常用方法的使用:

package com.ykx.java;

import org.junit.Test;

import java.util.Calendar;
import java.util.Date;

/**
 * @author: yangkx
 * @Title: DateTest
 * @ProjectName: JavaSenior
 * @Description:
 * @date: 2022/2/9 11:35
 * Calendar日历类的使用
 */
public class DateTest {

    @Test
    public void test(){
        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getClass());
        System.out.println("常用方法举例:");

        //get()
        System.out.println("====== get():======");
        int days = calendar.get(Calendar.DAY_OF_MONTH);
        System.out.println(days);
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));

        //set()
        System.out.println("====== set():======");
        calendar.set(Calendar.DAY_OF_MONTH, 22);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        //add()
        System.out.println("====== addt():======");
        calendar.add(Calendar.DAY_OF_MONTH, 5);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

        //getTime(): 日历类 --> Date
        System.out.println("====== getTime():======");
        Date date = calendar.getTime();
        System.out.println(date);
        
        //setTime(): Date --> 日历类
        System.out.println("====== setTime():======");
        Date date1 = new Date();
        calendar.setTime(date1);
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));

    }


}

JDK8中新日期时间API

?

package com.ykx.java;

import org.junit.Test;

import java.time.LocalDateTime;

/**
 * @author: yangkx
 * @Title: NewDateTest
 * @ProjectName: JavaSenior
 * @Description:
 * @date: 2022/2/9 12:08
 * JDK8中新的日期时间类使用
 */
public class NewDateTest {
    @Test
    public void test(){
        LocalDateTime localDateTime = LocalDateTime.now();
        System.out.println(localDateTime);
        System.out.println(localDateTime.getMonthValue());
        LocalDateTime localDateTime1 = localDateTime.withMonth(9);
        System.out.println(localDateTime1);
    }
}

?

Instant类

?

格式化与解析日期或时间

DateTimeFormatter类

?

实例化的三种方式

Java比较器

?

?

Comparable接口

?

package com.ykx.java;

import org.junit.Test;

import java.util.Arrays;

/**
 * @author: yangkx
 * @Title: CmpTest
 * @ProjectName: JavaSenior
 * @Description:
 * @date: 2022/2/9 14:22
 * comparable排序的实现
 */
public class CmpTest {
    @Test
    public void test() {
        Goods[] gs = new Goods[4];
        gs[0] = new Goods(12,1);
        gs[1] = new Goods(50,2);
        gs[2] = new Goods(50,3);
        gs[3] = new Goods(6,4);
        Arrays.sort(gs);
        System.out.println(Arrays.toString(gs));
    }
}
class Goods implements Comparable{
    int price;
    int num;
    Goods(){
    }
    public Goods(int price, int num) {
        this.price = price;
        this.num = num;
    }
    @Override
    public int compareTo(Object o) {
        Goods g = (Goods) o;
        if(this.price != g.price){
            return -(this.price - g.price);//从大到小
        }else{
            return (this.num - g.num);//从小到大
        }
    }

    @Override
    public String toString() {
        return "Goods{" +
                "price=" + price +
                ", num=" + num +
                '}';
    }
}

?

Comparator排序

实际在写算法题时用到的排序方法

class Solution {
    // 区间调度问题
    public int findMinArrowShots(int[][] intvs) {
        if (intvs.length == 0) return 0;
        // 按 end 升序排序
        Arrays.sort(intvs, new Comparator<int[]>() {
            public int compare(int[] a, int[] b) {
                return a[1] - b[1];
            }
        });
        // 至少有一个区间不相交
        int count = 1;
        // 排序后,第一个区间就是 x
        int x_end = intvs[0][1];
        for (int[] interval : intvs) {
            int start = interval[0];
            // 把 >= 改成 > 就行了
            if (start > x_end) {
                count++;
                x_end = interval[1];
            }
        }
        return count;
    }
}

System类

Math类

?

BigInteger类

?

BigDecimal类

?

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 13:22:22  更:2022-02-16 13:23:27 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:53:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码