Java期末复习6

String类

演示

  1. String 对象创建 。

  2. 获取字符串信息(包括长度、索引位置) 。

  3. 字符串操作(判断相等、分割) 。

  4. 字符串格式化(日期时间格式化)。

package string;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * @author WuYongheng
 * @date 2021/12/4
 * @description String类的使用
 */
public class TestString {
    public static void main(String[] args) {
        // 用构造函数创建字符串
        String s1 = new String("hello-java");
        // 直接创建
        String s2 = "hello";
        // 获取字符串的长度
        int i = s1.length();
        System.out.println("字符串s1的长度为:" + i);
        // 获取字符串索引位置,返回指定索引处的 char 值。
        char a1 = s1.charAt(2);
        System.out.println("下标为2处的char值为:" + a1);
        // 两个字符串进行比较
        int result = s1.compareTo(s2);
        System.out.println("比较的结果为:" + result);
        // 字符串分割
        System.out.println("- 分隔符,设置分割份数2,返回值 :");
        for (String r : s1.split("-", 2)) {
            System.out.println(r);
        }
        // 使用 SimpleDateFormat 格式化日期
        Date dNow = new Date();
        SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        System.out.println("格式化之前:"+ dNow);
        System.out.println("格式化之后: " + ft.format(dNow));
    }
}

StringBuffer 和 StringBuilder的比较(简答题)    

定义  

  • String:字符串常量,不可变。   
  • StringBuffer:字符串变量(Synchronized,线程安全)。如果要频繁对字符串内容进行修改,出于效率考虑最好使用StringBuilder。如果想转成String类型,可以调用StringBuffer的toString()方法。    
  • StringBuilder:字符串变量(非线程安全)。在内部,StringBuilder对象被当作是一个包含字符序列的变长数组。

区别

  1. String :不可变字符串。
  2. StringBuffer:可变字符串、效率低、线程安全。
  3. StringBuilder:可变字符串、效率高、线程不安全。
  4. 由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下使用 StringBuilder 类。
  •  当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。
  •  和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。
  •   StringBuilder 和 StringBuffer 之间的最大不同在于 StringBuilder 的方法不是线程安全的(不能同步访问)。由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。

获取随机数

package javaRevise.math;

import java.util.Random;

/**
 * @author WuYongheng
 * @date 2021/12/4
 * @description 演示获取随机数
 */
public class TestRandom {
    public static void main(String[] args) {
        Random random = new Random();
        for (int i = 0; i < 10; i++) {
            int numA = random.nextInt(20);
            System.out.println(numA);
        }
    }
}

Java的开发人员规定了,取值范围是   [ 0 , value )

 效果

        20不在取值范围内。

 

装箱和拆箱的概念(简答题)

答:

  •  装箱就是  自动将基本数据类型转换为包装器类型。
  •  拆箱就是  自动将包装器类型转换为基本数据类型。
Integer i = 10;  //装箱

int n = i;   //拆箱
基本数据类型所对应的包装器类型
int(4字节)Integer
byte(1字节)Byte
short(2字节)Short
long(8字节)Long
float(4字节)Float
double(8字节)Double
char(2字节)Character
boolean(未定)Boolean

    演示

public class Main {
    public static void main(String[] args) {
         
        Integer i1 = 100;
        Integer i2 = 100;
        Integer i3 = 200;
        Integer i4 = 200;
         
        System.out.println(i1==i2);    // true
        System.out.println(i3==i4);    // false
    }
}

         如果数值在 [-128,127] 之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象

instanceof 运算符

概念

        instanceof是Java中的二元运算符,左边是对象,右边是类;当对象是右边类或子类所创建对象时,返回true;否则,返回false

        该运算符用于操作对象实例,检查该对象是否是一个特定类型(类类型或接口类型)。

演示

package javaRevise.math;

/**
 * @author WuYongheng
 * @date 2021/12/4
 * @description 演示instanceof运算符
 */
public class TestInstanceof {
    public static void main(String[] args) {
        Integer a = 10;
        boolean result1 = a instanceof Object;
        boolean result2 = a instanceof Integer;
        System.out.println(result1);
        System.out.println(result2);
    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值