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”) |