《java程序设计》第七周学习总结

20175225 2018-2019-2 《Java程序设计》第7周学习总结

教材学习内容总结

常用实用类

  • String类
    - 程序可以直接使用String类,但不能进行扩展,即String类不可以有子类
    - 常用构造方法
    - String(char a[])用一个字符数组a创建一个String对象
    char a[ ] = {'J','a','v','a'}; String s = new String(a);
    - String(char a[ ],int startIndex,int count)提取字符数组a中的一部分字符创建一个String对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数
    char a[ ] = {'零 ' , '一 ' , '贰 ' , '叁 ' , '肆 ' , '伍 ' , '陆 ' , '柒 ' , '捌 ' , '玖 ' }; String s = new String(a,2,4); 相当于 String s = new String(" 贰叁肆伍");
    - String对象可以用'+'进行并置运算,即首尾相接得到一个新的String对象,即
    String you = '你 '; String hi = ' 好'; String testone = '你好 '; String testtwo = hi + you; String testone = String testtwo; 的结果为false
    - String类的常用方法
    - public int length()方法用来获取一个String对象的字符序列的长度
    String china = "1945年抗战胜利"; int n1,n2; n1 = china.length(); n2 = "小鸟fly".length(); 则n1的值是9,n2的值是5
    - 字符串不能直接相等,要用public boolean equals(String s)
    String对象调用equals(String s)方法比较当前String对象的字符序列是否与参数s指定的String对象的字符序列相同
    String tom = new String("天道酬勤"); String boy = new String("知心朋友"); String jerry = new String("天道酬勤"); 则tom.equals(boy)的值是false,tom.equals(jerry)的值是true 注:若tom == jerry 的值是false
    - public boolean startsWith(String s)
    String对象调用startsWith(String s)方法,判断当前String对象的字符序列前缀是否是参数指定的String对象s的字符序列
    String tom = "天气预报,阴有小雨", jerry = "比赛结果,中国队胜利"; 则tom.startsWith("天气")的值是true,jerry.startsWith("天气")的值是false
    - public boolean endsWith(String s)
    String对象调用endsWith(String s)方法,判断当前String对象的字符序列后缀是否是参数指定的String对象s的字符序列
    则tom.endsWith("大雨")的值是false,jerry.endsWith("胜利")的值是true
    - public int compareTo(String s)
    String对象调用compareTo(String s)方法,按字典序与参数指定的String对象s的字符序列比较大小。如果当前String对象的字符序列与s相同,该方法返回值为0;如果大于s的字符序列,该方法返回正值;如果小于s的字符序列,该方法返回负值
    - public boolean contains(String s)
    String对象调用contains方法判断当前String对象的字符序列是否包含参数s的字符序列
    例如,tom="student",那么tom.student("stu")的值就是true,而tom.contains("OK")的值是false
    - public int indexOf(String s)
    String对象调用方法indexOf(String str)从当前String对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置,如果没有检索到,则返回负一;indexOf(String str,int startpoint)方法是一个重载方法,参数startpoint的值用来指定检索的开始位置
    String tom = "I am a good cat"; tom.indexOf("a"); //值是2 tom.indexOf("good",2); // 值是7 tom.indexOf("a",7); //值是13 tom.indexOf("w",2); //值是-1
    - public Int lastIdexOf(String s)
    String对象调用方法lastIdexOf(String str)从当前String对象的字符序列的0索引位置开始检索最后一次出现str的字符序列的位置,并返回该位置,如果没有检索到,则返回负一
    - public String substring(int satrtpoint)
    String对象调用substring(int start,int end)方法获得一个新的String对象,新的String对象的字符序列是复制当前String对象的字符序列中的start位置至end-1位置上的字符所得到的字符序列
    String tom = "我喜欢篮球"; String str = tom.substring(1,3); 那么对象str的字符序列是"喜欢"
    - public String trim()
    String对象调用trim()方法获得一个新的String对象,这个新的String对象的字符序列是当前String对象的字符序列去掉前后空格的字符序列
  • 学会正则表达式的使用
    - 什么是正则表达式
    - 字符串的替换
    - 字符序列的分解
  • 熟悉String类和StringBuffer类的不同
    - String对象的字符序列是不可修改的(实体不可变)
    - StringBuffer类的对象的实体的内存空间可以自动的改变大小,便于存放一个可变的字符序列(实体可变)
  • 学会使用StringTokenizer、Scanner类,并清楚二者使用时的区别
    - StringTokenizer类把分解出的单词全都存放在StringTokenizer对象的实体中,获取单词速度快,但是占用内存多
    - Scanner类不把单词放到Scanner对象的实体中,而是仅仅存放获取单词的分隔标记,获取单词速度相对较慢,但是节省内存空间
  • 了解Date类、Calendar类和format方法的使用
  • 熟悉Math类、BigInteger类和Random类的应用条件
    - Math类:random方法生成的随机数是double型的并且取值范围是[0.0,1.0)
    - BigInteger类:当程序中需要处理特别大的整数时就可以使用该类
    - Random类:虽然也是生成随机数,但是用起来比Math类灵活

教材学习中的问题和解决过程

问题1:
java中的Scanner类和C语言中的scanf有什么区别吗
问题1解决方案:
查阅资料知:
1.java是面向对象的语言
它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数
2.java.util包下有Scanner类
Scanner类的功能与scanf类似
3.Scanner类的使用
Scanner使用next()方法接收输入的任何字符串
以回车换行符为结束标志
Scanner接收的字符串需要经过类型转换变成你想要的类型
码云链接

代码托管

总结

在这周的学习中,能够进一步体会教材程序的编译运行等操作,收获很多,对之前学习的知识有了一定的巩固,也加深了对一些知识的印象。

posted @ 2019-04-14 20:54  20175225  阅读(199)  评论(0编辑  收藏  举报