20165310java_blog_week6
2165310 《Java程序设计》第6周学习总结
教材学习内容总结
String
- 构造
String str=new String()String (char a[])String (char a[],int startIndex,int count)
- 并置
- 常量的并置是常量(可以用
==进行比较) - 变量的并置是新对象(不能用
==只能用equals()进行比较
- 常量的并置是常量(可以用
- 常用方法
public int length():获得String对象的字符序列长度。public boolean equals(String s):比较字符序列是否相同。- 比较
public boolean startsWith(String s):比较字符序列前缀是否为指定字符序列。public boolean endsWith(String s):比较字符序列后缀是否为指定字符序列。public int compareTo(String s):按字典序列与指定字符序列s比较大小。
- 索引
public boolean contains(String s):判断是否包含指定 字符序列public int indexOf(String s):返回s首次出现的位置public int lastIndexOf(String s):返回s最后出现的位置public int indexOf(String s,int startpoint):返回指定索引开始位置之后的,s首次出现的位置
- 从String获得String新对象
public String substring(int startpoint):返回复制指定位置到最后位置的字符序列所得到的新序列public String substring(int start,int end):返回复制指定开始位置到指定结束位置的字符序列所得到的新序列
- 字符串与基本指定数据类型的相互转化
- 基本数据类型转化为String类:
public static String valueOf(<基本数据类型> n) - String类型转化为基本数据类型:
<基本数据类型> n=<相应类>.parse<相应数据类型>(s)
- 基本数据类型转化为String类:
- 对象的字符串表示:
public String toString():返回创建对象类名@对象的引用的字符串,可重写。 - 字符串与字节数组、字节数组
- 字符串转化为字符数组
public void getChars(int start,int end,char c[],int offset):从数组C的offset处存放String类字符序列sart到end-1处的字符。public char[] toCharArray():返回一个长度相等的数组。
- 字符数组转化为字符串:见String类构造
- 字符串转化为字节数组
public byte[] getBytes():使用默认字符编码,存放String的字符序列到字节数组中,并返回引用。public byte[] getBytes(String charsetName):使用指定字符编码,存放String的字符序列到字节数组中,并返回引用。(可能返回UnsupportedEncodingException异常)
- 字符串转化为字符数组
String(byte[]):用指定字节数组构造一个String对象。String(byte[],int offset,int length):从字节数组offset位置取length个字节构造String对象。
- 字符串转化为字符数组
- 替换(利用正则表达式)
public String repalceAll(String regex,String replacement):用replacement字符序列替换regex匹配的序列。
- 分解(利用正则表达式)
public String[] split(Sring regex):存放按照regex分割的单词在String数组中。(注意前缀是否匹配影响数组存放)StringBuff
- 构造
- StringBuff()
- StringBuff(int size)
- StringBuff(String s)
- 获得相关信息
length():获取字符序列长度capacity():获得实体容量
- 常用方法:
- append方法
StringBuff append(String s):追加s到StringBuff中。StringBuff append(int n):n转化为String类,追加到StringBuff中。StringBuff append(Object o):追加o的字符序列表示到StringBuff中。
public char charAt(int n):得到StringBuff位置n处的字符。public void setChar(int n,char ch):用ch替换StringBuff位置n处的字符。StringBuff insert(int index,String str):在index位置处插入str。public StringBuff reverse():翻转StringBuff字符序列。StringBuff replace(int startIndex,int endIndex,String str):用str替换startIndex到endIndex-1处的字符序列。分解字符序列
- append方法
- StringTokenizer(不可用正则表达式)
- 构造方法:
StringTokenizer(String s):默认分隔标记分析s。StringTokenizer(String s,String delim):指定分隔标记delim分析s。
- 常用方法:
hasMoreTokens():查看计数变量是否大于一。nextTokens():逐个获取String对象单词。countTokens():获得计数变量的值。
- 构造方法:
- Scanner(可用正则表达式)
- 构造方法:
Scanner scanner=new Scanner(str) - 常用方法
useDelimiter(正则表达式):利用正则表达式解析str。hasnext():判断最后一个单词是否被返回。next():依次返回单词。nextInt()或者nextDouble:依次返回单词并进行类型转换为int或者double型。正则表达式:
在假期实验楼学习和书本p186到188中都有,已经整理过不多加赘述。
Random
- 构造方法:
- 构造方法:
public Random()public Random(seed)
- 常用方法
nextInt(int n):返回0-n之间的某个整数。nextDouble():返回0-1.0之间的随机数。nextDouble():返回0-1.0之间的随机数。nextBoolean():随机返回true或者false。Console
- 构造
- 引入java.io包
Console cons=System.comsole()
- 键盘键入
char[] passwd=cons.readPasswoerd()泛型
- 泛型类声明:
class 名称<泛型列表> 声明对象:同样多加一个
链表
- 构造:
LinkedList<String>mylist=new LinkList<String>() - 常用函数
public boolean add(E element):链表末尾添加数据为element的新结点。public boolean add(int index,E element):链表指定位置添加数据为element的新结点。public boolean clear():删除链表所有结点,使成为空链表。public boolean remove(E element):删除链表首次出现element的结点。public E remove(int index):删除指定位置结点。public int indexOf(E element):返回首次出现element的位置,没有返回-1。public int lastIndexOf(E element):返回最后出现element的位置,没有返回-1。public E set(int index,E element):替换index位置结点数据为element。public int size():返回链表长度,即结点个数。public boolean contains(Object element):判断是否有结点数据为element。public boolean addFirst(E element):链表头添加数据为element的新结点。public boolean addLast(E element):链表末尾添加数据为element的新结点。public E getFirst:得到第一个结点中的数据。public E getLast:得到最后结点中的数据。public E removeFirst(int index):删除第一个结点,并返回这个结点数据。public E removeLast(int index):删除最后一个结点,并返回这个结点数据。public Object clone():得到一个克隆列表。
- 迭代器:
- 构造:
Iterator <String> iter=list.iterator() iter.hasNext()iter.next()
- 构造:
- 排序和查找:
public static sort(List<E>list):元素升序排列int binarySearch(List<T>list,T key,CompareTo<T> c):折半查找是否含有参数key
- 洗牌与翻转
public static void shuffle<List<E> list):洗牌static void rotate(List<E> list,int distance):旋转`
public static void reserve<List<E> list):翻转堆栈
- 创建:
Stack<E> - 压栈:
public E push(E item) - 弹栈:
public E pop() - 判断是否空栈:
public boolean empty() - 获取栈顶数据:
public E peek() 返回数据索引:
public int search(Object data)散列映射
- 构造:
HashMap<String,Student> hashtable=HashSet<String,Student>() - 常用方法
public void clear():清空public Object clone():返回当前散列映射的一个克隆public boolean containsKey(Object key):判断是否有键/值对使用了参数指定的键public boolean containsValue(Object value):判断是否有键/值对使用了参数指定的值public V get(Object key):返回用key做键的键/值对中的值public boolean isEmpty():判断是否不含任何键/值对public V remove(Object key):删除key做键的键/值对,返回对应的值public int size():返回散列映射大小,即键/值对数目树集
- 构造:
TreeSet<E> - 常用方法:
public boolean add(E o):添加结点,数据为参数opublic void clear():删除所有结点public void contains(Object o):判断是否包含指定参数的对象public E first():返回第一个结点中的数据public E last():返回最后一个结点中的数据public boolean isEmpty():判断是否空集public boolean remove(Object key):删除存储指定参数的最小结点- public int size()`:返回结点数目
- 树映射
TreeMap<K,V,>教材学习中的问题和解决过程
- Mac中一个字符占三个字节,一开始以为占两个字节,导致运行结果是乱码
解决过程:和结对学习的小组成员共同讨论,查找,发现问题后改正。


代码托管



上周考试错题总结
测试完成后补充
20165310java_blog_week6的更多相关文章
随机推荐
- AOP与JAVA动态代理
1.AOP的各种实现 AOP就是面向切面编程,我们可以从以下几个层面来实现AOP 在编译期修改源代码 在运行期字节码加载前修改字节码 在运行期字节码加载后动态创建代理类的字节码 2.AOP各种实现机制 ...
- tomcatserver解析(五)-- Poller
在前面的分析中介绍过,Acceptor的作用是控制与tomcat建立连接的数量,但Acceptor仅仅负责建立连接.socket内容的读写是通过Poller来实现的. Poller使用java n ...
- Ajax返回乱码
1.关于JSP页面中的pageEncoding和contentType两种属性的区别: pageEncoding是jsp文件本身的编码,contentType的charset是指服务器发送给客户端时的 ...
- Linux输入输出重定向和文件查找值grep命令
Linux输入输出重定向和文件查找值grep命令 一.文件描述符Linux 的shell命令,可以通过文件描述符来引用一些文件,通常使用到的文件描述符为0,1,2.Linux系统实际上有12个文件描述 ...
- 智能指针 - 现代C++新特性总结
C++98中的智能指针通过一个模板类auto_ptr来实现,new操作符返回的指针可以交由它来管理,程序员不用再显式的调用delete,这在一定程度上避免了堆内存忘记释放的问题:不过auto_ptr有 ...
- 万恶之源 - Python初识函数
什么是函数 我们目前为止,已经可以完成一些软件的基本功能了,那么我们来完成这样一个功能:约x pint("拿出手机") print("打开陌陌") print( ...
- webpack相关
原文 https://segmentfault.com/a/1190000005089993 Webpack是目前基于React和Redux开发的应用的主要打包工具.我想使用Angular 2或其他 ...
- Linux (RHEL)修改时区
1.修改配置文件修改为上海时区 vi /etc/sysconfig/clock ZONE="Asia/Shanghai" 2.创建上海时区的软连接 ln -sf /usr/shar ...
- Android弹性滑动的三种实现方式
引言 上一篇文章我们介绍了实现弹性滑动的三种方式,但仅仅是给出了代码片段和方法理论.今天我们结合一个具体的例子来谈一下如何使用这三种方法来实现弹性滑动.今天我们的例子是仿IOS的下拉操作,我们知道An ...
- SV中的覆盖率
SV采用CRT的激励形式,而判断验证进度的标准也就是覆盖率(coverage). 覆盖率的两种指定形式:显式的,直接通过SV来指定出的,如SVA,covergroup. 隐式的,在验证过程中,随&qu ...