自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JAVA从零开始20_基本的查找和排序算法

如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且同样在这一半的中间元素开始比较,直到找到要查找的元素,或者搜索范围为空。它的工作原理是,从数组的第一个元素开始,逐个检查每个元素,看它是否和我们要查找的元素匹配。这个位置通常称为哈希值。这个过程对剩余的元素进行,然后对更少的元素进行,依此类推,直到只剩下一个元素,这个元素此时已经在正确的位置上。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。

2023-05-14 17:26:03 169 1

原创 JAVA从零开始19_常用API 日期和时间

文章目录一、Date二、SimpleDateFormat三、Calendar四、JDK8新增时间类五、Instant六、ZonedDateTime七、DateTimeFormatter七、LocalDate八、 LocalTime和LocalDateTime九、Duration和Period和ChronoUnit一、DateJava中的Date类是一个表示特定瞬间的时间,精确到毫秒的类。它位于java.util包中。然而,在Java 8及以后的版本中,建议使用java.time包下的新的日期和时间API

2023-04-22 17:39:52 184

原创 JAVA从零开始18_基础API之爬虫

捕获分组可以捕获匹配的子字符串,以便在之后进行引用,而非捕获分组仅用于组织子表达式,而不捕获匹配的子字符串。利用这些特殊构造,你可以编写更复杂和灵活的正则表达式,以便更好地满足你在处理字符串时的需求。贪婪匹配尝试匹配尽可能多的字符,而非贪婪匹配尝试匹配尽可能少的字符。这个正则表达式将匹配所有的"This is a test"(忽略大小写)中的"This",并输出它们在文本中的开始位置。表示一个非捕获组,它允许你将正则表达式的一部分分组,但不会将匹配的文本捕获到一个单独的组中。,它包含了两个电子邮件地址。

2023-04-22 17:18:29 294

原创 JAVA从零开始17_常用API BigInteger BigDecima 正则表达式

例如,在RSA加密算法中,公钥和私钥都是由大整数构成的,而加密和解密过程需要进行大整数的幂运算和模运算。API(Application Programming Interface,应用程序编程接口)和Interface(接口)都是用于描述组件之间如何进行交互的方式,但它们的侧重点和应用场景有所不同。在进行大整数运算时,这种舍入方法的优点是在大量数据计算中,上舍入和下舍入的次数相当,从而避免了系统性偏差。类是一个不可变的任意精度的整数类,它提供了对大整数进行操作的方法,包括算术运算、位操作、比较等。

2023-04-22 17:10:30 144

原创 JAVA从零开始16_常用API Math System Object Objects

Java中的System类提供了访问系统资源的方法,如标准输入、输出和错误流,以及与当前系统环境有关的实用方法。它是一个不能被实例化的工具类,因为它的构造方法是私有的。总之,Object类是Java中所有类的根类,它提供了一些基本的方法。Objects类是一个工具类,提供了一系列静态方法用于操作对象、处理null值以及辅助实现Object类中的方法。例如,如果对象包含对不可变对象的引用,或者对象之间共享相同的引用对象没有副作用。默认实现是浅拷贝,意味着对象的字段仅被复制,而不是对象引用的实际对象。

2023-04-22 16:50:22 68

原创 JAVA从零开始15_内部类

内部类可以是静态的,也可以是非静态的。局部内部类可以访问外部类的所有成员,但对于声明它的方法内的局部变量,只能访问被声明为 final 或实际上是 final 的变量(从 Java 8 开始,局部变量可以隐式地被视为 final,只要它们的值没有被修改)。然而,如果匿名内部类的实现变得复杂,建议将其转换为常规的内部类或独立的类,以保持代码的结构清晰。匿名内部类可以访问外部类的成员和方法:匿名内部类可以访问外部类的成员变量和方法,但只能访问声明为 final 或实际上是 final 的局部变量。

2023-04-13 22:14:13 758

原创 JAVA从零开始14_抽象类和接口

通过将共享的属性和行为放在抽象类中,并将特定的实现留给子类,我们可以在不影响其他部分的情况下灵活地修改和扩展代码。典型的行为型模式包括:责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。方法实现:抽象类可以包含具体方法(即有方法体的方法),而接口中的所有方法都是抽象方法,不能包含具体实现。例如,如果你有一个旧的系统,需要与一个新的系统进行通信,但它们的接口不兼容,你可以使用适配器模式来解决这个问题,而无需修改任何现有代码。

