自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CAS的理解和应用

​ CAS只管开头和结尾,中间过程不关心,只要头尾相同,则认为可以进行修改,而中间过程很可能被其他人改过,这样就忽略了中间的值,打个比方:(1)一家三口人,爸爸、妈妈、儿子。(2)一天早上6点,妈妈给儿子的水杯灌满了水(水量为A),儿子先喝了一半(水量变成B)。(3)然后妈妈把水杯又灌满了(水量为A),等中午再喝(妈妈执行了一个ABA操作)。(4)爸爸7点看到水杯还是满的(不知道是妈妈又灌满的),于是给儿子喝了1/3(水量变成D)

2024-05-29 18:00:44 246

原创 第二十四章_字符串操作类

目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子。24.4.3 字符串替换:replace(char oldChar, char newChar):返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。截取位置下标从0开始。substring(int beginIndex):返回一个新的字符串,它是此字符串的一个子字符串。

2024-04-29 14:43:40 343

原创 第二十三章_时间操作类

(该程序实现的原理为:首先代表两个特定的时间点,这里使用Calendar的对象进行代表,然后将两个时间点转换为对应的相对时间,求两个时间点相对时间的差值,然后除以1天的毫秒数(24小时X60分钟X60秒X1000毫秒)即可获得对应的天数。结果解释:在该示例代码中对象c4代表的时间是2009年10月10号,对象c5代表的时间是2010年10月10号,则对象c5代表的日期在c4代表的日期之后,所以after方法的返回值是true。其中参数field代表需要获得的字段的值,字段说明和上面的set方法保持一致。

2024-04-29 14:41:44 736

原创 第二十二章_数字处理类

public BigInteger[] divideAndRemainder(BigInteger val):返回包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。public BigInteger multiply(BigInteger val):返回其值为 (this * val) 的 BigInteger。public BigInteger and(BigInteger val):返回其值为 (this & val) 的 BigInteger。

2024-04-29 14:40:12 234

原创 第二十一章_八种封装类

21.1.1 什么是封装类:也叫包装类。为了能将基本类型转化为对象进行处理,并能连接相关的方法,Java为每个基本数据类型都提供了包装类,这样便可以把这些基本类型转换为对象来进行处理了。需要说明的是,Java是可以直接处理基本数据类型的,但在有些情况下需要将其作为对象来处理,这时就需要将其转换为包装类了。

2024-04-22 11:20:57 590

原创 第二十章_初级练手项目之动物管理系统

第二十章 初级练手项目之动物管理系统前言:该系统主要培养面向对象的思维方式。使用的技术:数组包类与对象封装、继承、多态抽象类接口static与final关键字重写toString()方法系统概述动物招领所是收养流浪动物的地方。首先,由动物保护者寻找流浪的动物,并带回到动物招领所喂养。动物到动物招领所后,由动物管理者来照顾动物,每照顾一次,动物的体重会增加,每种动物增加的重量不同,体重的上限也不同。招领所的动物可以被满足条件的领养者进行领养。有许多种领养者:公务员、工

2024-04-22 11:11:03 500

原创 第十九章_Java内部类

静态内部类是不需要依赖于外部类的,这点和类的静态成员属性有点类似,并且它不能使用外部类的非static成员变量或者方法,这点很好理解,因为在没有外部类的对象的情况下,可以创建静态内部类的对象,如果允许访问外部类的非static成员就会产生矛盾,因为外部类的非static成员必须依附于具体的对象。例2:当成员内部类拥有和外部类同名的成员变量或者方法时,会发生隐藏现象,即默认情况下访问的是成员内部类的成员。19.1.3 成员内部类语法:成员内部类是最普通的内部类,它的定义为位于另一个类的内部。

2024-04-22 11:09:16 1084

原创 第十八章_Java中的异常处理

在程序中,错误可能产生于程序员没有预料到的各种情况,或者是超出了程序员可控范围的环境因素,如用户的坏数据、视图打开一个根本不存在的文件等。异常分为两种:一种是在编写的过程中产生的语法错误,代码编译器会用红线进行提示。第二种是运行过程中所产生的错误。为什么使用自定义异常:使用Java内置的异常类可以描述在编程时出现的大部分异常情况。但是在出现我们认为的逻辑错误时,会使用到自定义异常。比如,一般情况下一个人的年龄不能小于0,不能大于200。如果设置了年龄在这个区间外程序不会报错,但是我们认为是错误的。

2024-04-15 15:13:00 1097 1

原创 第十七章_抽象类与接口

(使用接口实现,门与电脑并不属于同一种类型,但都有开,关的空能,所以写一个带可开关设备的接口,门与电脑来实现这个接口后续题目依照此思路自己思考)。一个子类只能继承一个父类,但是有这么个情况:比如一个人,他既是学生,又是党员,又是一个儿子,这么多身份要继承,那要怎么办呢?17.2.1 什么是接口:接口是抽象类的延伸,可以将它看作是存粹的抽象类,接口中所有的方法都没有实体,但是可以写静态方法**(JDK1.8以后可以)**,但是静态方法必须有实体。)写一个职员类,类中有属性:姓名,年龄,工资。

