2019-2020-4 《Java 程序设计》第七周知识总结

第八章:常用实用类
一、String类

  1. String类的构造方法

  public String(byte[] bytes);

  public String(byte[] bytes,int offset,int length);

  public String(char[] value);

  public String(char[] value,int index,int count);

  1. String类的判断功能

  boolean equals(Object obj); 比较的是内容

  boolean equalsIgnoreCase(String str);

  boolean contains(String str);

  boolean startsWith(String str);

  boolean endsWith(String str);

  boolean isEmpty();

3.String类的获取功能

  int length();

  charAt(int index);

  int indexOf(int ch):返回指定字符在此字符串中第一次出现的索引

  int indexOf(String str)

  int indexOf(int ch,int fromIndex)

  int indexOf(String,int fromIndex);

  String substring(int start)

  String substring(int start,int end)

4.String类的转换功能

  byte[] getBytes():转换为字节数组

  char[] toCharArray():把字符串转换为字符数组

  static String valueOf(char[] chs) :把字符数组转换为字符串

  static String valueOf(int i):把int类型转换为字符串

  String toLowerCase

  String toUpperCase

  String concat(String str)

5.String类的其他功能

  String replace(char old,char new)

  String replace(String old,String new)

  String trim()

  int compareTo(String str):按照字典顺序比较

  int comparetoIgnoreCase(String str)

二、StringTokenizer类
1.StringTokenizer(String s);为字符串s构造一个分析器。使用默认的分隔标记,即空格符(若干个空格符被看作一个空格)、换行符、回车键、Tab键和进纸符。对s进行分割。

2.StringTokenizer(String s,String delim):为字符串s构造一个分析器。参数dilim中的字符串作为分割标记。分割标记可以任意组合。

三、Scanner类
1.使用Scanner的步骤:
A:必须导包 import java.util.Scanner;
B:创建对象 Scanner sc = new Scanner(System.in);
C:调用方法 sc.xxx( )

2.Scanner类的方法1:
public int nextInt( ) : 读取一个int类型的值

3.Scanner类的方法2:
public String nextLine( ):读取一个String类型的值

4.Scanner类的方法3:
public boolean hasNextXxx():判断是否是某种类型的元素

5.Scanner类的方法总结:
(1)nextline( ):只读取数值,剩下的“\n”还没有读取,并将光标放在本行中 。
(2)next( ):遇到第一个有效字符(非空格,非换行符)时开始扫描,当遇到第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格,换行符的单个字符串。
(3)nextLine( ):扫描到一行内容并作为一个字符串而被获取到。
(4)hasNextInt( ):判断是否是int 类型的元素,进而获取元素。

四、StringBuffer类
1.用字符串做拼接,比较耗时也耗内存,而拼接操作又是常见的,为了解决这个问题,java就提供了一个字符串缓冲区类。StringBuffer类供我们使用。

2.StringBuffer的构造方法
    A:StringBuffer()
    B:StringBuffer(int size)
    C: StringBuffer(String str)

3.StringBuffer的常见功能
    A:添加功能
      public StringBuffer append(String str):可以把任意类型数据添加到字符串缓冲区里面,并返回字符串缓冲区本身

       public StringBuffer insert(int offset,String str):在指定位置把任意类型的数据插入到字符串缓冲区里面,并返回字符串缓冲区本身

     B:删除功能
       public StringBuffer deleteCharAt(int index):删除指定位置的字符,并返回本身,只删除指定位置的这个字符

       public StringBuffer delete(int start,int end):删除从指定位置开始指定位置结束的内容,并返回本身

     C:替换功能
        public StringBuffer replace(int start,int end,String str):从start开始到end用str替换

     D:反转功能
        public StringBuffer reverse()

     E:截取功能:注意返回值类型不再是StringBuffer本身了,而是String
        public String substring(int start)

        public String substring(int start,int end)

五、Date类与Calender类
1.Calendar与Date互转:

