* StringBuffer: * 线程安全的可变字符串. * * StringBuffer和String的区别? * 前者长度和内容可变,后者不可变. * 如果使用前者做字符串的拼接,不会浪费太多的资源. * * StringBuffer的构造方法: * public StringBuffer():无参构造方法 * public StringBuffer(int capacity):指定容量的字符串缓冲区对象 * public StringBuffer(String str):指定字符串内容的…
内容多为最近学习的自我总结,可能有些地方写的不严谨,甚至会有错误的地方,仅供参考,如发现错误敬请指出,谢谢! 灰色字体为补充扩展内容,多为帮助自己理解. StringBuffer概述: 线程安全的可变字符序列.一个类似于 String 的字符串缓冲区,但不能修改.虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容. 线程不安全: 举例:我在银行创建账户会给我银行卡和存折,我在账户中存入200,如果我和另一个人同时各拿着银行卡和存折去取钱,如果信息没有同步,…
一.字符串拼接问题 由于 String 类的对象内容不可改变,所以每当进行字符串拼接时,总是会在内存中创建一个新的对象. Demo: 1 public class StringDemo { 2 public static void main(String[] args) { 3 String s = "Hello"; 4 s += "World"; 5 System.out.println(s); 6 } 7 } 上面这段代码,总共产生了三个字符串,即"H…
Java常用类: java.lang包: java.lang.Object类: hashcode()方法:返回一段整型的哈希码,代表地址. toString()方法:返回父类名+"@"+哈希码(一般用于覆盖). equals()方法:返回"=="操作的布尔值(一般用于覆盖). finalize()方法:用于对象的销毁(不受人为控制,由JVM调用,遵从垃圾回收机制). clone()方法:用于对象之间的拷贝(深拷贝). getClass()方法:返回对象的字节码文件对…
Java常用类 java.lang.String类的使用 1.概述 String:字符串,使用一对""引起来表示. 1.String声明为final的,不可被继承 2.String 实现了Serializable接口:表示字符串是支持序列化的. 实现了Comparable接口:表示String可以比较大小 3.String内部定义了final char[] value用于存储字符串数据 4.通过字面量的方式(区别于new给一个字符串赋值,此时的字符串值声明在字符串常量池中). 5.字符…
本篇博客对java常用类相关知识进行了归纳总结,比较详细,适用于学习和复习. 1. 字符串相关的类 1.1 String String是一个final类,代表不可变的字符序列.不可被继承. String对象的字符内容是存储在一个字节数组byte[]中.JDK1.8中存储的是char[]注意区别. String实现了Serializable接口,支持序列化 实现了Comparable接口,表示可以比较大小 通过字面量的方式(区别于new)给一个String赋值,此时的字符串值在字符串常量池中(和方…
Java常用类 1. Optional 在我们的开发中,NullPointerException可谓是随时随处可见,为了避免空指针异常,我们常常需要进行 一 些防御式的检查,所以在代码中常常可见if(obj != null) 这样的判断.幸好在JDK1.8中,java为我们提供了 一个Optional类,Optional类能让我们省掉繁琐的非空的判断.下面先说一下Optional中为我们提供的方法. 反面示例: interface IMessage{ void echo(String msg);…
Java常用类之要点总结…
Java常用类:包装类,String,日期类,Math,File,枚举类…
定义一个StringBuffer类对象, 1)使用append方法向对象中添加26个字母,并倒序遍历输入 2)删除前五个字符 package 第十一章常用类; /** * 定义一个StringBuffer类对象, * 1)使用append方法向对象中添加26个字母,并倒序遍历输入 * 2)删除前五个字符 * @author TCBpersonalcomputer * */ public class Test { public static void main(String[] args){ St…
常用类 String类.StringBuffer类 String代表不可变的字符序列 "xxxxxxx"为该类的对象 举例(1) public class Test { public static void main (String[] args) { //测试1 String s1 = "hello"; String s2 = "world"; String s3 = "hello"; System.out.println(…
1.系统相关类 Java提供了System类和Runtime类来与程序运行的平台进行交互 A.System类代表当前Java程序的运行平台 a. System类是一个final类,该类的所有属性和方法都是静态的.可以不创建对象直接调用 b.属性:in .out .err c.常用方法: currentTimeMillis().exit().getProperties(). gc() B. Runtime类代表Java程序的运行时环境 注意: 应用程序不能创建自己的Runtime实例,但是可以通过…
1. Scanner类 1.1 基本语法 java.util.Scanner 是 Java5 的新特征,我们可以通过 Scanner 类来获取用户的输入. Scanner s = new Scanner(System.in); 1.2 next方法 import java.util.Scanner; public class ScannerDemo { public static void main(String[] args) { Scanner scan = new Scanner(Syst…
常用类 常用类概述: 内部类 Object类 包装类 数学类 时间类 字符串 String Builder和StringBuffer DecimalFormat 一.内部类 概念:在一个类内部再定义一个完整的类. 一般情况下类与类之间是相互独立的,内部类的意思就是打破这种独立思想,让一个类成为另一个类的内部信息,和成员变量.成员方法同等级别. 内部类的好处: 把一个类写在外面和写在里面最终达到的结果都一样,那我们为什么还要使用内部类,岂不是多此一举吗? 采用内部类这种技术,可以隐藏细节和内部结构…
一.Java根类Object类1.toString()方法 1)以文本对象返回,故toString()的定义为public String toString() {} 2)默认的字符串输出是:包.类名@对象的十六进制哈希码.[每一个java对象都有一个hash Code用于标识对象] 3)可以重写.比如返回对象的某些属性等. return "这个对象的名字是["+name+"],年龄是["+age+"]."; 4)System.out.printl…
一.介绍 String:不可变的Unicode字符序列     例如:"Java"   就是4个Unicode字符J,a,v,a组成的 Java没有内置的字符串类型,而是在标准的Java类库中提供了一个预定义的类String.每个用双引号括起来的字符串就是String类的一个实例. 当使用+,实际是产生新的对象 StringBuilder:可变字符序列,线程不安全,效率高(常用) StringBuffer:可变字符序列,线程安全,效率低 (使用循环拼接字符串时,一定要用StringBu…
上篇文章我们介绍过String这个常用类,知道了该类的内部其实是用的一个char数组表示一个字符串对象的,只是该字符数组被final修饰,一旦初始化就不能修改,但是对于经常做字符串修改操作的情况下,String类就需要不断创建新对象,性能极低.StringBuilder内部也是封装的一个字符数组,只不过该数组非final修饰,可以不断修改.所以对于一些经常需要修改字符串的情况,我们应当首选StringBuilder.其实StringBuilder和StringBuffer内部代码几乎一样,只是S…
一,常用类之一包装类 java开发中习惯把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lang包中. Number 类 Number数值类型是byte.double.float.int.long 和 short类的抽象父类,提供把包装类转化成基本数据类型的方法(xxxValue) 下面就用Integer来举例 Interger 是int基本数据类型的包装类,在Integer内部封装了一个f…
14.常用类 14.1 字符串相关的类 1课时 14.2 JDK 8之前时间日期API 1课时 14.3 JDK8中新时间日期API 1课时 14.4 JDK8中的Optional类 1课时 14.5 Math类 1课时 14.6 BigInteger 类与BigDecimal类 1课时 14-1 字符串相关的类 案例 public class Person { String name; int age; public Person(String name, int age) { super()…
目录 一.字符串相关类 String类 StringBuffer类 二.基本数据类型包装类 三.Math类 四.File类 五.枚举类 一.字符串相关类 1.String类 java.lang.String代表不可变的字符序列 “xxxx”为该类的一个对象 String类常见的构造方法: String(String original)//创建一个String对象为original的拷贝 String(char90 value)//用一个字符数组创建一个String对象 String(char[]…
目录 1. String类 1.1 String的特性 1.2 String字面量赋值的内存理解 1.3 String new方式赋值的内存理解 1.4 String 拼接字面量和变量的方式赋值 1.5 String类常用方法 1.6 String与其它类型的转换 1.7 常见算法题目 2. StringBuffer 和 StringBuilder类 2.1 String.StringBuffer.StringBuilder 三者的异同 2.2 StringBuffer 类的常用方法 2.3 S…
二.Scanner类 有C系语言基础的可能都比较熟悉scanf("%d",&a);和cin>>a;这种代码,也打开了程序交互的第一道门.因此,这些程序员开始学Java时都会先找输入输出(指标准输入输出),Java的输出就非常常见,任何一个Java教程基本都是以输出开始的,然而输入却在很后面提到,因为Java的输入不似输出那么简单.现在我们就来介绍一下实现输入的Scanner类. 1.Scanner基本使用方法和next()系列方法 一个从键盘输入的基本示例: imp…
[常用类]   <1>字符串相关类(String.StringBuffer)   <2>基本数据类型包装类   <3>Math类   <4>File类   <5>枚举类   [String类]   <1>java.lang.String类代表不可变的字符序列. <2>String类的常见构造方法:         String(String original)         //创建一个String对象为original…
之前将Java的大部分语法都回顾完了,后面添加一些常见的操作,基础语法就结束了.至于在这里再次提到常用类是由于有一部分体现在使用它的继承类或者接口之类的.这些需要有面向对象编程的基础 Object类 Object类是所有类的基类,只要定义了类,即使没有显式的声明继承自Object类,也会从该类继承.这个类没有什么是需要显式调用的,很多东西都需要重写类的方法来达到相关效果,比如常用的两个方法: String toString() : 将类转化为字符串.一般来说直接打印新定义的类都会打印出对象的地址…
Java 的常用类Math类: java.lang.Math 提供了系列的静态方法用于科学计算,其方法的参数和返回值类型一般为 double 类型. 如: 1. public static final double E:比任何其他值都更接近 e(即自然对数的底数)的 double 值: 2. public static final double PI:比任何其他值都更接近 pi(即圆的周长与直径之比)的 double 值: 3. public static double sin/cos/tan/…
呕心沥血画出此图,希望在使用Java类.接口时捋顺其关系,从而更好的组织程序逻辑---请看图 Object分出来的类都是其子类 Iterable接口分出的也是子接口 从继承关系分析,其父类实现的接口子类都被继承,子类扩展的接口,有实现同一接口的被框起了, 集合类被框起来并用实线带箭头链接其来一并实现了Serializable和Clonable接口,可见一斑 后续会继续添加常用类与接口…
​  枚举类型   描述一种事物的所有情况|所有可能|所有实例 (1)通过enum关键字定义枚举类型 (2)枚举的成员,字段都作为当前枚举类型的实例存在,默认被public static final修饰 (3)定义的枚举类型都会隐式的继承自java.lang.Enum 这是所有Java语言枚举类型的公共基类. (4)在枚举类型中构造器默认私有 (5)java是值传递:基本数据类型的数据值,引用数据类型的地址值​​ ​​ 2.File 路径或者文件的抽象的表现形式 注意:java中路径的分隔符可以…
 包装类 把八大基本数据类型封装到一个类中,并提供属性和方法,更方便的操作基本数据类型. 包装类的出现并不是用于取代基本数据类型,也取代不了. 包装类位于java.lang包中. Number 类 Number数值类型是byte.double.float.int.long 和 short类的抽象父类,提供把包装类转化成基本数据类型的方法(xxxValue). Interger 是int基本数据类型的包装类,在Integer内部封装了一个final int value的属性. package cn…
一.包装类的分类: 1.黄色部分的父类为Number 继承关系: Boolean Character 其他六个基本数据类型 2.装箱和拆箱 理解:一个例子,其他的都相同 装箱:Integer integer=New.valueof(1)     :将值封装成一个Integer类 拆箱:int i = Integer.intValue(); 面试题: 在底层中 Integer i = 127: Integer i = 128: 两个的生成方法不同,首先从-128-->127都是在调用类时自动生成的…
个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.包装类 1 .1 八个包装类 ​ 1. 2 基本数据类型,包装类,String者之间的转换 ​ 2.String 类 2.1 说明 被final修饰该类不能被继承 实现了java.io.Serializable : 可以进行序列化.可以将内存中的数据写入磁盘.前端和后台数据的传输也需要进行序列化.不同进程间数据的传输也需要序列化. 实现了Comparable接口 : 可以比较内容. 实现了Char…