java编程基础
文章平均质量分 91
Java基础教程
苍云烟
这个作者很懒,什么都没留下…
展开
-
JAVA-编程基础-12-01-创建多线程的3种方式
理解进程和线程的一些关系,一个进程可以有多个线程就叫多线程1、线程在进程下进行2、进程之间不会相互影响,主线程结束将会导致整个进程结束3、不同的进程数据很难共享4、同进程下的不同线程之间数据很容易共享5、进程使用内存地址可以限定使用量多线程创建的方式:代码实现方式:测试方法验证下:实现代码:测试方法验证下:常用方法1、为什么要重新方法?因为方法是用来封装被线程执行的代码。2、方法和方法有什么区别?3、通过继承 Thread 的方法和实现 Runnable 接口的方式创建多线程,哪个好?实现Run原创 2023-10-24 11:34:35 · 377 阅读 · 0 评论 -
JAVA-编程基础-11-04-java IO 字符流
, , 字符流 Reader 和 Writer 的故事要从它们的类关系图开始,来看图。字符流是一种用于读取和写入字符数据的输入输出流。与字节流不同,字符流以字符为单位读取和写入数据,而不是以字节为单位。常用来处理文本信息。如果用字节流直接读取中文,可能会遇到乱码问题,见下例:运行结果:之所以出现乱码是因为在字节流中,一个字符通常由多个字节组成,而不同的字符编码使用的字节数不同。如果我们使用了错误的字符编码,或者在读取和写入数据时没有正确处理字符编码的转换,就会导致读取出来的中文字符出现乱码。例如,当我原创 2023-10-24 11:04:43 · 159 阅读 · 0 评论 -
JAVA-编程基础-11-03-java IO 字节流
, , 是字节输出流的超类(父类),我们来看一下它定义的一些共性方法:1、 :关闭此输出流并释放与此流相关联的系统资源。2、 :刷新此输出流并强制缓冲区的字节被写入到目的地。3、 :将 b.length 个字节从指定的字节数组写入此输出流。4、 :从指定的字节数组写入 len 字节到此输出流,从偏移量 off开始。 也就是说从off个字节数开始一直到len个字节结束 有很多子类,我们从最简单的一个子类 FileOutputStream 开始。看名字就知道是文件输出流,用于将数据写入到文件以上代码原创 2023-10-24 11:01:41 · 196 阅读 · 0 评论 -
JAVA-编程基础-11-02-文件流
, , 类是专门对文件进行操作的类,注意只能对文件本身进行操作,不能对文件内容进行操作,想要操作内容,必须借助输入输出流。 类是文件和目录的抽象表示,主要用于文件和目录的创建、查找和删除等操作。注意:File 跟流无关,File 类不能对文件进行读和写,也就是输入和输出!File 可以表示与,前者是文件夹(Directory,或者叫目录)后者是文件(file),File 类就是用来操作它俩的。在 Java 中,一切皆是对象,File 类也不例外,不论是哪个对象都应该从该对象的构造说起,所以我们来分析分析原创 2023-10-24 11:00:21 · 106 阅读 · 0 评论 -
JAVA-编程基础-11-01-Java IO
, , 按照传输方式对 IO 进行了一个简单的分类IO, 既 in 和 out ,也就是输入和输出,指应用程序和内外部设备之间的数据传递,常见的外部设备包括文件、管道、网络链接。Java中是通过流处理IO的。什么是流?流(Stream),是一个抽象的概念,是 指一连串的数据(字符或字节),是以先进先出的方式发送信息的通道。当程序需要读取数据的时候,就会开启一个通向数据源的流,这个数据源可以是文件、内存、或是网络链接。当程序需要写入数据的时候,就会开启一个通向目的地的流,这时候你就可以想象数据好像在这其中“原创 2023-10-24 10:58:43 · 65 阅读 · 0 评论 -
JAVA-编程基础-10-集合
, , Java 集合框架可以分为两条大的支线:”List 的特点是存取有序,可以存放重复的元素,可以用下标对元素进行操作。简单介绍一下 ArrayList 的特征可以通过上面的语句来创建一个字符串类型的 ArrayList(通过尖括号来限定 ArrayList 中元素的类型,如果尝试添加其他类型的元素,将会产生编译错误),更简化的写法如下:由于 ArrayList 实现了 List 接口,所以 alist 变量的类型可以是 List 类型;new 关键字声明后的尖括号中可以不再指定元素的类型,因为原创 2023-08-24 17:45:55 · 706 阅读 · 0 评论 -
JAVA-编程基础-09-常用工具类
, , 数组专用工具类指的是 类,基本上常见的数组操作,这个类都提供了静态方法可供直接调用数组操作可分为以下 9 种。”使用 Arrays 类创建数组可以通过以下三个方法:revised 和 expanded 是复制后的新数组,长度分别是 3 和 6,指定的数组长度是 5。来看一下输出结果:revised 截取了最后一位,因为长度是 3 嘛;expanded 用 null 填充了一位,因为长度是 6 方法需要三个参数,第一个是指定的数组,第二个是起始位置(包含),第三个是截止位置(不包含)。输出原创 2023-08-24 17:44:47 · 147 阅读 · 0 评论 -
JAVA-编程基础-09-常用类
超类,基类、跟类,所有类的直接或间接父类,位于继承树的最顶层。任何类,如果没有书写extends显示继承某个类,都默认直接继承Object,否则为间接继承。在对象实例化的时候,最终找到的父类就是Object。Object类提供无参构造方法 ,之所以提供这样的无参构造,是因为在子类对象实例化时都会默认调用父类中的无参构造方法,这样在定义类时即使没有明确定义父类为Object,读者也不会感觉代码的强制性要求。Object类中所定义的方法,是所有对象都具备的方法。原创 2023-08-24 17:25:08 · 160 阅读 · 0 评论 -
JAVA-编程基础-08-try-catch性能探究
, , 在 for 循环里面搞了个 ,不知道有性能损耗?需要怎么改呢?有些人回答: 提到外面啊。这种回答是错误的:且不说性能这代码的目的明显是让循环内部单次调用出错不影响循环的运行,移到外面,业务逻辑不就变了。catch 整个 for 循环和在循环内部 catch,在不出错的情况下,其实性能差不多测试代码:请允许我补充一些概念,以便大家能更好的理解这段代码。 从 for 循环里面提出来跟在for循环里面做个对比跑一下可以看到,两者的性能(数字越大越好)其实差不多:[外链图片转存失败,源站可能有防盗链原创 2023-06-30 11:51:18 · 300 阅读 · 0 评论 -
JAVA-编程基础-08-Java异常处理全面解析
那到底什么是异常呢?“异常是指中断程序正常执行的一个不确定的事件。当异常发生时,程序的正常执行流程就会被打断。一般情况下,程序都会有很多条语句,如果没有异常处理机制,前面的语句一旦出现了异常,后面的语句就没办法继续执行了。“有了异常处理机制后,程序在发生异常的时候就不会中断,我们可以对异常进行捕获,然后改变程序执行的流程。“除此之外,异常处理机制可以保证我们向用户提供友好的提示信息,而不是程序原生的异常信息——用户根本理解不了。原创 2023-06-30 11:50:27 · 150 阅读 · 0 评论 -
JAVA-编程基础-07-面向对象思想
, , 利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外的接口使其与外部发生联系。用户无需关心对象内部的细节,但可以通过对象对外提供的接口来访问该对象。优点:以下 Person 类封装 name、gender、age 等属性,外界只能通过 get() 方法获取一个 Person 对象的 name 属性和 gender 属性,而无法获取 age 属性,但是 age 属性可以供 work() 方法使用。注意原创 2023-06-30 11:47:16 · 144 阅读 · 0 评论 -
JAVA-编程基础-06-数组
数组是一种线性数据结构,是一个使用连续的内存空间存放相同的数据类型的集合容器,与其他容器相比,数组的区别主要在于性能与保存基本类型的能力。 在Java中,数组是一种效率最高的存储和随机访问对象的方式,通过寻址公式,随机访问的时间复杂可以达到O(1),但是为了保持空间的连续性,在数组中插入、删除数据时,都需要移动后面数据,该操作的时间复杂度为O(n)。另外,由于空间上连续,所以数组对CPU缓存比较友好,借助CPU的缓存机制,预读数组中的数据,提高访问效率。原创 2023-06-30 11:46:28 · 105 阅读 · 0 评论 -
JAVA-编程基础-05-方法的定义、调用、重载
JAVA-编程基础-05-方法的定义、调用、重载方法的概念什么是方法方法的定义和调用无参数方法定义和调用方法调用过程图解带参数方法的定义和调用带返回值方法的定义和调用方法的注意事项方法重载方法重载方法的参数传递方法参数传递基本类型方法参数传递引用类型Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段。方法包含一个方法头和一个方法体修饰符 返回值类型 方法名(参数类型 参数名) {. . . 方法体 . . . return 返回值;下面是一个方法的所有部分。原创 2023-06-30 11:45:23 · 162 阅读 · 0 评论 -
JAVA-编程基础-04-流程控制
, , 两种输入方法。方法一:java.util.Scanner代码如下:方法二:JOptionPane输入内容确定就字符串值,只要不是确定都是null输出分支语句if else多次判断如下:第一次判断不对就进行下一条判断,当返回值为true时执行,否则执行elseswitch case defaultswitch 多分支开关语句switch(w) 括号中w为判断参数,case 后面的数字是和w匹配的值。当w的值与case后面的值匹配上就执行当前case中的语句break 是退出原创 2023-06-30 11:44:43 · 111 阅读 · 0 评论 -
JAVA-编程基础-03-运算符
, , 举例说明:+:是运算符,并且是算术运算符。 a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式。注意: /和%的区别:两个数据做除法,/取结果的商,%取结果的余数。 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。字符的“+”操作char类型参与算术运算,使用的是计算机底层对应的十进制数值。需要我们记住三个字符对应的数值:‘a’ – 97 a-z是连续的,所以’b’对应的数值是98,'c’是99,依次递加‘A’ – 65 A-Z是连续的,所以’B’对应的数值是6原创 2023-06-30 11:27:44 · 103 阅读 · 0 评论 -
JAVA-编程基础-02-数据类型
Java语言中的数据类型分为两大类,分别是基本类型和引用类型。程序中需要处理许多数据,对于不同数据都有其对应的数据类型,其实就是在内存中开辟一个存储空间来存放数据,不同数据所开辟的内存大小也会不一样。原创 2023-06-30 11:26:42 · 123 阅读 · 0 评论 -
JAVA-编程基础-01初始Java
Java是一种优秀的程序设计语言,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。原创 2023-06-30 11:11:44 · 127 阅读 · 0 评论