day 07

代码块

  • 局部代码块

  1. 定义在方法中,用户划分区域的

  • 构造代码块

  1. 和成员方法并列,用{}包裹
  2. 每次创建对象的时候都会执行,优先于构造方法
  • 静态代码块

  1. 构造代码块前面用static声明
  2. 在同类下,它优先于主方法执行、优先于构造代码块执行,当以任意形式第一次使用到该类时执行。
  3. 该类不管创建多少对象,静态代码块只执行一次。
  4. 可用于给静态变量赋值,用来给类进行初始化。

API

  Application Programming Interface

  • object

    • 五大常用包:lang、util、sql、io、net
    • lang包下的类不需要导包
    • 常用方法:
      • public boolean equals(Object obj) :
        • 功能:判断两个对象的地址值是否相等。
        • 注意:重写该方法,通常需要覆盖hashCode方法,以便维护hashCode方法的通用合同,该方法规定相等的对象必须具有相等的哈希码。
      • public String toString() :
        • getClass().getName() + '@' + Integer.toHexString(hashCode());
          //全限定类名的字符串@ ”和对象的哈希码的无符号的十六进制表示
  • String

    • 构造方法(简)

      • String() :初始化新创建的 String对象,使其表示空字符序列。
        • char:不能创建空字符对象。
      • String(byte[] bytes) :通过使用平台的默认字符集解码指定的字节数组来构造新的 String
        • 常用ASCII:

          • ASCII ((American Standard Code for Information Interchange): 美国信息交换标准代码)
          • 32~126(共95个)是字符(32是空格)
            • 48~57为0到9十个阿拉伯数字。
            • 65~90为26个大写英文字母。
            • 97~122号为26个小写英文字母。
            • 其余为一些标点符号、运算符号等。
    • APi
      • boolean equals(Object obj) 判断两个字符串中 的内容是否相同
        boolean equalsIgnoreCase(String str) 判断两个字符串中的内容是否相同, 忽略大小写
        boolean contains(String str) 判断该字符串中是否包含给定的字符串
        boolean startsWith(String str) 判断该字符串是否以给定的字符串开头
        boolean endsWith(String str) 判断该字符串是否以给定的字符串结尾
        boolean isEmpty() 判断该字符串的内容是否为空的字符串
        int length() 获取该字符串的长度
        char charAt(int index) 获取该字符串中指定位置上的字符
        String substring(int start) 从指定位置开始,到末尾结束,截取该字符串,返回新字符串
        String substring(int start,int end) 从指定 位置开始,到指定位置结束,截取该字符串,返回新字符串
        int indexOf(int ch ) 获取给定的字符,在该字符串中第一次出现的位置
        int indexOf(String str) 获取给定的字符串,在该字符串中第一次出现的位置
        int indexOf(int ch,int fromIndex) 从指定位 置开始,获取给定的字符
        byte[] getBytes() 把该字符串 转换成字节数组
        char[] toCharArray() 把该字符串 转换成字符数组
        String replace(char old,char new) 在该字符 串中,将给定的旧字符,用新字符替换
        String replace(String old,String new) 在 该字符串中, 将给定的旧字符串,用新字符串替换
        String trim() 去除字符串两端空格,中间的不会去 除,返回一个新字符串
        String toLowerCase() 把该字符串转换成 小写字符串
        String toUpperCase() 把该字符串转换成 大写字符串
        int indexOf(String str,int fromIndex) 从 指定位置开始,获取给定的字符串,在该字符串中第一 次出现的位置
  • StringBuffer

    • 又称为字符串缓冲区,是一个容器,里面存放了很多字符,是一个线程安全,可变的字符序列
    • 构造方法:
      • StringBuffer() :初始容量为16个字符,参数可以为字符串或定义容量的整型或者字符数组
    • API:
      • 添加:append();
      • 插入:insert(int start, String str);
      • 替换:raplace(int start,  int end, String str);
      • 删除:delete(int start, int end);
  • StringBuilder

    • 与 StringBuffer 兼容的 API,但是属于线程不安全的,所以效率较高,推荐使用

