书籍推荐又来了《JAVA实战第二版》
????程序员节是用来买书的????
String类
一、定义时三者的区分
1.#include<cstring>
using namesapce std;
不可以定义string s; 可以用到strcpy 等函数
2.#include<string>
using namesapce std;
可以定义string s; 可以用到strcpy 等函数
3.#include<string.h>
using namesapce std;
不可以定义string s; 可以用到strcpy 等函数
二、toString()方法
1.toString()方法在Object类里定义的,其返回值类型为String类型,返回类名和它的引用地址
三、java List方法
Java List中的常用操作:
list中添加,获取,删除元素;
list中是否包含某个元素;
list中根据索引将元素数值改变(替换);
list中查看(判断)元素的索引;
根据元素索引位置进行的判断;
利用list中索引位置重新生成一个新的list(截取集合);
判断list是否为空;
返回Iterator集合对象;
将集合转换为字符串;
将集合转换为数组;
去重复;
四、indexOf() 方法
可返回某个指定的字符串值在字符串中首次出现的位置。
五、Array.copyOf()
用于复制指定的数组内容以达到扩容的目的,该方法对不同的基本数据类型都有对应的重载方法
数组拷贝时调用的是本地方法 System.arraycopy() ;
Arrays.copyOf()方法返回的数组是新的数组对象,原数组对象仍是原数组对象,不变,该拷贝不会影响原来的数组。copyOf()的第二个自变量指定要建立的新数组长度,如果新数组的长度超过原数组的长度,则保留数组默认值。
在进行添加时,有普通添加与指定位置添加
在进行删除操作时,有指定位置删除一个或者多个,如果要删除的元素在集合中有多个,那么不能全删除掉,此时应该倒序遍历删除。
六、“”.equals(“”)方法
String username = “”;
“”.equals(username) 和 username.equals("")的区别
当username =null的时候:
username.equals("")会出现异常如下:Exception in thread “main” java.lang.NullPointerException
建议用"".equals(username)
七、 数组遍历
String nameTmp:students//可以随时选择跳出,弄一个计数器
八、集合
在List集合中,我们常用到ArrayList和LinkedList这两个类。
ArrayList底层通过数组实现,随着元素的增加而动态扩容。而LinkedList底层通过链表来实现,随着元素的增加不断向链表的后端增加节点。
九、 *memset函数:char型初始化函数
头文件:<string.h>或者<memory.h>
函数原型:void *memset(void *s,int ch,size t)
memset(结构体/数组名,用于替换的ASCII码对应字符,前n个字符)
memset(结构体/数组名,“用于替换的符号”,前n个字符)
函数解释:将s中的前n个字节用ch替换,并且返回s
函数作用:在一段内存块中填充某一个给定的值,常用于较大的对结构体和数组的清零操作
memset实例
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char str[10];
str[9] = 's';
memset(str,'b',9);
for(int i=0;i<10;i++){
cout<<str[i]<<" ";
}
return 0;
}
#include<iostream>
#include"string.h"
using namespace std;
int main(){
char str[10];
str[9] = 's';
memset(str,97,sizeof(char)*10);
for(int i=0;i<10;i++)
{
cout<<str[i]<<" ";
}
return 0;
}
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char str[10];
memset(str,98,sizeof(str)-3);
for(int i=0;i<10;i++){
cout<<str[i]<<" ";
}
return 0;
}