2024-04-15 15:10:12 707 1

原创 第十六章_多态与final关键字

什么是final类:使用final来修饰的类叫作final类。final类中的所有方法都被隐式的设置为final形式,但是成员变量可以定义为final类型和非final类型。什么是final方法:final也可以声明方法。final方法比非final方法要快,因为在编译的时候已经静态绑定了,不需要在运行时再动态绑定。什么是final变量:凡是对成员变量或者本地变量(在方法中的或者代码块中的变量称为本地变量,如果你认为一个方法的功能已经足够完整了,子类中不需要改变的话,你可以声明此方法为final。

2024-04-15 15:03:31 570 1

原创 第十五章_Object类与对象类型判断

代码清单3的CloneDemo类和代码清单4的Data类是Object类的子类,所以可以调用clone(),但是代码清单4中的CloneDemo类就不能直接调用Data父类的clone())。过程解释(见图解:创建一个字符串的两种形式.jpg):首先创建了一个str字符串引用,对象为“abc”,当将“def”再次赋值给str引用时,str引用不再指向“abc”对象,而是重新指向“def”对象,原来的对象则没有引用指向,会在不确定的时候被垃圾回收机制回收掉。所以在转型时要事先判断父类是否为子类对象的实例。

2024-04-15 15:02:59 910 1

原创 第十四章_重载、对象的类型转换与递归

什么是递归:一个方法体内调用它自身,这样的方法我们称之为方法递归。方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。所以使用递归的计算必须是有规律的,有出口的。14.2.1 什么是对象类型转换:类似于基本数据类型之间的类型转换。存在继承关系的父类对象和子类对象之间也可以在一定条件之下相互转换。例:求10的阶乘10!14.2.2 向上转型(也可称为:父类的引用指向子类的对象)无论是否有返回值,不影响方法的重载。不能将不同功能的方法进行重载。方法名相同的方法才叫重载。

2024-04-15 15:02:28 814 1

原创 第十三章_类的继承

结论:使用继承之后,可以发现这个Father类就可以作为一个父类,然后小儿子类和大儿子类继承这个类之后,就具有父类当中的属性和方法,子类就不会存在重复的代码,维护性也提高,代码也更加简洁,提高代码的复用性(复用性主要是可以多次使用,不用再多次写同样的代码)。13.2.4 继承的好处:现有大儿子和小儿子两个类,类中有属性姓名、性别和年龄,类中有方法吃,内容输出为:XXX正在吃,睡,内容输出为:XXX正在睡,自我介绍,内容为大家好!现在有白猪类和黑猪类如下:问:请用继承的思想,改写下面的类。

2024-04-15 15:01:58 845 1

原创 第十二章_static关键字与main方法

解释:static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。**注意:**虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。在出现的新版面中,左边代表已经运行过main方法的类名,找到刚刚的Test点击,在旁边有一个(x)=Arguments,代表设置参数,点击它。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在。

2024-04-15 15:01:19 694 1

原创 第十一章_访问权限与构造方法

编写一个长方体(Box)类。方法:移动(move()),设置速度(setSpeed(int speed)),加速speedUp(),减速speedDown()等等.最后在测试类VehicleTest中的main()中实例化一个交通工具对象,并通过方法给它初始化speed,size的值,并且打印出来。定义一个考试类StuTest,定义三个私有的变量chinese、math、english分别表示语数外成绩,定义三个成绩的对应get、set方法,定义一个sum()方法,显示总分,定义Test类进行测试。

2024-04-15 15:00:44 567 1

原创 第十章_初识Java面向对象

堆(heap):存放由new创建的对象和数组。

2024-04-15 14:59:44 942 1

原创 第九章_数组

定义一个长度为5的数组为{‘a’,‘b’,‘c’,‘d’,‘e’}的数据值,复制到另外一个数组。定义一个长度为6的整型数组,数据为{1,2,4,5,6,0}插入一个数字3,使数组依然有序。定义一个长度为10的字符串数组。定义一个数组:int a[]={4,5,3,2,8},将该数组中所有的偶数复制到新数组中。

