自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 收藏
  • 关注

原创 字节流和字符流的区别

字符流只能操作纯文本文件,但是字节流可以操作包括纯文本,mp3,图片,视频等文件

2022-06-05 22:55:43 500

原创 字节流如何转为字符流

字节输入流转字符输入流通过 InputStreamReader 实现,该类的构造函数可以传入 InputStream 对象。字节输出流转字符输出流通过OutputStreamWriter 实现,该类的构造函数可以传入 OutputStream 对象。

2022-06-04 15:12:43 948

原创 Java 中有几种类型的流

按照流的方向:输入流(inputStream)和输出流(outputStream)。按照实现功能分:节点流(可以从或向一个特定的地方(节点)读写数据。如 FileReader)和处理流(是对一个 已存在的流的连接和封装,通过所封装的流的功能调用实现数据读写。如 BufferedReader。处理流的构造方法总是要 带一个其他的流对象做参数。一个流对象经过其他流的多次包装,称为流的链接。)按照处理数据的单位: 字节流和字符流。字节流继承于 InputStream 和 OutputStream, 字符流继承于

2022-06-04 15:10:14 1961

原创 数据类型之间的转换

调用基本数据类型对应的包装类中的方法 parseXXX(String)或 valueOf(String)即可返回相应基本类型。一种方法是将基本数据类型与空字符串(“”)连接(+)即可获得其所对应的字符串;另一种方法是调用 String 类中的 valueOf()方法返回相应字符串。...

2022-06-04 15:07:15 110

原创 String、StringBuffer、StringBuilder 的区别?

String:字符串常量,在修改时不会改变自身;若修改,等于重新生成新的字符串对象。 StringBuffer:在修改时会改变对象自身,每次操作都是对 StringBuffer 对象本身进行修改,不是生成新的对 象;使用场景:对字符串经常改变情况下,主要方法:append(),insert()等。String:对象定义后不可变,线程安全。 StringBuffer:是线程安全的(对调用方法加入同步锁),执行效率较慢,适用于多线程下操作字符串缓冲区大 量数据。 StringBuilder:是线程不安全的,适用

2022-06-04 15:05:44 63

原创 String 类常用方法

length()返回字符串长度

2022-06-04 15:03:13 58

原创 Java中的原始类型及对应的包装类型

- 原始类型: boolean,char,byte,short,int,long,float,double- 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double

2022-06-04 15:00:15 97

原创 int 和 和 Integer 有什么区别?

Java 是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本 数据类型当成对象操作,Java 为每一个基本数据类型都引入了对应的包装类型(wrapper class),int 的包装类就是 Integer,从 Java 5 开始引入了自动装箱/拆箱机制,使得二者可以相互转换。...

2022-06-04 14:58:24 64

原创 short s1 = 1; s1 = s1 + 1; 有错吗?short s1 = 1; s1 += 1 有错吗?

前者不正确,后者正确。如图所示 对于 short s1 = 1; s1 = s1 + 1;由于 1 是 int 类型,因此 s1+1 运算结果也是 int 型, 需要强制转换类型才能赋值给 short 型。而 short s1 = 1; s1 += 1;可以正确编译,因为 s1+= 1;相当于 s1 = (short)(s1 + 1);其中有隐含的强制类型转换。...

2022-06-04 14:55:59 2271

原创 String 是基本数据类型吗?

String 是引用类型,底层用 char 数组实现的。如下为String类中中的一部分代码从中可以看出底层为char数组

2022-06-04 14:50:22 251

原创 Java 的基本数据类型 and 所占字节

byte short int long float double char boolean 分为四类八种

2022-06-04 14:46:14 60

原创 请说出下面程序的输出?

String s1 = "Programming"; String s2 = new String("Programming");String s3 = "Program";String s4 = "ming";String s5 = "Program" + "ming";String s6 = s3 + s4;System.out.println(s1 == s2); //false 原因:S1和S2的内存地址不一样,应为==判断的内存中的地址System.out.println.

2022-05-10 20:14:13 210

原创 String 、StringBuilder 、StringBuffer 的区别?

最直接了当的说法: StringBuilder 、StringBuffe 比String更节约内存Java 平台提供了两种类型的字符串:String 和 StringBuffer/StringBuilder,它们都可以储存和操作字符串,区别 如下。1) String 是只读字符串,也就意味着String 引用的字符串内容是不能被改变的。初学者可能会有这样的误解:String str = “abc”;str = “bcd”;如上,字符串str 明明是可以改变的呀!其实不然,st...

2022-05-10 19:43:11 115

原创 数组有没有 length() 方法?String 有没有 length() 方法?

数组的length是属性并非方法 ,String的length()是方法,并非属性

2022-05-10 19:25:51 545

原创 Java中switch的key类型有那些?

