第七周Java学习总结
一.知识点摘要
1.String类
- 获取字符串某一位置的字符 public char charAt(int index)
- 获取字符串的子串
public String substring(int beginIndex) //该方法从beginIndex位置起, //从当前字符串中取出剩余的字符作为一个新的字符串返回。
public String substring(int beginIndex, intendIndex)//该方法从beginIndex位置起,从当前字符串中//取出到endIndex-1位置的字符作为一个新的字符串返回
2.StringTokenizer类
StringTokenizer是一个用来分隔String的应用类
- 构造函数
public StringTokenizer(String str);public StringTokenizer(String str, String delim); public StringTokenizer(String str, String delim, boolean returnDelims) - 核心方法
public boolean hasMoreTokens();public String nextToken();public String nextToken(String delim);public int countTokens() - 多余方法
public boolean hasMoreElements();public boolean hasMoreElements()
这个类实现了Enumeration接口
3.StringBuffer类
-
添加 append(): append(可以添加多种类型 包括基本数据类型); 例如:String、int、double、Boolean等,都可以转变成字符串表示形式。
-
插入insert(): setCharAt(int index , char ch)方法 ,将索引处的字符修改为ch.
-
删除delete( , ): 移除此序列的字符串中的字符,该子字符串是从指定的索引start处开始,一直到索引end - 1处,如果end - 1超出最大索引范围则一直到序列尾部。
-
替换
private static void fun5() {
StringBuffer sb = new StringBuffer();
sb.append("wukong");
sb.replace(0, 4,"tian");
System.out.println(sb);
} -
反转
把字符串反转 ;字符串 转到 StringBuffer ,StringBuffer转字符串private static void fun7() { String string = "wukong"; //字符串--->字符串缓冲区 StringBuffer sb = new StringBuffer(string); sb.reverse(); //反转后转回字符串 string = sb.toString(); System.out.println(string); }
4.Date类和Calender类
Date类是唯一的一个代表时间的类
使用Date类代表当前系统时间
由于Calendar类是抽象类,且Calendar类的构造方法是protected的,所以无法使用Calendar类的构造方法来创建对象。
5.Math类,BigInteger类,Random类
Math类
Math类在java.lang包中.
常用的方法有
Math.abs(double x)返回x的绝对值.
Math.max(double x,double y)返回x和y的较大者.
Math.pow(double x,double y)返回x的y次幂.
Math.sqrt(double x)返回x的平方根.
Math.log(double x)返回x的自然对数.
Math.asin(double x)返回x的反正弦值.
Math.random()返回0-1之间的随机数(不包含端点).
例如
int x = (int)(Math.random()*b)+a可以获取[a,b]之间的随机整数.
BigInteger类
BigInteger类在java.math包中.
- ①创建一个BigInteger类对象的方法如下
BigInteger bigInteger = new BigInteger(Strings);
其中s为数字字符串,如果s中含有非数字字符,则会出现异常. - ②常用方法如下
令bigInteger为一个BigInteger类对象 - a. 加 bigInteger.add(BigInteger bi)方法:bigInteger与bi相加.
- b. 减 bigInteger.subtract(BigInteger bi)方法:bigInteger减去bi.
- c. 乘 bigInteger.multiply(BigInteger bi)方法:bigInteger与bi相乘.
- d. 除 bigInteger.divide(BigInteger bi)方法:bigInteger除以bi.
- e. 取余 bigInteger.remainder(BigInteger bi)方法:bigInteger除以bi的余数.
- f. 绝对值 bigInteger.abs()方法:bigInteger的绝对值.
- g. 乘方 bigInteger.pow(int n)方法:bigInteger的n次方
- h. 字符串bigInteger.toString(int p)方法:将bigInteger转化为p进制,p可以缺省,缺省值为10.
Random类
用法如下
-
①获取[a,b]之间随机整数
Random r = new Random();
int x = r.nextInt(b+a+1)+a;
如int x = r.nextInt(21)-10;可以获取[-10,10]之间的随机整数. -
②随机获取true/false
boolean b = r.nextBoolean();即可获取一个随机布尔值.
6.Class类和Console类
Class 类是在Java语言中定义一个特定类的实现。一个类的定义包含成员变量,成员方法,还有这个类实现的接口,以及这个类的父类。Class类的对象用于表示当前运行的 Java 应用程序中的类和接口。 比如:每个数组均属于一个 Class 类对象,所有具有相同元素类型和维数的数组共享一个Class 对象。基本的 Java 类型(boolean, byte, char, short,int, long, float 和 double) 和 void 类型也可表示为 Class 对象。
由于Scanner类输入是可见的,故Scanner类不适用于从控制台读取密码。所以用Console类来解决此问题。
代码托管
本周学习感想
应该反省下自己最近的学习心态,不能总这样疲于应付,最后收获的只是满头大汗而已。
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 30篇 | 400小时 | |
第一周 | 35/35 | 0/0 | 16/16 | |
第二周 | 321/356 | 1/1 | 20/36 | |
第三周 | 819/1175 | 2/3 | 20/56 | |
第四周 | 836/2011 | 1/4 | 14/70 | |
第五周 | 474/2485 | 2/6 | 16/86 | |
第六周 | 1780/4265 | 3/9 | 24/110 | |
第七周 | 208/4473 | 1/10 | 10/120 |