代码块&&API(object、String、StringBuffer、StringBuilder)的更多相关文章

  1. Object,String,StringBuffer,StringBuilder,System,Runtime,Date,Math介绍及用法(API)

    1       Object对象 面向对象的核心思想:“找合适的对象,做适合的事情”. 合适的对象: 自己描述类,自己创建对象. sun已经描述了好多常用的类,可以使用这些类创建对象. API(App ...

  2. 7.算法竞赛中的常用JAVA API :String 、StringBuilder、StringBuffer常用方法和区别(转载)

    7.算法竞赛中的常用JAVA API :String .StringBuilder.StringBuffer常用方法和区别 摘要 本文将介绍String.StringBuilder类的常用方法. 在j ...

  3. final,finally,finalize有什么区别?String, StringBuffer, StringBuilder有什么区别?Exception和Error有什么区别?

    继上篇JVM学习之后,后面将分三期深入介绍剩余JAVA基础面试题,每期3题. 题目一.final,finally,finalize有什么区别? /*请尊重作者劳动成果,转载请标明原文链接:*/ /* ...

  4. String,StringBuffer,StringBuilder源码分析

    1.类结构 String Diagrams StringBuffer Diagrams StringBuilder Diagrams 通过以上Diagrams可以看出,String,StringBuf ...

  5. Java学习笔记--String StringBuffer StringBuilder

    String StringBuffer StringBuilder String http://docs.oracle.com/javase/7/docs/api/ 中文: http://www.cn ...

  6. String,StringBuffer,StringBuilder的区别及其源码分析

    String,StringBuffer,StringBuilder的区别这个问题几乎是面试必问的题,这里做了一些总结: 1.先来分析一下这三个类之间的关系 乍一看它们都是用于处理字符串的java类,而 ...

  7. 浅谈 Java 字符串(String, StringBuffer, StringBuilder)

    我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String ...

  8. String | StringBuffer | StringBuilder 比较

    2016的第一天,我决定写一篇博客来纪念这一天,希望一年好运吧. String|StringBuffer|StringBuilder这三者在我们学习JAVASE核心API的时候常常出来,而且大多数入门 ...

  9. 关于String StringBuffer StringBuilder

    0. String对象的创建       1.关于类对象的创建,很普通的一种方式就是利用构造器,String类也不例外:String s=new String("Hello world&qu ...

随机推荐

  1. Java实现 LeetCode 432 全 O(1) 的数据结构

    432. 全 O(1) 的数据结构 实现一个数据结构支持以下操作: Inc(key) - 插入一个新的值为 1 的 key.或者使一个存在的 key 增加一,保证 key 不为空字符串. Dec(ke ...

  2. Java实现 LeetCode 135 分发糖果

    135. 分发糖果 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分. 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果. ...

  3. java实现第五届蓝桥杯供水设施

    供水设施 X星球的居民点很多.Pear决定修建一个浩大的水利工程,以解决他管辖的N个居民点的供水问题.现在一共有N个水塔,同时也有N个居民点,居民点在北侧从1号到N号自西向东排成一排:水塔在南侧也从1 ...

  4. 【Spring注解开发】组件注册-使用@Configuration和@Bean给容器中注册组件

    写在前面 在之前的Spring版本中,我们只能通过写XML配置文件来定义我们的Bean,XML配置不仅繁琐,而且很容易出错,稍有不慎就会导致编写的应用程序各种报错,排查半天,发现是XML文件配置不对! ...

  5. centos6 升级python2.6 到 python2.7

    由于开发库依赖于python27,而自己安装的centos6.8自带的python是2.6.6. 因为centos的yum依赖于python26因此不打算覆盖26. 步骤如下: 1.官网下载源码压缩包 ...

  6. Jackson乱码问题

    在配置文件中加入下面的内容 <!-- Json乱码问题配置--> <mvc:annotation-driven> <mvc:message-converters regi ...

  7. pip安装报错: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProxyError('Cannot connect to proxy

    pip安装报错 解决办法: pip install selenium -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

  8. Jlink设置正确,但下载程序失败

    [图中reset and run]勾选后即每次·下载程序后会自动复位,不需要再在硬件上进行复位 各参数设置正确 但依然下载失败. 原因是需要重新再编译一次,因为上次设置错误,编译后目标未创建! 重新编 ...

  9. skynet 初步分析

    自己想实现一个tcp 粘包,残包的功能.  先看看一些开源的库是怎么实现的. 首先开启一个线程.使劲的执行: skynet_socket_poll skynet_socket_poll  这个玩意是干 ...

  10. APP移动端测试

    重点: app测试的内容 add 命令  monkey命令 次重点:模拟器的安装 雷电 夜神 android 自带的模拟器 真机测试 简单了解云测Testing  腾讯云() 了解:市场有点移动端的操 ...