2024-04-15 14:59:12 713 1

原创 第八章_ASCII(阿斯克码)

什么是ASCII:ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统,它是现今最通用的单字节编码系统。将计算机的二进制语言与其他进制、字符进行转换。所以要增加由ASCII引申而来的其他国家的编码:用的汉字字符集有GB2312-80,GBK,Big5,unicode等。表内容见:ASCII码表.docx。例1:根据ASCII表用循环打印出a。例2:将中文转化为字节。

2024-04-15 14:58:38 1141 1

原创 关于Java对象序列化和反序列化的问题:invalid stream header

关于Java对象序列化和反序列化的问题。

2024-04-15 14:51:36 1214 1

原创 第七章、循环

第七章、循环提纲7.1 while循环7.1.1 为什么使用循环7.1.2 Java中有四种主要的循环结构7.1.3 while循环结构语法7.1.4 举例7.2 debug模式进行程序调试7.3 do…while循环7.4 产生随机数与快捷键7.4.1 产生随机数7.4.2 快捷键7.4.2.1 直接删除一行快捷键7.4.2.2 多行代码同时右移和左移7.4.2.3 一行或多行代码上下移7.5 for循环7.5.1 for的语法结构7.

2021-08-23 10:05:09 734 2

原创 第六章、条件语句

第六章、条件语句摘要这是第六章,条件循环语句,也是所有语言当中必须要掌握的一些基本的循环算法,话不多说,直接上干货,如果你觉得可以请直接点赞加关注。越多更的越快!提纲6.1 多个if6.2 多重if6.3 switch选择结构6.3.1 语法结构6.3.2 例6.3.3 注意事项(常见错误)6.3.3.1 不写break的情况6.3.3.2 case的常量问题6.3.3.3 default的顺序问题6.3.3.4 switch的条件问题6.3.3.5 枚举类型举例(

2021-03-23 19:06:22 417

原创 JAVA代码书写规范总结

**##第五章 、 JAVA代码书写规范总结**摘要这是接着前面四章的第五章,很多人不重视代码的规范,但是你要知道一个完整的大型项目的开发不是一个人可以完成的,所以就可以知道代码的规范是很重要的,下面呢我只做一个总结。还想说的一句就是:如果你感兴趣,想跟着一直学,那么你就可以关注并且点赞了。我后面的章节会一步步的讲述Java,直到可以拿到8k薪资左右的程度。命名规范一般概念尽量使用完整的英文描述符(如果英文不好可以用拼音代替,一定不要用拼音首字母简称,别人是看不懂的)采用驼峰命名法

2021-03-15 22:30:38 235

原创 第四章、运算符和Boolean

**运算符和boolean**摘要如果你看了我前面两篇文章,那么你就正式入门了,那么我们接下来的学习就是按照一个系统性学习的步骤以及讲解来给大家进行学习。还想说的一句就是:如果你感兴趣,想跟着一直学,那么你就可以关注并且点赞了。我后面的章节会一步步的讲述Java,直到可以拿到8k薪资左右的程度。1.赋值运算符语法:变量名 = 表达式;(前提必须先声明一个变量才可以使用声明的变量名)。表达式:表达式就是运算符(如加号、减号)与操作数(如b,3等)的组合。举例:int a;in

2021-03-15 18:44:56 240

原创 JAVA变量

第二章 JAVA变量1.概念:变量,即变化的量。要告诉编译器这个变量是属于哪一种数据类型的,这样编译器才知道需要给它配置多少空间以及它能存放什么样的数据。在程序运行过程中,存储变量的空间内的值是变化的,这个内存空间就称为变量。为了便于操作,给这个空间取个名字,称为变量名。变量的命名必须是合法的标识符。内存空间内的值就是变量值。在声明变量时可以不赋值,也可以是直接赋予初值。**2.**内存如何存储变量1.系统的内存可以分为三个区域:系统区(OS)、程序区(Program)、数据区(Data)

2021-03-08 15:44:52 1629 1

原创 Java环境配置

Java入门1.Java的运行过程编写Java文件,生成为HelloWorld.java。通过编译器编译,生成为HelloWorld.class文件电脑上面运行的都是二进制文件(101011011…),通过虚拟机由计算机运行。2.Java的环境配置1.下载JDK,现在用的最多的版本就是JDK8.网址:最新版本:http://www.oracle.com/technetwork/java/javase/downloads/index.htmlJDK8下载地址(可能失效):http://www

2021-03-08 15:16:48 2430 3

空空如也

空空如也

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

TA关注的人

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