网站 js 广告代码大全,百度打广告怎么收费,遵义建设厅官方网站,有用模板网在线制作官网免费前言学习一个类#xff0c;我们首先需要了解这个类的大致作用是什么#xff0c;就好像我们知道Random是为了生成随机数的的一个类#xff0c;又或者Date类和日期相关。之后我们要去看他的成员以及构造器#xff0c;了解我们可以如何根据自己的需求#xff0c;通过构造器如…前言学习一个类我们首先需要了解这个类的大致作用是什么就好像我们知道Random是为了生成随机数的的一个类又或者Date类和日期相关。之后我们要去看他的成员以及构造器了解我们可以如何根据自己的需求通过构造器如何去创建一个适合的对象。之后要了解它的方法方法名参数列表返回值类型确定要传什么参需要用什么类型去接收返回值都是很有必要的。一、API1.1 API概述1APIApplication Programming Interface应用程序编程接口。它是厂商或者第三方提供好的一系列类库这些类库能帮助你开发出你想要的项目。2Java API指的是JDK中提供的各种功能的Java类库。类库就是别人已经写好的类和方法可以直接使用。这些类库已经提供了完整的实现我们不需要关心它如何实现的只需要学会如何使用这些类即可。3JDK类库API由sun开发的基础类库和后期甲骨文公司开发扩展的。4第三方API由第三方人员开发提供的类库在使用时需要导jar包。1.2 API文档APi文档可以帮助我们快速的学习掌握和了解对应类结构的一个文档工具。具体关于API文档的运用我后面会专门出一期再详细介绍。二、Object类2.1 Object类概述1Object是基类所有的类都会直接或间接地继承Object类默认继承不需要显式写出。2Object存在于java.lang包中,不需要导包可以直接使用。2.2 构造器Object类只有一个无参构造器一般不直接使用Object创建对象。Object obj new Object();2.3 Object的一些方法Object obj new Object(); obj.hashCode(); // 返回obj的哈希值 obj.equals(obj); // 判断对象是否相同相同返回true不同返回false obj.toString(); // 返回obj转化成的对应的字符串 //一旦该对象有toString方法则打印对象时默认调用toString方法 //所以我们可以在子类中对toString方法进行重写来达到我们想要的输出效果三、String类3.1 String类概述1在 Java 中String 是最常用的字符串类。所有用双引号括起来的数据都会自动创建为 String 对象无需使用 new 关键字语法支持直接使用双引号创建。2String类是 java.lang包中的类使用的时候无需导包。3String类是不可变字符串一旦创建后其内容无法修改。当为String对象重新赋值时实际上是创建了一个新的字符串对象而非修改原有对象。原字符串将被垃圾回收机制回收。3.2 其在内存中的体现首先我们需要了解栈空间堆空间之间一般存放的内容当我们new一个对象时对象名存储着对象在堆空间的内存地址它本身是在栈空间所以我们在了解String类在内存中的关系我们就要先了解一个东西常量池。我们有两种方式去定义一个字符串第一种就是直接使用双引号创建另一种就是新建一个String对象然后给这个对象填值。//1 String str1 Hello; String str2 World; //2 String str3 new String(Hello); String str4 new String(World);直接使用双引号创建是在常量池开辟一个空间存放字符串之后直接将字符串在常量池中的地址给了在栈空间中的对象名所以输出的是字符串在常量池中的地址。创建String对象时首先会在字符串常量池中开辟空间存储字符串值然后将该字符串地址赋给堆内存中的对象。栈内存中的变量名则保存着堆内存对象的地址。图示说明如下而所谓的“一旦创建后其内容无法修改”是因为不管是哪种方法创建的字符串的值都是在常量池中存储着而一旦检索到你要给String对象赋的值在常量池中有相同的他就会将该字符串在常量池中的地址给出去而不是新建一个空间去存储。同样的你要对一个字符串进行修改实际上原本的那个字符串是已经死了的不能改变了本质上是又新开辟了一个空间将你修改的内容放了进去然后返回相应的地址。3.3 字符串比较3.3.1 “”是关系运算符用来比较等于号两边是否相等。基本类型比较的是值是否相等引用类型比较的是地址是否相等。总结只负责比较等号两侧放的是值就比较值放的是地址就比较地址。所以当两个字符串都是直接使用双引号创建的且字符串内容相同时对象名中存储的是字符串常量池中相同的地址所以 str1 str2结果会是true。而如果一个是new的一个是双引号创建的那么new的对象名存储的是对象在堆空间的地址而双引号创建的时常量池中字符串的地址即使内容相同str1 str2的。3.3.2 equals实际开发中判断字符串是否相等指的是内容是否相等而不是内存地址是否相等。判断字符串内容是否相等使用equals方法。如果要忽略大小写比较的话使用equalsIgnoreCase方法。例如判断验证码是否正确。3.4 构造器//创建一个没有任何内容的字符串对象 String() //根据字符数组的内容来创建一个字符串对象 String(char! chs) //创建一个字符串对象字符串的内容是字符数组中下标从offset开始的count个字符 String(charl chs, int offset,int count) //根据字节数组的内容来创建一个字符串对象 String(bytel bytes) //创建一个字符串对象字符串的内容是字节数组中下标从offset开始的count个字节 String(bytel bytes, int offset.int count) //直接赋值的方式创建字符串对象内容是abc并未用任何构造方法。推荐 String s abc;3.5 String的一些方法下面列举了一些String类常用的对字符串进行操作的方法有缺漏大家可以帮忙填补一下。//获取当前字符串的长度即多少个字符。 public int length() //获取指定下标的字符。下标从0开始最大下标是length()-1 public char charAt(int index) //判断字符串中是否包含指定的 字符串 public boolean contains(String str); //判断字符串是否以指定的字符串开头 public boolean startsWith(String str); //判断字符串是否以指定的字符串结尾 public boolean endsWith(String str); /*获取指定的下标,查找范围是:下标0到字符串.length()-1; 从前往后找,返回第一个匹配内容的下标, 如果找不到匹配的内容, 返回-1 */ public int indexOf(int ch); public int indexOf(String subStr); /*获取指定的下标,查找范围是:下标fromIndex到字符串.length()-1; 从前往后找,返回第一个匹配内容的下标, 如果找不到匹配的内容, 返回-1 */ public int indexOf(int ch, int fromIndex); public int indexOf(String subStr, int fromIndex); /*获取指定[字符]的下标,查找范围是:下标0到字符 串.length()-1;从前往后找,返回最后一个匹配内容的下标,如果找不到匹配的内容, 返回-1 */ public int lastIndexOf(int ch); public int lastIndexOf(String subStr); /*获取指定[字符]的下标,查找范围是:下标0到 toIndex;从前往后找,返回最后一个匹配内容的下标,如果找不到匹配的内容, 返回-1 */ public int lastIndexOf(int ch, int toIndex); public int lastIndexOf(String subStr, int toIndex); //字符替换 public String replace(char oldChar,char newChar) //字符串按regex规则分割成多个小段 public String[] split(String regex) //将多个字符串合并成一个合并的时候添加指定的连接符 public static String join(CharSequence delimiter,CharSequence... s) //获取从beginIndex开始到字符串结尾的子串 public String subString(int beginIndex) //获取从beginIndex到endIndex之间的子串不含下标为endIndex的字符 public String subString(int beginIndex, int endIndex) //将字符串改成全小写 public String toLowerCase() //将字符串改成全大写 public String toUpperCase() //删除字符串左右两侧的空白(空格、换行符\n、缩进符\t) public String trim() //将其他数据类型的数据转换为字符串需要使用类名.方法名调用 public static String valueOf(数据类型 变量名) //也可以通过变量进行转换例如int a 10; String str a ;*****************************************************************************************************还有下哦下要包含Random类Date类SimpleDateFormat类和包装类。