809笔记---小白学Java

StringBuffer类

构造方法

  • StringBuffer() :构造一个没有字符的字符串缓冲区,初始容量为16个字符。
  • StringBuffer(CharSequence seq) :构造一个包含与指定的相同字符的字符串缓冲区 CharSequence .
  • StringBuffer(String str) :构造一个初始化为指定字符串内容的字符串缓冲区。

常用方法

返回值类型方法名含义
StringBufferappend( )追加数据
StringBufferinsert( )向指定位置插入数据
StringBufferdeleteCharAt(index)删除指定位置的数据
StringBufferreverse()反转
StringtoString()将对象中的数据以字符串的形式返回

示例

package com.qfedu.demo;

/**
 * @Author pengyu
 * @Date 2022/8/9 19:28
 * StringBuffer类
 */
public class Demo03 {
    public static void main(String[] args) {
        //创建一个StringBuffer对象
        StringBuffer strBuf = new StringBuffer();
        //append方法在末尾拼接字符串等
        strBuf.append("嘻嘻");
        System.out.println(strBuf); //嘻嘻

        strBuf.insert(1,"哈哈");
        System.out.println(strBuf);  //嘻哈哈嘻

        strBuf.deleteCharAt(2);
        System.out.println(strBuf);  //嘻哈嘻

        System.out.println(strBuf.toString()); //嘻哈嘻

        strBuf.append("小台蛙");
        System.out.println(strBuf.reverse());  //蛙台小嘻哈嘻
    }
}

枚举类(enum)一个特殊的类

语法格式

public enum 枚举类名 {
	//下面写常量,常量之间使用逗号隔开
	
}

示例

package com.qfedu.demo;

/**
 * @Author pengyu
 * @Date 2022/8/9 19:55
 */
public enum Color {
    //常量,一般都是大写的  没有任何数据类型的!!!
    RED,YELLOW,BLUE;
}

package com.qfedu.demo;

/**
 * @Author pengyu
 * @Date 2022/8/9 19:57
 */
public class Demo04 {
    public static void main(String[] args) {
        /**
         * 我们是通过类名.属性实现调用,因为属性是被static所修饰的
         */
        Color red = Color.RED;
        System.out.println(red);
    }
}

方法

  • values();枚举类中所有的值
  • ordinal();可以找到每个枚举类中常量的索引
  • valueOf();返回值的是指定字符串的枚举常量
package com.qfedu.demo;

/**
 * @Author pengyu
 * @Date 2022/8/9 19:57
 */
public class Demo04 {
    public static void main(String[] args) {
        Color[] values = Color.values();
        for (Color value : values) {
            System.out.println(value);
            /**
             * RED
             * YELLOW
             * BLUE
             */
        }
    }
}

包装类

基本数据类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean

面试题

Integer i1 = 10;
Integer i2 = 10;

Integer i11 = 1000;
Integer i22 = 1000;
System.out.println(i1 == i2);//true
System.out.println(i11 == i22); //false

内存分析

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4cVHTzuD-1660050321751)(1.png)]

Math数学类

用于数学基本运算:基本指数,对数,平方根和三角函数等。

方法名含义
abs()绝对值
max()最大值
min()最小值
ceil()向上取整
floor()向下取整
round()四舍五入
random()随机数:范围是0.0到1.0

示例

public static void main(String[] args) {
        System.out.println(Math.PI);
        System.out.println(Math.E);
        //以上是两个常量
        System.out.println(Math.abs(-89));//绝对值 89
        System.out.println(Math.max(34, 56));//最大值 56
        //求三个数的最大值?咋办?
        System.out.println(Math.max(23, Math.max(45,12)));//45

        //最小值
        System.out.println(Math.min(34, 12));//12
        //向上取整
        System.out.println(Math.ceil(45.2));//46.0
        //向下取整
        System.out.println(Math.floor(89.8));//89.0
        //四舍五入
        System.out.println(Math.round(45.5));//46
        //随机数大于等于 0.0 ,小于 1.0   double
        System.out.println(Math.random());

    }

