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”) |
|
IT第九天 - 包、访问修饰符、变量的内存分配、String类中常用方法的更多相关文章
- java的访问控制(包、访问修饰符、修饰符)
一. java的类包 编写好一个源程序后,首先要执行javac命令进行编译源文件,并生成与源文件同名后缀为“.class”的字节码文件(类文件),该类文件与源文件默认在同一个目录中.该类文件是 ...
- Java中各种(类、方法、属性)访问修饰符与修饰符的说明
类: 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 名称 说明 备注 public 可以被本项目的所 ...
- Java中各种修饰符与访问修饰符
Java中各种修饰符与访问修饰符 类: 访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称 (访问修饰符与修饰符的位置可以互换) 访问修饰符 名称 说明 备 ...
- 【译文】 C#面向对象的基本概念 (Basic C# OOP Concept) 第一部分(类,对象,变量,方法,访问修饰符)
译文出处:http://www.codeproject.com/Articles/838365/Basic-Csharp-OOP-Concept 相关文档:http://files.cnblogs.c ...
- java 访问修饰符
此题考察修饰符,函数定义等,故从网上搜罗了下相关资料,总结如下: 类.方法.成员变量和局部变量的可用修饰符 修饰符 类 成员访求 构造方法 成员变量 局部变量 abstract(抽象的) √ √ - ...
- 1.7Oob封装 继承 访问修饰符 静态和构造方法的执行顺序
1:访问修饰符 private 同类中 默认 同类 同包 protect 同类 同包 子类 public 同类 ...
- C#和JAVA 访问修饰符
JAVA ----------------------------------------------- 访问修饰符 描述 ------------------------------- ...
- Java访问修饰符(转)
类.方法.成员变量和局部变量的可用修饰符 修饰符 类 成员方法 构造方法 成员变量 局部变量 abstract(抽象的) √ √ - - - static (静态的) - √ - √ - public ...
- Java的访问修饰符的作用范围
访问修饰符: private default protected public 作用范围: 访问修饰符\作用范围 所在类 同一包内其他类 其他包内子类 其他包内非子类 private 可以访问 不可以 ...
随机推荐
- javascript操作JSON字符
1.先要区分JSON字符串和JSON对象 JSON字符串: Var strJSON = “{“Area”:[{“AreaId”:”123”},{“AreaId”:”345”}]}”, 或者 Var ...
- sql 分割字符串 存储过程
默认是用 , 分割,如有需要可以自己更改 我写的是 循环插入数据 存储过程,也可以自己改成 方法使用 存储过程: ),@jrid int) as begin declare @location int ...
- 【原创】ASP.NET Web开发,实现打印Log日志,步骤详解
添加Log需要四步: 一.引用log4net.dll,详见附件:http://pan.baidu.com/s/1c0hab2g 二.项目根目录下,添加 log4net.xml <?xml ver ...
- C++内联函数与宏定义
用内联取代宏: 1.内联可调试: 2.可进行类型安全检查或自动类型转换: 3.可访问成员变量. 另外,定义在类声明中的成员函数自动转化为内联函数. 文章(一) 内联函数与宏定义 在C中,常用预处理语句 ...
- Android NDK开发(1)----- Java与C互相调用实例详解
链接地址:http://www.cnblogs.com/lknlfy/archive/2012/03/13/2394153.html 一.概述 对于大部分应用开发者来说可能都不怎么接触到NDK,但如果 ...
- 关于已经安装python为何还要安装python-dev
linux发行版通常会把类库的头文件和相关的pkg-config分拆成一个单独的xxx-dev(el)包. 以python为例, 以下情况你是需要python-dev的 你需要自己安装一个源外的pyt ...
- hdu 4614 Vases and Flowers 线段树
题目链接 一共n个盒子, 两种操作, 第一种是给出两个数x, y, 从第x个盒子开始放y朵花, 一个盒子只能放一朵, 如果某个盒子已经有了, 那么就跳过这个盒子放下面的盒子. 直到花放完了或者到了最后 ...
- 基于Visual C++2013拆解世界五百强面试题--题4-double转换成字符串
请用C语言实现将double类型数据转换成字符串,再转换成double类型的数据.int类型的数据 想要完成题目中的功能,首先我们的先对系统存储double的格式有所了解. 浮点数编码转换使用的是IE ...
- BZOJ 1008 越狱 (组合数学)
题解:正难则反,从总数中减去全部相邻不相同的数目就是答案,n*(n-1)^(m-1):第一个房间有n中染色方案,剩下m-1个房间均只有n-1种染色方案,用总数减就是答案. #include <c ...
- Libev学习笔记4
这一节首先分析Libev的定时器部分,然后分析signal部分. 对定时器的使用主要有两个函数: ev_timer_init (&timeout_watcher, timeout_cb, .) ...