2023-04-13 21:49:48 157

原创 JAVA从零开始13_包、final、权限修饰符、代码块

对于引用类型,final变量的引用不能更改,但对象的内容仍然可以更改(例如,集合中的元素可以添加或删除)。注意,对于引用类型的final变量,只有引用本身不能被修改,但是引用指向的对象的内部状态仍然可以被修改。在实际开发中,普通代码块(方法内的代码块)使用最多,因为它们在方法内组织代码,限定局部变量的作用范围,提高代码的可读性和可维护性。其他类型的代码块(静态代码块、实例代码块、同步代码块)在特定场景中也有一定的使用频率,但相对于普通代码块,使用的次数要少一些。这些成员仅在类的内部使用,外部代码无法访问。

2023-04-13 21:30:49 64

原创 JAVA从零开始12_面向对象中的多态

当一个对象调用一个实例方法时,Java 虚拟机会根据对象的实际类型查找其对应的虚方法表,并根据方法名和签名找到正确的方法地址,然后执行该方法。这意味着,如果我们需要添加一个新的动物类型,只需创建一个新的子类(例如Fish),无需修改原有的处理Animal的方法。当子类重写父类的方法时,子类的虚方法表会将对应的父类方法替换为子类方法的实现。虽然 Dog 类有自己的 sound 成员变量和 makeSound() 方法实现,但在多态调用时,访问的是父类的成员变量和子类的成员方法。

2023-04-10 18:36:09 75

原创 JAVA从零开始11_面向对象的进一步理解

方法区不属于堆内存或栈内存。静态变量:静态变量在内存中只有一个副本,它们存储在 Java 虚拟机(JVM)的方法区(Java 8 及之前的版本称为永久代,Java 8 之后称为元空间)。子类会继承父类的成员方法(除了私有方法),所以子类的方法区中也会包含对父类方法的引用。同时,非静态方法也可以访问静态成员,因为静态成员位于方法区(JDK 8及之前)或元空间(JDK 9及之后),对所有实例共享,不受实例的影响。子类的方法区中包含对父类方法的引用,堆区中的子类对象包含子类自身的成员变量和继承自父类的成员变量。

2023-04-10 18:04:59 69

原创 JAVA从零开始10_ArrayList

常用的实现类有 HashMap(基于哈希表,无序)、LinkedHashMap(基于哈希表和链表,保持插入顺序)和 TreeMap(基于红黑树,按键的自然顺序或者自定义的比较器顺序进行排序)。需要注意的是,System.exit(0) 是一种强制退出的方式,应在确保不会影响程序正常执行的情况下谨慎使用。Set:集合是一种无序的集合,不包含重复的元素。常用的实现类有 HashSet(基于哈希表,无序)、LinkedHashSet(基于哈希表和链表,保持插入顺序)和 TreeSet(基于红黑树,有序)。

2023-04-08 19:18:51 321

原创 JAVA从零开始09_String字符串

将统计变量返回,在主方法中,定义字符串表示题目中的文本,定义字符串表示要查找的子串,调用方法,获取结果。定义方法,返回值类型为boolean,参数列表为String类型的一个参数,将字符串转换为StringBuilder类型,调用StringBuilder的reverse()方法将字符串反转,将反转后的字符串再转回String类型,并与原字符串比较,如果相等,返回true,否则返回false,在主方法中,定义一个字符串,调用方法测试结果。字符串比较:字符串比较时,应注意区分比较字符串内容和比较字符串引用。

2023-04-05 18:51:13 145

原创 JAVA从零开始08_面向对象基本概念

