java小白从入门到精通(基础六)

十七:枚举(enum)

固定个数的实例(对象)集合
17.1 枚举的定义

public enum MyEnum {
    //枚举的成员
    myenum1,
    myenum2
}

十八:Java中的api

18.1 api是什么?
application program interface(应用程序编程接口)。
api在这指的是sun公司针对底层的功能的封装,供我们开发者更加方便的使用的功能就是api

18.2 java中我们原来使用过api吗?
在这里插入图片描述
System这个类是在rt.jar这个jar包中,这个jar包中有一个子包 java.lang这个子包很特殊,我们使用这个包中的api时,不用导入包的,因为jvm启动时会把java.lang包中的内容全部加载进来。

十九:hello world解密

System:
在这里插入图片描述
System不能被实例化,那我们调用的时候就只能使用类名。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二十: 断点调试(debug调试)

IDEA中跟踪程序的执行过程

f6: 继续执行下一步

f5:进入方法

f7:跳出方法

f8:跳过当前的断点,继续下一个断点

ctrl+f5:智能进入

二十一:String类型的api

java.lang.String
21.1 字符串的创建

String str1 = new String("hello");
String str2 = "hello";

21.2 字符串的比较

String str1 = new String("hello");
String str2 = new String("hello");
String str3 = "hello123";
String str4 = "hello123";
String str5 = "hello";

System.out.println(str1 == str2);//false
System.out.println(str3 == str4);//true
System.out.println(str1 == str5);//false

**== **比较的是对象的内存地址

21.3 字符串的创建原理
在这里插入图片描述
使用new关键字创建的对象,不会进行判断,字节开辟空间使用。
使用字节赋值的方式创建字符串对象,首先会进行内容的比较(hash),如果相同,则不会开辟新的内存空间,直接使用,如果不相同会开辟新的内存空间;
21.4 字符串的内容比较
字符串的内容比较使用继承自Objectequals方法,对equals进行了重写,功能就不是原来的比较字符串对象的内存地址了,而是比较字符串内容;
在这里插入图片描述
21.5 字符串的hash算法
在这里插入图片描述
在这里插入图片描述
*所以我们来看一下我们猜想的是否正确?
在这里插入图片描述
21.6 字符串的toString方法
在这里插入图片描述
21.7:String类型的其他方法

str.length();//获取字符串的长度
str.toCharArray();//把字符串转换为字符数组
String str2 = str.concat("好");//拼接字符串返回新的字符串(原来的str没有改变)
byte[] bytes = str.getBytes();//获取字符串说对应的字节数组(编码方式)
str.charAt(4);//截取字符串中指定位置的字符,返回截取到的字符,把这个字符返回
str.indexOf("e2l");//返回给定子串在str中出现的位置str.lastIndexOf("l");//返回给定子串在str中最后一次出现的位置str.isEmpty();//判断字符串的内容是否为"",返回布尔值(一般不用)
str.replace("h", "d");//替换字符串的部分子串
str.split(":");//分隔字符串,以固定的格式
str.substring(2,3);//截取字符串,区间为:左闭右开,返回截取到的子串

21.8 字符串的解码
编码: 把字符串—>字节数组
解码: 把字节数组—>字符串

String str = "a你";
//编码操作  默认编码方式UTF-8
byte[] byts = str.getBytes();

//解码  默认的解码方式UTF-8
String s = new String(byts);
System.out.println(s);

在实际开发中,编码方式和解码方式使用的编码表和编码方式一定要一致,要不肯定会出现乱码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值