IT第九天 - 包、访问修饰符、变量的内存分配、String类中常用方法

IT第九天

上午

1.包的命名规则:域名.项目名称.模块名

2.如:Wfei.com.windows.login

访问限制符

1.四种访问限制符分别对应为:

(1)default:默认的,默认为protect

(2)public:公共的引用了本类的都可以访问的

(3)protect:在同一个包中的可以访问

(4)private:只能在当前类中才可以访问

方法优化

1.逻辑思维:猜拳游戏的设定

下午

内存分配

1.在8种数据类型中,除了String型是类外,其他7种数据类型,均是结构体,结构体数据类型的值是可变的,而String型的值是不可变的(在此,理解为:不可变,即它的值是只能更换指向常量池中其他的值,如果没有则创建,而不能在原来指向的那个值上更改这个值为需要的值)

2.内存分配问题:

(1)结构体变量:为变量开辟的内存地址1 +   值所在常量池的地址2;1指向2

(2)类\实例变量:为变量开辟的内存地址1 +   为实例开辟的内存地址2 + 实例化的值所在常量池的地址3;1指向2,2引用3

3.String类型值在使用“==”比较时:比较的是变量所指向的内存地址,如果变量时类\实例变量,则比较的是为实例开辟的内存地址,不是实例所引用的常量池中的地址

String

1.常用方法:

(1)equals()比较的原理:取出字符串中的每个字符进行比较,因此在比较过程中会产生多个“临时”字符串,如:hello会产生h/e/l/l/o/hell/hel/he

(2)str.toUpperCase()、str.toLowerCase():转换字符串的大小写

(2)str1.equalsIgnoreCase(str2):比较两个字符串,并忽略大小写

(3)str.replace(‘a’,’b’)、str.replace(“a”,”b”):将str中所有为a的字符替换成b

(4)str.replaceAll(“a”,”b”):将str中所有为a的字符替换成b,该方法中的a还可以是【正则表达式】,在以后的编程中,替换字符多会用到该方法

(5)其他:indexOf(String) + indexOf(string,int、lastIndexOf(String)、charAt(int)、substring(int) +   substring(int,int)

String中常用方法原理模拟

1.indexOf()

2.charAt()应用

3.trim()方法截取掉字符串首尾的空格

晚上

String方法深入

1.未完成

问题

1.String类型的值是不可变的,如何理解

2.String类型的值,使用”==”比较的工作原理理解

笔记

1.包的命名规则:Wfei.com.windows.login

2.protect:在同一个包中能访问,private:在当前类能被访问,默认的情况是protect

3.在8种数据类型中,除了String是类外,其他的都是结构体

4.内存的分配:

(1)变量:变量的地址   + 值在常量池的地址

(2)实例:变量的地址   + 实例所在地址 + 值在常量池的地址

5.String中常用的方法:toUpperCase()、toLowerCase()、equalsIgnoreCase()、repalce()、replaceAll()、indexOf()、lastIndexOf()、charAt()、substring()

6.String类型值时不可变的:原因是String的值是指向值的,不是本身,当改变String值时是将其指向其他的值,而不是在原来的值上修改值

7.String在使用“==”进行比较时,其真实比较的是地址,“abc” != new String(“abc”)

上一篇:Java中final与 static final 修饰的常量的区别


下一篇:小型资源管理器,IO操作,读取和写入文件和目录的常用操作