在定义类时,需要注意以下几点,以确保代码的可读性、可维护性和可扩展性:类名应有意义且具有描述性:选择一个能够清晰表达类功能和责任的类名。遵循命名规范,例如使用驼峰命名法(首字母大写)。遵循单一职责原则:一个类应该只负责一项任务或功能。遵循单一职责原则有助于保持类的简洁性和可维护性。封装:确保类的属性和实现细节被封装起来,只通过公开的接口(如公共方法)与外部交互。这有助于提高类的可维护性和易用性。使用访问修饰符:根据需要合理使用访问修饰符(如 public, private,

2023-04-02 14:05:40 92

原创 JAVA从零开始07_方法

基本数据类型的值传递:当我们将基本数据类型的变量作为参数传递给方法时,Java会在栈内存中创建一个新的栈帧,该栈帧中包含方法的局部变量和参数。在内存中,基本数据类型的值存储在栈内存,而引用数据类型的对象数据存储在堆内存,引用本身存储在栈内存。总之,在方法执行过程中,栈内存存储了方法的局部变量、参数和其他相关信息,而堆内存存储了方法中创建的对象和数组的实际数据。而堆内存中的对象和数组由垃圾回收器管理,具有更长的生命周期。方法中的对象引用和数组引用(作为局部变量或参数)存储在栈内存中,指向堆内存中的实际数据。

2023-03-25 17:07:25 98

原创 JAVA从零开始06_数组

ava中的数组是一种数据结构,用于存储具有相同类型的多个元素。数组是固定大小的,创建后其长度无法更改。数组中的每个元素都有一个索引,用于表示元素在数组中的位置。在Java中,数组索引从0开始,所以数组的最后一个元素的索引是数组长度减1。以下是关于Java数组的一些关键概念:声明数组:要在Java中声明数组,需要指定数据类型,后面跟上一对方括号。创建数组:在声明数组后,需要使用new关键字为数组分配内存空间并指定数组的大小。初始化数组:可以在创建数组时为其元素分配初始值。

2023-03-25 15:24:57 91

原创 JAVA从零开始05_循环语句

在计算完商和余数后,我们需要检查被除数和除数的符号,如果它们的符号不同,我们将商的符号取反。条件:for循环和while循环都有一个条件,当该条件为真时,循环会继续执行。这两种循环的条件位置不同:for循环将条件放在循环声明中,而while循环将条件放在循环的开头。while 循环和 do-while 循环都是 Java 中的循环结构,它们用于重复执行一段代码,直到满足某个条件。总之,while 循环和 do-while 循环的主要区别在于循环条件的检查时间。在循环次数已知的情况下,使用for循环。

2023-03-22 23:19:52 107

原创 JAVA从零开始04_判断语句

如果不使用break,则会发生“穿透现象”,即当前分支执行完毕后,会继续执行下一个分支的代码,直到遇到break或整个switch语句结束。是指在某个case分支中没有使用break语句时,程序会继续执行下一个case分支的代码,而不会判断下一个case的条件是否满足。需要注意的是,在使用穿透现象时要格外小心,因为如果不加注意,可能会导致意外的行为和难以发现的错误。使用场景:switch语句主要用于多个固定值的比较,当需要基于某个变量或表达式的值来执行不同的代码块时,可以使用switch语句。

2023-03-22 22:58:13 990

原创 JAVA从零开始03_运算符

Java表达式可以使用算术运算符(如+、-、*、/)、逻辑运算符(如&&、||、!位运算符在 Java 中主要用于二进制位的操作,主要包括:与(&)、或(|)、异或(^)、左移()和无符号右移(>>>)等。位运算符:按位与(&)、按位或(|)、按位异或(^)、按位取反(~)、左移()、无符号右移(>>>)等。赋值运算符:简单赋值(=)、复合赋值运算符(+=、-=、*=、/=、%=等)。算术运算符:加(+)、减(-)、乘(**)、除(/)、取模(%)等。

2023-03-07 21:58:36 145

原创 JAVA从零开始02_数据类型

同时还有弱类型语言,强类型语言是指在编程语言中,变量的类型必须在编译期间确定并且不能改变。这种语言的编译器会检查变量的类型,如果类型不匹配则会在编译时生成错误。这种语言确保了变量的类型安全,并且可以提高代码的可读性和可维护性。Java、C++、C# 等语言都是强类型语言。与强类型语言相对的是弱类型语言,例如 Python、Ruby 等语言。弱类型语言不需要显式声明变量的类型,编译器可以在运行时自动推断变量的类型。

2023-03-05 15:33:49 109

原创 JAVA从零开始01_简单介绍

在Java中,代码编译成字节码,并在Java虚拟机(JVM)上运行。因此,Java的跨平台性是通过JVM实现的,JVM负责处理不同操作系统的差异,并确保Java代码在任何支持JVM的平台上正常运行。JRE (Java Runtime Environment):是Java语言的运行环境,它包含了Java虚拟机(JVM)、Java类库和其他运行Java应用程序所需的组件。总的来说,JDK是开发Java应用程序的必备工具,JRE是运行Java应用程序的运行环境,JVM是运行Java代码的核心组件。

2023-03-04 14:24:43 144 1

空空如也

空空如也

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

TA关注的人

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