(1) Calendar转化为Date
Calendar cal=Calendar.getInstance();
Date date=cal.getTime();

(2) Date转化为Calendar
Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);

2.Calendar获取年、月、日、分钟等的方法:
Calendar c = Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));//获取东八区时间

int year = c.get(Calendar.YEAR); //获取年
int month = c.get(Calendar.MONTH) + 1; //获取月份,0表示1月份
int day = c.get(Calendar.DAY_OF_MONTH); //获取当前天数
int first = c.getActualMinimum(c.DAY_OF_MONTH); //获取本月最小天数
int last = c.getActualMaximum(c.DAY_OF_MONTH); //获取本月最大天数
int time = c.get(Calendar.HOUR_OF_DAY); //获取当前小时
int min = c.get(Calendar.MINUTE); //获取当前分钟
int xx = c.get(Calendar.SECOND); //获取当前秒

3.Date类比较大小
Date endDate = DateParameterUtil.getEndTimeParam(request, true, 0) ;
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String logTimeNodeStr = "2014-12-01 00:00:00";
Date logTimeNodeDate = dateFormat.parse(logTimeNodeStr);
if(endDate.compareTo(logTimeNodeDate)==-1){
System.out.println("endDate 早于2014-12-01 00:00:00");
}
if(endDate.compareTo(logTimeNodeDate)==0){
System.out.println("endDate 等于2014-12-01 00:00:00");
}
if(endDate.compareTo(logTimeNodeDate)==1){
System.out.println("endDate 大于2014-12-01 00:00:00");
}
另还有方法:
java.util.Date.before(java.util.Date anotherDate); //是否早于anotherDate
java.util.Date.after(java.util.Date anotherDate); //是否晚于anotherDate

4.Calendar类比大小
boolean java.util.Calendar.before(Object when); //是否早于when
boolean java.util.Calendar.after(Object when); //是否晚于when
int java.util.Calendar.compareTo(Calendar anotherCalendar); //早,返回-1;相同,返回0;晚,返回1

六、Math类
常用值与函数:
Math.PI 记录的圆周率
Math.E 记录e的常量
Math中还有一些类似的常量,都是一些工程数学常用量。
Math.abs 求绝对值
Math.sin 正弦函数 Math.asin 反正弦函数
Math.cos 余弦函数 Math.acos 反余弦函数
Math.tan 正切函数 Math.atan 反正切函数 Math.atan2 商的反正切函数
Math.toDegrees 弧度转化为角度 Math.toRadians 角度转化为弧度
Math.ceil 得到不小于某数的最大整数  比它大的数
Math.floor 得到不大于某数的最大整数 比它小的数
Math.IEEEremainder 求余
Math.max 求两数中最大
Math.min 求两数中最小
Math.sqrt 求开方
Math.pow 求某数的任意次方, 抛出ArithmeticException处理溢出异常
Math.exp 求e的任意次方
Math.log10 以10为底的对数
Math.log 自然对数
Math.rint 求距离某数最近的整数(可能比某数大,也可能比它小)
Math.round 求距离某数最近的整数,返回int型或者long型(上一个函数返回double型)
Math.random 返回0,1之间的一个随机数

七、BigInteger类
1、probablePrime和nextprobablePrime。(判断质数,并返回)
  BigInteger.probablePrime(int x);
  BigInteger.nextprobablePrime(int x)。

2、valueOf()(对数据初始化)

3、四则运算(add(加)、subtract(减)、multiply(乘)、divide(除))

4、remainder(取余)

5、divideAndRemainder(先除后取余,结果分别存在数组中)

八、Random类
Random rand = new Random();
注:如果在实例化时没有传递任何参数,那么Java就会将当前时间作为随机数生成器的种子,并由此在程序没一次执行是都产生不同的输出。而如果在实例化时提供种子,就可以在每次执行程序时都生成相同的随机数,并且它的输出是可以验证的。

2019-2020-4 《Java 程序设计》第七周学习总结