Java5 以前 switch(key)中,key只能是 byte、short、char、int。从 Java 5 开始,Java 中引入了枚举类型, key也可以是 enum 类型。从 Java 7 开始,key还可以是字符串(String),但是长整型(long)在目前所有的版本中都是不可以的。JDK1.7开始支持String,但不允许为null,原理是借助 hashcode( ) 来实现注:此代码编译时使用的jdk版本为1.8./** * 创建NewsDao实例的工厂方法.

2022-05-10 19:20:28 627

原创 Java中Math类的常用方法

ceil() 向上取整 // 方法 结果 System.out.println(Math.ceil(11.11)); //12.0 System.out.println(Math.ceil(-11.11)); //-11.0floor() 向下取整 // 方法 结果 System.out.printl...

2022-05-10 19:11:54 170

原创 final、finally、finalize 的区别和用途?

final:用于声明常量 修饰变量和类,变量和类不可被修改 且不可被覆盖,修饰类 类不可被继承。finally:异常处理语句结构的一部分,表示总是执行。finalize:Object 类的一个方法,在垃圾回收器执行的时候会调用被回收对象的此方法,可以覆盖此方法 提供垃圾收集时的其他资源回收,例如关闭文件等。该方法更像是一个对象生命周期的临终方法,当该方法被 系统调用则代表该对象即将“死亡”,但是需要注意的是,我们主动行为上去调用该方法并不会导致该对象 “死亡”,这是一个被动的方法

2022-05-10 15:45:59 148

原创 throw 和throws 的区别

说通俗点:throw抛出可能发生的异常,throws声明可能发生的异常。throw:1) throw 语句用在方法体内,表示抛出异常,由方法体内的语句处理。2) throw 是具体向外抛出异常的动作,所以它抛出的是一个异常实例,执行 throw 一定是抛出了某种异常。throws:1) throws 语句是用在方法声明后面,表示如果抛出异常,由该方法的调用者来进行异常的处理。2) throws 主要是声明这个方法会抛出某种类型的异常,让它的使用者要知道需要捕获的异常的类型。3)

2022-05-09 20:20:29 351

原创 JAVA中常见的运行异常(RuntimeException)

1) java.lang.NullPointerException 空指针异常;出现原因:调用了未经初始化的对象或者是不存在的对象。2) java.lang.ClassNotFoundException 指定的类找不到;出现原因:类的名称和路径加载错误;通常都是程序 试图通过字符串来加载某个类时可能引发异常。3) java.lang.NumberFormatException 字符串转换为数字异常;出现原因:字符型数据中包含非数字型字符。4)java.lang.IndexOutOfBoundsE

2022-05-09 20:18:09 4628

原创 error 和 exception 的区别?

Error 类和 Exception 类的父类都是 Throwable 类。他们的区别如下:Error 类一般是指与虚拟机相关的问题,如系统崩溃,虚拟机错误,内存空间不足,方法调用栈溢出等。对于这类错 误的导致的应用程序中断,仅靠程序本身无法恢复和和预防,遇到这样的错误,建议让程序终止。Exception 类表示程序可以处理的异常,可以捕获且可能恢复。遇到这类异常,应该尽可能处理异常,使程序恢复运 行,而不应该随意终止异常。 Exception 类又分为运行时异常(Runti

2022-05-09 20:08:21 1416

原创 try-catch-finally 处理异常时catch块中出现return时,执行顺序是怎么样的?

首先看一串实列代码@Textpublic void count(){try { //1 int a = 1/0; //2 return 1; //3 } catch (Exception e) { //4 return 2; //5}finally{

2022-05-09 20:05:49 276

原创 Java 中异常分类

通俗说就是一类是运行时发生的异常 ,一类是在编译时强制声明的异常1) 按照异常需要处理的时机分为编译时异常(也叫强制性异常)也叫 CheckedException 和运行时异常 (也叫非强制性异常)也叫 RuntimeException。只有 java 语言提供了Checked 异常,Java 认为 Checked 异常都是可以被处理的异常,所以 Java 程序必须显式处理 Checked 异常。如果程序没有处理 Checked 异 常,该程序在编译时就会发生错误无法编译。这体现了Java ..

2022-05-09 19:51:01 653

原创 常用技术API网址

js : http://caibaojian.com/javascript/jq : https://api.jquery.com/CSS : https://developer.mozilla.org/zh-CN/docs/Web/CSStomcat : https://tomcat.apache.orgajax : https://developer.mozilla.org/zh-CN/docs/Web/Guide/AJAXmaven : https://...

2022-05-05 09:59:08 2947

原创 break 和continue 的区别?

break 和 continue 都是用来控制循环的语句。break 用于完全结束一个循环,跳出循环体执行循环后面的语句。continue 用于跳过本次循环,执行下次循环。

2022-04-19 19:26:46 111

原创 ==和 equals 的区别?

equals 和== 最大的区别是一个是方法一个是运算符。==:如果比较的对象是基本数据类型,则比较的是数值是否相等;如果比较的是引用数据类型,则比较的是对象的 地址值是否相等。equals():用来比较方法两个对象的内容是否相等。 注意:equals 方法不能用于基本数据类型的变量,如果没有对 equals 方法进行重写,则比较的是引用类型的变 量所指向的对象的地址。...

2022-04-19 19:26:02 41

原创 静态变量和实例变量的区别?

静态变量:是被 static 修饰符修饰的变量,也称为类变量,它属于类,不属于类的任何一个对象,一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝。实例变量:必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。静态变量可以实现让多个对 象共享内存。...

2022-04-19 19:21:45 74

原创 抽象的(abstract)方法是否可同时是静态的(static), 是否可同时是本地方法(native),是否可同时被 synchronized(线程锁)

都不能。抽象方法需要子类重写,而静态的方法是无法被重写的,因此二者是矛盾的。本地方法是由 本地代码(如 C 代码)实现的方法,而抽象方法是没有实现的,也是矛盾的。synchronized 和方法的实现细节有关, 抽象方法不涉及实现细节,因此也是相互矛盾的。...

2022-04-19 19:19:36 311

原创 抽象类(abstract class)和接口(interface)有什么异同?

不同:抽象类:1.抽象类中可以定义构造方法2.可以有抽象方法和具体方法3.接口中的成员全都是public 的4.抽象类中可以定义成员变量5.有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法6. 抽象类中可以包含静态方法7.一个类只能继承一个抽象类接口:1.接口中不能定义构造方法2.方法全部都是抽象方法3.抽象类中的成员可以是 private、默认、protected、public4.接口中定义的成员变量实际上都是常量5.接口中不能有静态方

2022-04-19 19:17:16 821

原创 char 型变量中能不能存储一个中文汉字,为什么?

char 类型可以存储一个中文汉字,因为 Java 中使用的编码是 Unicode(不选择任何特定的编码,直接 使用字符在字符集中的编号,这是统一的唯一方法),一个 char 类型占 2 个字节(16 比特),所以放一个中 文是没问题的。...

2022-04-19 19:11:21 942

原创 为什么函数不能根据返回类型来区分重载?

不能,因为调用时不能确定函数返回的类型信息,编译器不知道你要调用哪个函数。例如:如下代码package Test;/*** 方法的重载代码** 下面以count方法演示代码的重载** @author 宁小菜**/public class test { public int count(int a,int b) { return a+b; } public int count(double a,int b) {...

2022-04-19 19:08:50 1978

原创 Junit 入门级使用教程

Junit插件介绍:此介绍来自百度百科JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。[1]JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员..

2022-04-13 16:33:37 5067

原创 重载(overload)和重写(override)的区别?

▶方法重载涉及同一个类中的方法名,要求方法名相同,参数列表不同,与返回值类型和访问修饰符无关。▶方法重写涉及的是子类和父类之间的同名方法,要求方法名相同,参数列表相同,返回值类型相同或是其子类。重载:方法重载的特点:方法重载的判断的依据如下。1.必须在同一个类中.2.方法名必须相同3.参数列表(方法参数的个数或参数类型)不同注意:方法的返回值和方法的访问修饰符不能作为判断方法之间是否构成重载的依据。方法重载的规则:1.方法名一致,参数列表中参数的顺序,类型

2022-04-11 17:18:15 68

原创 是否可以继承String类

String 类是 final 类,不可以被继承。当我们鼠标悬浮String关键字上,按住ctrl键,鼠标点击可以看见这样一串代码:

2022-04-11 14:04:07 3960

原创 两个对象值相同 (x.equals(y) == true) ,但却可有不同的 hashCode,这句话对不对?

首先回1答这个问题之前我们先了解一下什么是hashCode。此处有引用百度百科hashCodehash code是一种编码方式,在Java中,每个对象都会有一个hashcode,Java可以通过这个hashcodehttps://baike.baidu.com/item/hashcode/7482507来识别一个对象。至于hashcode的具体编码方式,比较复杂(事实上这个编码是可以由程序员通过继承和接口的实现重写的),可以参考数据结构书籍。而hashtable等结构,就是通过这个哈希实现快速查..

2022-04-11 13:56:54 2200

原创 在 Java 中,如何跳出当前的多重嵌套循环

在最外层循环前加一个标记如 A,然后用 break A;可以跳出多重循环。

2022-04-11 11:38:19 1316 2

原创 & 和 && 的区别

&运算符有两种用法:(1)按位与;(2)逻辑与。 &&运算符是短路与运算

2022-04-11 11:19:01 297

原创 new 一个对象的过程和 clone 一个对象的过程区别 (复制对象和引用对象的区别)

new 操作符在内存中创建一个新对象,并把地址指向此对象。clone()是指复制一个新对象,在内存中创建一个新对象,并把新对象名指向此地址, 而不是把原对象的地址赋给新对象名。

2022-04-08 10:42:05 924 2

原创 java中的访问修饰符

Java中的访问修饰符有四种: public 缺省/默认 protected private

2022-04-07 16:38:12 496

原创 面向对象的那些特性与理解

1.封装封装的步骤:修改属性的可见性来限制对属性的访问 (private 私有的 或者 缺省/默认) 为每个属性创建一对赋值(setter)和取值(getter)方法,用于对这些属性的存取。 (可使用编译工具快捷生成) 在赋值方法中可以加入对属性的存取控制语句理解:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口。面向对象的 本质就是将现实世界描绘成一系列完全自治、封闭的对象。我们在类中编写的方法就是对实现细节的一种封装;我们 编写一个类就是对数据和数据操作的

2022-04-06 15:04:27 252

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除