栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

学Java 第12天

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学Java 第12天

一、StringBuffer/StringBuild(重点)

1.1简介
1.概念:线程安全的可变字符序列 个类似于 String 的字符串缓冲区
但通过某些方法调用可以改变该序列的长度和内容
append(boolean b) insert(int offset, boolean b)
2.String 与StringBuffer区别:
String 不可以变字符串 StringBuffer 是可变的字符串
String 操作字符串效率低 StringBuffer效率高 sql拼接
3.StringBuiler 与 StringBuffer的区别:
A.版本不一样
StringBuiler1.5 StringBuffer 1.0
B.效率
StringBuiler 效率高 StringBuffer 低
C.线程安全性
StringBuiler 安全性低 StringBuffer 安全性高
1.2构造方法

package com.qf.demo01;
public class Test01 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer();
System.out.println(sb.capacity());
StringBuffer sb1 = new StringBuffer(20);
System.out.println(sb1.capacity());
StringBuffer sb2 = new StringBuffer("张三");
System.out.println(sb2.capacity());
}
}

1.3 常用方法

package com.qf.demo01;
public class Test02 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("李小明");
sb.append("广州最靓的仔");
System.out.println(sb);
sb.insert(1,"叼毛");
System.out.println(sb);
sb.deleteCharAt(3);
System.out.println(sb);
sb.delete(3,5);
System.out.println(sb);
sb.reverse();
System.out.println(sb);
}
}

1.4 StringBuffer 与 String 互转
1.StringBuffer 转换为String
调用 toString()
利用构造方法 public String(StringBuffer buffer)
2.String 转换 StringBuffer
利用构造方法 public StringBuffer(String str);
调用方法 new StringBuffer().append(s);

package com.qf.demo01;
public class Test03 {
public static void main(String[] args) {
StringBuffer sb = new StringBuffer("陈小明");
System.out.println(sb.toString());
System.out.println(new String(sb));
String s="何小明";
System.out.println(new StringBuffer(s));
System.out.println(new StringBuffer().append(s));
}
}
二、包装类

2.1 简介
1.概念:将基本数据类型包装成引用数据类型 将基本数据类型封装成一个类
2.好处:
A.包装类可以调用类的属性与方法
B. 集合中的泛型必须使用包装类
3.罗列:(重点)
特点:
A.包装类就是基本数据累的首字母变为大写 除了 int 以及char类型

2.2 Integer
1.概念:
A.Integer 类在对象中包装了一个基本类型 int 的值
B.该类提供了多个方法,能在 int 类型和 String 类型之间互相转换
2.常量

3.构造方法

4.常用的成员方法

重点: parselnt方法,将字符串转为int类型int num = Integer.parseInt("123");
2.3 自动装箱与拆箱
1.装箱:将基本数据类型包装包装类 ===> 快递
2.拆箱:将包装类拆成基本数据类型 ==>拆快递
3.在jdk1.5之后 会自动自动装箱与拆箱

package com.qf.demo02;
public class Test03 {
  public static void main(String[] args) {
     Integer num =5; //自动装箱的过程
     int n = num; //自动 拆箱的过程
}
}

2.4
案例需求分析
1.根据空格来进行拆分 split(" ")
2.遍历数组将数据存入Integer数组中 parseInt()
3.排序 打印