Random类

产生随机数的类

构造方法

  • Random() :创建一个新的随机数生成器
  • Random(long seed) :使用单个long种子创建一个新的随机数生成器

常用方法

返回值类型方法名含义
intnextBoolean()随机生成一个布尔值
doublenextDouble()随机生成一个[0~1)之间的double值
intnextInt()在int的存储范围内随机生成一个int值
intnextInt(int bound)随机生成一个[0~bound)之间的int数
floatnextFloat()随机生成一个[0~1)之间的float值
longnextLong()在long的存储方位内随机生成一个long值

Date类

不过好多方法已经过期了

在类的所有方法Date接受或返回年,月,日,小时,分钟和秒值,以下表述中使用:

  • y年代表整数y - 1900
  • 一个月由0到11的整数表示; 0是1月,1是2月,等等; 11月12日。
  • 日期(月的一天)以通常的方式从1到31的整数表示。
  • 一小时由0到23之间的整数表示。因此,从午夜到凌晨1点的时间是小时0,从中午到下午1点的小时是12小时。
  • 一般以0〜59的整数表示。
  • 第二个由0到61的整数表示; 值60和61仅发生在闰秒上,甚至仅在实际上正确跟踪闰秒的Java实现中发生。 由于目前引入闰秒的方式,在同一分钟内不会发生两个闰秒,但是本规范遵循ISO C的日期和时间约定。
public static void main(String[] args) {
        Date date = new Date();
        //Tue Aug 09 16:11:11 IRKT 2022
        System.out.println(date);
        //获取年份 这个年份是减去1900以后的值,所以得加上1900
        System.out.println(date.getYear() + 1900);
      
        //获取月份
        System.out.println(date.getMonth() + 1);//7
        //这个日期的星期几。
        System.out.println(date.getDay());//2
        System.out.println(date.getHours());//16
        System.out.println(date.getMinutes());//15
        System.out.println(date.getSeconds());//42


    }

Calendar类

目前较多的是该类

public static void main(String[] args) {
        Calendar calendar = Calendar.getInstance();
        //获取当前的年份
        int i = calendar.get(Calendar.YEAR);
        System.out.println(i);//2022
        //获取月份  需要加1的
        System.out.println(calendar.get(Calendar.MONTH) + 1);//8
        //获取当月的第几天
        System.out.println(calendar.get(Calendar.DAY_OF_MONTH));//9
        //获取这周的第几天  漂亮国的周日是第1天
        System.out.println(calendar.get(Calendar.DAY_OF_WEEK));//3
        //获取这一年的第几天
        System.out.println(calendar.get(Calendar.DAY_OF_YEAR));//221
        //获取时
        System.out.println(calendar.get(Calendar.HOUR));//4
        System.out.println(calendar.get(Calendar.MINUTE));//39
        System.out.println(calendar.get(Calendar.SECOND));//3

        //重要的方法  获取当前的时间的 返回值是Date类型的数据
        //可以转为Date类型的数据
        Date time = calendar.getTime();
        System.out.println(time);
        //Tue Aug 09 16:40:21 IRKT 2022
        //这上面时间 对程序员相当不友好!!!
        //通过一个类将日期格式转换一下
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy—MM-dd HH:mm:ss");
        //yyyy-MM-dd HH:mm:ss
        //年-月-天 时:分:秒
        //2022-08-09  16:43:32
        //将这个格式Tue Aug 09 16:40:21 IRKT 2022
        //转换为2022-08-09  16:43:32
        String format = sdf.format(time);
        System.out.println(format);
        //yyyy-MM-dd HH:mm:ss
        //以上能不能胡乱写?不能
        //以后开发中要用的!!

    }

共同学习,共同进步,每天进步一点点

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值