MATLAB 2018-04-06
Java专门提供了用来处理字符序列的String类。
String类在java.lang包中,由于java.lang包中的类被默认引入,因此程序可以直接使用String类。
需要注意的是Java把String类声明为final类,因此用户不能扩展String类,即String类不可以有子类。
可以使用String类声明对象并创建对象,例如:String s = new String("we are students");
String t = new String("we are students");
用户无法输出String对象的引用:
Syste.out.println(s);
输出的是对象的实体。
例如:
char a[] = {'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'}; String s = new String(a,2,4); 相当于 String s = new String("贰叁肆伍");
public int indexOf (String str):String对象调用方法从当前String对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是–1
public String trim() :得到一个新的String对象,这个新的String对象的字符序列是当前String对象的字符序列去掉前后空格后的字符序列。
Java.lang包中的Integer类调用其类方法:public static int parseInt(String s)
public static String valueOf(byte n) public static String valueOf(int n) public static String valueOf(long n) public static String valueOf(float n) public static String valueOf(double n)
所有的类都默认是java.lang包中Object类的子类或间接子类。
Object类有一个public String toString()
String(char[]);
String(char[],int offset,intlength)
分别用字符数组中的全部字符和部分字符创建字符串对象public void getChars(int start,int end,char c[],int offset )
将String对象的字符序列存放到数组中的方法public char[] toCharArray()
public byte[] getBytes(String charsetName)使用参数指定字符编码,将当前String对象的字符序列存放到字节数组,并返回数组的引用。
泛型(Generics),其主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构。
可以使用“class
名称<泛型列表>”声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类,如:class People<E>
其中People
是泛型类的名称,E
是其中的泛型,也就是说我们并没有指定E
是何种类型的数据,它可以是任何对象或接口,但不能是基本类型数据。
泛型类声明和创建对象时,类名后多了一对“<>”,而且必须要用具体的类型替换“<>”中的泛型。例如:
Cone<Circle> coneOne; coneOne =new Cone<Circle>(new Circle());
LinkedList
LinkedList
创建一个空双链表。
add(E obj) 向链表依次增加节点
public boolean add(E element)
向链表末尾添加一个新的节点,该节点中的数据是参数elememt指定的数据。public void add(int index ,E element)
向链表的指定位置添加一个新的节点,该节点中的数据是参数elememt指定的数据。public void clear()
删除链表的所有节点,使当前链表成为空链表。public E remove(int index)
删除指定位置上的节点。public boolean remove(E element)
删除首次出现含有数据elemen的节点。public E get(int index)
得到链表中指定位置处节点中的数据。public E getFirst()
得到链表中第一个节点中的数据。public E getLast()
得到链表中最后一个节点中的数据。public E removeFirst()
删除第一个节点,并返回这个节点中的数据。public static void shuffle(List<E> list)
将list中的数据按洗牌算法重新随机排列。static void rotate(List<E> list, int distance)
旋转链表中的数据。public static void reverse(List<E> list)
翻转list中的数据
public E push(E item);
实现压栈操作public E pop();
实现弹栈操作。public boolean empty();
判断堆栈是否还有数据。public E peek();
获取堆栈顶端的数据,但不删除该数据。public int search(Object data);
获取数据在堆栈中的位置
教材中代码调试有问题先去https://shimo.im/doc/1i1gldfsojIFH8Ip/看看,如果别人没有提出相同问题,可以编辑文档添加,然后把自己提出的问题复制到下面:
问题1解决方案:通过网上搜索得知
JAVA是一门安全性比较高的语言,它在编译之类要进行类型等一系列的检查。如果你使用了注解就可以告诉编译器不用检查,这样子就可以避过编译时期间的安全检查,这样子的效率会提高 。但同时 安全性就大打折扣了。
方法一: 在main方法面前加@SuppressWarnings("unchecked")
方法二:就是采用泛型。ArrayList<String> list = new ArrayList<String>();
例如:
import java.util.*; public class ListDemo { //@SuppressWarnings("unchecked") public static void main(String[] args) { StringBuilder buf = new StringBuilder("美丽"); //字符串生成器 buf.append("中"); // 输出: 美丽中 buf.append("国"); //输出:美丽中国 buf.insert(1,"达"); //输出:美达丽中国 buf.insert(0,"欢迎"); //输出:欢迎美达丽中国 System.out.println(buf); //ArrayList list = new ArrayList(); ArrayList<String> list = new ArrayList<String>(); list.add("中"); System.out.println(list); } }
没有设置X11 DISPLAY变量,但该程序执行了需要它的操作。
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 200/200 | 1/4 | 10/10 | |
第二周 | 300/500 | 1/5 | 10/20 | |
第三周 | 800/1300 | 1/6 | 20/40 | |
第四周 | 700/2000 | 2/8 | 20/60 | |
第五周 | 1100/ 3100 | 2/10 | 30 /90 | |
第六周 | 1100 /4200 | 1/ 11 | 15 /105 | |
第七周 | ||||
第八周 |
计划学习时间:15小时
实际学习时间:15小时
改进情况:
Java学习笔记(第8版)
《Java学习笔记(第8版)》学习指导