开发技能JavaJava 基础流程控制

switch_case:

switch case 执行时,一定会先进行匹配,匹配成功返回当前 case 的值,再根据是否有 break,判断是否继续输出,或是跳出判断。

如果 case 语句块中没有 break 语句时,JVM 并不会顺序输出每一个 case 对应的返回值,而是继续匹配,匹配不成功则返回默认 case。

如果当前匹配成功的 case 语句块没有 break 语句,则从当前 case 开始,后续所有 case 的值都会输出,如果后续的 case 语句块有 break 语句则会跳出判断。

String:

  • String类的内存模型
    • Java中,==比较的是栈里的值。equals()比较堆里的值。
    • String str = “str” 优化内存。常量池
  • String 类是最终类,不能被继承。
  • String 类不是基本数据类型,它是一个引用类型。默认值是null。特殊:不需要用new。
  • String类常用方法
    • charAt() 截取一个字符
    • length() 字符串的长度
    • getBytes() 将字符串变成一个byte数组
    • **equals() equalsIgnoreCase() **比较两个字符串是否相等,前者区分大小写,后者不区分
    • startsWith() 和 endsWith() 判断字符串是不是以特定的字符开头或结束
    • concat() 连接两个字符串 +
    • substring() 截取字符串【包前不包后】
    • indexOf() 和lastIndexOf() 前者是查找字符或字符串第一次出现的下标,后者是查找字符或字符串最后一次出现的地方
    • compareTo() 和compareToIgnoreCase() 按字典顺序比较两个字符串的大小,前者区分大小写,后者不区分
    • replace() 替换指定字符
    • split() 按指定字符切割
  • StringBuffer和StringBuilder
    • 场景:因为String是常量,每次修改其值都需要重新在堆内存中开辟新空间。这样再频繁对变量进行赋值操作时就会导致内存浪费。所以再需要**频繁对变量值进行修改**的时候,可以使用StringBuffer和StringBuilder。
    • StringBuffer上的主要操作是append和insert方法,将字符追加或插入到字符缓冲区中。append方法始终将字符添加到缓冲区的末端,而insert方法则在指定的位置添加字符。
    • StringBuilder 相较于 StringBuffer 有速度优势。
    • 在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。
  • Date类
    • Date类在java.util.Date中。是进行日期操作的类。Date类API
Date now = new Date();//获得当前时间
Date now = new Date(long millisec)//参数是从1970年1月1日起的毫秒数
- 使用SimpleDateFormat类对日期类型进行格式化,形成字符串。
public static void main(String[] args) {
   Date now = new Date(); // 创建一个Date对象,获取当前时间
   // 指定格式化格式
   SimpleDateFormat f = new SimpleDateFormat("yyyy年MM月dd日 HH点mm分ss秒");
   System.out.println(f.format(now)); // 将当前时间袼式化为指定的格式
}
Built with LogoFlowershow