1.通过第七周的学习,利用教材和老师在蓝墨云上的一些教学视频以及通过老师和同学的博客以及一些课外资料,充分学习了第八章的内容,学习的内容有:String类、StringTokenizer类、Scanner类、StringBuffer类、Date类、Calender类、日期的格式化、Math类、BigInteger类、Random类、数字格式化、Class类、Console类、Pattern类、Matcher类。由于本周的学习任务较重,对这章学习内容并不是十分理解,还有部分内容没有学习完毕,上面的知识总结也不是非常完整,有一部分知识的遗漏,但通过学习八章内容,会使得编程更加便捷、方便,总体来说,自我感觉这章内容相对较基础。

2.通过手打第八章代码,对语法有一定的帮助,并在调试完代码后上传至码云仓库,并提交脚本。(由于这章例子过多,博客中体现部分程序运行截图)

码云链接:https://gitee.com/zzm-zcc/zhang_zhi_min

部分程序运行截图:







#2019-2020-4 《Java 程序设计》第七周总结的更多相关文章

  1. 201521123027 <java程序设计>第七周学习总结

    1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...

  2. 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结

    201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...

  3. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  4. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  5. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  6. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  7. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  8. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  9. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

  10. 20175317 《Java程序设计》第九周学习总结

    20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...

随机推荐

  1. 在Centos7上安装wxPython4.0.4

    在linux上安装wxPython4.0.4时需要gtk+2.0,在安装wxPython4.0.4遇到以下错误. linux上是用pip安装wxPython4.0.4的,执行命令如下: pip ins ...

  2. UE4 Virtual Reality Input输入配置表导入

    [/Script/Engine.InputSettings] AxisConfig=(AxisKeyName="OculusTouch_Right_FaceButton2",Axi ...

  3. Jacobian矩阵、Hessian矩阵和Newton's method

    在寻找极大极小值的过程中,有一个经典的算法叫做Newton's method,在学习Newton's method的过程中,会引入两个矩阵,使得理解的难度增大,下面就对这个问题进行描述. 1, Jac ...

  4. [原创] debian 9.3 搭建seafile企业私有网盘

    [原创] debian 9.3 搭建seafile企业私有网盘 需求是这样的, 个人疲惫于 "成为大伙的文件中转站" ,公司不管大大小小的文件,都要打电话过来“转个xx文件”.“帮 ...

  5. java命令--jstat 工具使用

    jstat(JVM Statistics Monitoring Tool)是用于监控虚拟机各种运行状态信息的命令行工具.他可以显示本地或远程虚拟机进程中的类装载.内存.垃圾收集.JIT编译等运行数据, ...

  6. SSM商城项目(十二)

    1.   学习计划 1.购物车实现 2.未登录状态下使用购物车 3.登录状态下使用购物车 2.   购物车的实现 2.1. 功能分析 1.购物车是一个独立的表现层工程. 2.添加购物车不要求登录.可以 ...

  7. fiddler抓取https请求

    Fiddler抓取https设置详解(图文):https://www.cnblogs.com/joshua317/p/8670923.html Fiddler要抓取到https请求我们还需要Fiddl ...

  8. “AS3.0高级动画编程”学习:第一章高级碰撞检测

    AdvancED ActionScript 3.0 Animation 是Keith Peters大师继"Make Things Move"之后的又一力作,网上已经有中文翻译版本了 ...

  9. Python设计模式 - UML - 通信图(Communication Diagram)

    简介 通信图表示对象之间的消息往来,是表述时序图中信息交互的另一种UML图,介绍完时序图就要对照学习一下通信图,二者是一体两面的. 通信图和时序图可以相互转换,二者的侧重点不同,通信图侧重哪些对象发送 ...

  10. mysql内容总体回顾

    数据类型: 数值类型: 整形 浮点型 字符串: char(定长)\varchar(不定长) char(定长):插入数据或查询数据都快,因为char在磁盘上插入数据时的存储空间是固定的,简单粗暴,直接就 ...