import java.util.Arrays;
public class Test04 {
public static void main(String[] args) {
String str ="10 20 -1 70 100 50 30";
//对字符串进行分割
String[] arrays = str.split(" ");
Integer [] integers = new Integer[arrays.length];
//遍历
for (int i=0;i 
三、 BigInteger 

1.概述:不可变的任意精度的整数 BigInteger 描述整数的类型比int 类型范围更加大(大数据类型)
2.常量

4.常用的方法

四、BigDecimal(重点)

1.概念:不可变的、任意精度的有符号十进制数
2.构造方法

package com.qf.demo03;
import java.math.BigDecimal;
public class Test02 {
public static void main(String[] args) {
BigDecimal big01 = new BigDecimal("1234567890123423");
System.out.println(big01);
BigDecimal big02 = new BigDecimal(123456789);
System.out.println(big02);
BigDecimal big03 = new BigDecimal(1234567890.23);
System.out.println(big03);
}
}

3.常用的方法

package com.qf.demo03;
import java.math.BigDecimal;
public class Test03 {
public static void main(String[] args) {
BigDecimal big01 = new BigDecimal(10);
BigDecimal big02 = new BigDecimal(2);
System.out.println(big01.add(big02));
System.out.println(big01.subtract(big02));
System.out.println(big01.multiply(big02));
System.out.println(big01.divide(big02));
System.out.println(big01.remainder(big02));
BigDecimal big03 = new BigDecimal(10);
BigDecimal big04 = new BigDecimal(3);
//向上ROUND_UP //ROUND_DOWN 向下 ROUND_HALF_UP 四舍五入
System.out.println(big03.divide(big04,2,BigDecimal.ROUND_UP));
System.out.println(big03.divide(big04,2,BigDecimal.ROUND_DOWN));
System.out.println(big03.divide(big04,3,BigDecimal.ROUND_HALF_UP));
}
}
五 、Math(查看api了解)

1.概念:Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数 数学的工具类
2.常量

package day12;

public class Test04 {
    public static void main(String[] args) {
        System.out.println(Math.PI);
        System.out.println(Math.E);
        //绝对值
        System.out.println(Math.abs(-1));
        System.out.println(Math.abs(1));
        //取大取小
        System.out.println(Math.max(10,20));
        System.out.println(Math.min(10,20));
        System.out.println(Math.pow(2,3));//次方
        System.out.println(Math.cbrt(8));//开三次方
        System.out.println(Math.random());
        System.out.println(Math.round(2.3));//向上取整
        System.out.println(Math.floor(2.5));//向下取整
        System.out.println(Math.ceil(2.3));//四舍五入
    }
}

六 System

1.概述:System 类包含一些有用的类字段和方法。它不能被实例
2.常量

3.方法

System.currentTimeMillis 重点常用 获取系统当前毫秒值

七、Date

1.概念:类 Date 表示特定的瞬间,精确到毫秒 表示的是java中的时间对象
2.构造方法

Date d1 = new Date(1000);
System.out.println(d1);

输出1970年1月1日0点0分0秒加上1000毫秒的时间
3.常用方法

package com.qf.demo06;
import java.util.Date;
public class Test01 {
public static void main(String[] args) {
Date d = new Date(1000);
d.setTime(3000);
System.out.println(d);
System.out.println(d.getTime());
//System.out.println(d.getTime());
}
}

可以自己设置date 来与当前系统时间进行运算

八、Calendar(重点)

1.概念:Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR等 日历字段之间的转换提供了一些方法
2.获取Calendar ==>Calendar rightNow = Calendar.getInstance();
3.常用的方法

package day12;

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

public class Test06 {
    public static void main(String[] args) {
        Calendar cal= Calendar.getInstance();
        System.out.println(cal.get(Calendar.YEAR));
        System.out.println(cal.get(Calendar.MONTH)+1);//美国与中国不同,从0开始计月,所以加一
        System.out.println(cal.get(Calendar.DAY_OF_MONTH));
        System.out.println(cal.get(Calendar.HOUR));
        System.out.println(cal.get(Calendar.MINUTE));
        System.out.println(cal.get(Calendar.SECOND));
        Date date = cal.getTime();
        System.out.println(date);

    }
}

Calendar cal= Calendar.getInstance();Calendar 类是一个抽象类,必须通过静态方法来实例化Calendar对象
Date date = cal.getTime();将Calendar类型对象转换为Date类型

九、SimpleDateFormat(重点)

1.概念:格式化和解析日期的具体类
2.格式: yyyy-MM-dd == >年月日 yyyy-MM-dd hh:mm:ss 年 月 日 时 分 秒
hh表12小时制,HH表24小时制
3.构造方法:public SimpleDateFormat(String pattern) 参数表示传递格式的类型
4.常用的方法:
public StringBuffer format(Date date)== > 将Date 对象格式化指定时间格式 即 StringBuffer类型的对象名.format(date类型数据) 将date类型数据转为有格式的string数据
public Date parse(String text)==>将指定格式字符串时间转换为Date对象 即 StringBuffer类型的对象名.parrse(String数据有格式) 将有格式String类型数据转为date数据

package com.qf.demo06;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test03 {
public static void main(String[] args) throws ParseException {
Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String time = sdf.format(d);
System.out.println(time);
Date d1 = sdf.parse(time);
System.out.println(d1);
}
}

案例

package com.qf.demo06;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
public class Test05 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入出生日期");
String line =input.next();// 1968-11-23
//对字符串进行拆分
String[] arrays = line.split("-");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR,Integer.parseInt(arrays[0]));
cal.set(Calendar.MONTH,Integer.parseInt(arrays[1]));
cal.set(Calendar.DAY_OF_MONTH,Integer.parseInt(arrays[2]));
Date date = cal.getTime();
System.out.println(date);
long time = date.getTime();
//获取到系统毫秒值
long t = System.currentTimeMillis();
System.out.println((t-time)/1000/60/60/24/365);
}
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/708612.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号