![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java基础
小霸王学习机_001
这个作者很懒,什么都没留下…
展开
-
#和$的区别
他们之间的区别用最直接的话来说就是:#相当于对数据 加上 双引号,$相当于直接显示数据。1、#对传入的参数视为字符串,也就是它会预编译,select * from user where name = #{name},比如我传一个csdn,那么传过来就是 select * from user where name = ‘csdn’;2、将不会将传入的值进行预编译,select∗fromuserwherename=将不会将传入的值进行预编译,select * from user where name=将不会原创 2022-05-31 07:24:32 · 3444 阅读 · 0 评论 -
几种排序算法
快速排序:快速排序的基本思想是基于分治法的,在待排序的表中选取一个元素Pivot作为中心轴,将大于Pivot的元素放在右边,将小于Pivot的数字放在左边,则Pivot放在了最终的位置上,这个过程称为一次快速排序,分别对左右两个子序列重复上述操作(递归)冒泡排序:冒泡排序的基本思想是:从后往前(或从前往后)两两比较相邻元素的值,若为逆序(即A[i-1]>A[i]),则交换它们,直到序列比较完。我们称它为第一趟冒泡,结果是将最小的元素交换到待排序列的第一个位置 ( 或将最大的元素交换到待排序列的最原创 2022-05-29 09:21:41 · 358 阅读 · 0 评论 -
$(document).ready(function()
$就是jquery的简写,$()就是一个选择器,document是html的所有元素,$(document)返回一个数组, 而这个数组是一个对象,这个对象调用ready方法,function则是ready里面的参数,就是说等这个页面全部加载完之后就去执行写入的js。 而且在$(document).ready(function(){ }); 里面写入的js特效是和下一个里面写入的特效是不冲突的,俩者之间是不影响的, 因此可以通过$(function(){});在一个页面中加载多个js。read.原创 2022-05-20 10:10:38 · 4559 阅读 · 0 评论 -
修饰符protected,public,private区别
类中成员的修饰符在同一类内可以访问在同一包内可访问在子类内可访问在不同包可访问public√√√√protected√√√—default√√——private√———protected成员可以在同一包内被访问,可以在不同包中的子类中被访问,不可以在不同包中的不同类中被访问。使用private修饰符可以完全隐藏类的成员,这样,就不能从类外直接访问它们。不使用修饰符就表示允许同一个包里的任何类直接访问类的成员,但...原创 2022-05-18 13:19:55 · 1228 阅读 · 0 评论 -
IDEA不能正常加载js代码
原因:IDEA对于js代码的兼容性较差,导致出现页面点击按钮无反应、无法正常访问页面的情况。解决:clean-install2.清除缓存原创 2022-05-17 12:38:42 · 610 阅读 · 0 评论 -
ajax异步请求
JQUery封装了一个函数,称之为$.ajax()函数,通过对象调用ajax函数,可以异步加载相关的请求。依靠的是Javascript提供的一个对象XHR,封装了这个对象AJAX 是与服务器交换数据并更新部分网页的技术,在不重新加载整个页面的情况下。使用方式:语法结构:需要传递一个方法体作为方法的参数来使用,一对大括号称之为方法体。ajax接收多个参数,之间用逗号间隔,每一组参数之间用冒号分割,参数的组成部分一个是参数名称(不能随便定义),是参数的值,参数的值要求是用字符串来标识。参数的声明顺序没.原创 2022-05-17 10:48:38 · 390 阅读 · 0 评论 -
MD5算法加密
//密码加密处理MD5 //串 + password +串--------->MD5算法加密,连续加载三次 //盐值+ password +盐值--------盐值本身就是一个随机的字符串 String oldPassword = user.getPassword(); //随机生成一个盐值 String salt = UUID.randomUUID().toString().toUpperCase().原创 2022-05-16 17:14:34 · 485 阅读 · 0 评论 -
Java泛型理解最全
为什么要有泛型(Generic)泛型:标签举例:1、 中药店,每个抽屉外面贴着标签2、超市购物架上很多瓶子,每个瓶子装的是什么,有标签泛型的设计背景集合容器类在设计阶段/声明阶段不能确定这个容器到底实际存的是什么类型的对象,所以在JDK1.5之前只能把元素类型设计为Object,JDK1.5之后使用泛型来解决。因为这个时候除了元素的类型不确定,其他的部分是确定的,例如关于这个元素如何保存,如何管理等是确定的,因此此时把元素的类型设计成一个参数,这个类型参数叫做泛型。Collection,原创 2022-05-10 17:31:20 · 93 阅读 · 0 评论 -
Java集合最全
Java 集合框架概述一方面, 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。另一方面,使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。数组在内存存储方面的特点:数组初始化以后,长度就确定了。数组声明的类型,就决定了进行元素初始化时的类型数组在存储数据方面的弊端:数组初始化以后,长度就不可变了,不便于扩展数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高。同原创 2022-05-08 16:53:32 · 84 阅读 · 0 评论 -
增强for循环
增强for循环:用于遍历集合、数组 @Test public void t1(){ Collection coll = new ArrayList(); coll.add(123); coll.add(4565); coll.add(new String("tom")); coll.add(false); //使用for遍历 for (Object obj:coll) {原创 2022-05-06 10:03:21 · 94 阅读 · 0 评论 -
Java常用类:比较器
在Java中经常会涉及到对象数组的排序问题,那么就涉及到对象之间的比较问题。说明:正常情况下,只能进行比较:== 或者!=,不能使用> <,但是在开发中,我们需要对多个对象进行排序,言外之意,就是需要比较对象的大小。如何实现?使用两个接口的任何一个 Comparable、ComparatorJava实现对象排序的方式有两种:自然排序:java.lang.Comparable定制排序:java.util.Comparatorpackage com.linfeng.ja原创 2022-05-05 14:40:42 · 1024 阅读 · 0 评论 -
Java常用类:string 、日期api总结最全
StringString字符串,使用""引用来表示1、String声明为final,不可 被继承2、实现了Serializable接口,表示字符串是支持序列化的3、实现了Comparable接口,表示可以比较大小4、内部定义了final char value[],用于存储字符串数据5、String:代表不可变的字符序列。简称不可变性当对字符串重新赋值时,需要重写指定内存区域赋值,不能使用原有的value进行赋值当对现有的字符串进行连接操作时,也需要重写指定内存区域赋值,不能使用原有的v原创 2022-05-05 10:33:48 · 307 阅读 · 0 评论 -
Method类(反射)
下面先写一个普通的1、接口package com.linfeng.pojo;public interface HelloService { public void sayHello(String name);}2、实现类package com.linfeng.pojo;public class HelloServiceImpl implements HelloService{ public void sayHello(String name) { Sy原创 2022-04-20 11:09:15 · 806 阅读 · 1 评论 -
为什么要用get与set方法
在spring与其他课程中一直频繁用到get与set方法在很多程序中,都喜欢定义一个privata变量,然后为这个私有变量加上get(),set()方法,至于为什么我在看到这篇文章后才懂了一点点这里转载 2022-04-17 15:22:19 · 399 阅读 · 0 评论 -
异常处理机制
抛出异常捕获异常异常处理的五个关键字try 、 catch 、 fianlly 、 throw 、 throws、经验总结:1、处理运行时异常时,采用逻辑去合理规避同时辅助try-catch处理。2、在多重catch块后面,可以添加一个catch(Exception)来处理可能会被遗漏的异常。3、对于不确定的代码,可以加上try-catch,处理潜在的异常4、尽量去处理异常,切忌只是用简单的调用printStackTrace()去打印输出。5、尽量去添加finally语句去释原创 2022-03-25 21:51:59 · 342 阅读 · 0 评论 -
Java接口
普通类:只有具体实现抽象类:具体方法和规范(抽象方法)都有接口:只有规范!自己无法写方法,体现了现实世界中“如果你是。。则必须。。”的思想。接口的本质是契约,就像我们的法律一样。制定好大家都要遵守。声明类的关键字是class声明接口的关键字是interface接口的作用1、约束2、定义一些方法,让不同的人实现3、方法都是public abstract4、常量-----public static final5、接口不能实例化,接口中没有构造方法6、implements可以实现多个接口原创 2022-03-25 15:33:37 · 122 阅读 · 0 评论 -
Java抽象类
package oop.Demo007;//abstract抽象类:类 extends:单继承 (接口可以多继承)public abstract class Action { //abstract,抽象方法,只有方法名字,没有方法实现 public abstract void doSomething(); //1、不能new这个抽象类,只能靠子类实现它 //2、抽象类中可以写普通方法 //3、抽象方法必须在抽象类中}...原创 2022-03-25 14:52:27 · 518 阅读 · 0 评论 -
instance用法
package oop.Demo08;public class Main { public static void main(String[] args) { //object>person>teacher //object>person>student //object>String Object object = new Student();// System.out.println原创 2022-03-24 21:21:46 · 1296 阅读 · 0 评论 -
Java中的多态
多态即同一方法可以根据发送对象的不同而采用多种不同的行为方式注意事项:1、是方法的多态,属性没有多态2、父类和子类,有联系 类型转换异常!ClassCastException!3、存在条件:继承关系,方法需要重写,父类引用指向子类对象!Father f1 = new Son();...原创 2022-03-23 22:17:32 · 284 阅读 · 0 评论 -
方法的重写
静态方法是类的方法,非静态方法是对象的方法没有static时,b调用的是对象的方法,而b是用A类new的有static时,b调用的是B类的方法,因为b是用b类定义的即b是A new出来的对象,因此调用了A的方法重写:需要有继承关系,子类重写父类的方法!1、方法名必须相同2、参数列表必须相同3、修饰符:范围可以扩大:public>protected>default>private4、抛出异常:范围可以被缩小,但不能扩大;5、子类的方法和父类的方法必须要一致;方法体不同。原创 2022-03-23 21:33:10 · 58 阅读 · 0 评论 -
继承与组合问题详解
继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。extends的意思是“扩展”。子类是父类的扩展。JAVA中类只有单继承,没有多继承。(一个儿子只能有一个爸爸,但一个爸爸可以有多个爸爸)继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有“is a”的关系。package oop;//学生 is 人:派生类;原创 2022-03-23 20:36:50 · 62 阅读 · 0 评论 -
Super与this详解
super注意点:·1、super调用父类的构造方法,必须在构造方法的第一个。2、super必须只能出现在子类的方法或者构造环境中。3、super与this不能同时调用构造方法。Vs this代表的对象不同:this:本身调用者这个对象super:代表父类对象的引用前提:this:没有继承也可以使用super:只能在继承条件下使用构造方法:this();本类的构造;super();父类的构造...原创 2022-03-23 19:23:56 · 292 阅读 · 0 评论 -
封装问题详解
我们程序设计要追求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合:仅暴露少量的方法给外部使用。封装(数据的隐藏):通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来直接访问,这称为信息隐藏属性私有,get/set...原创 2022-03-22 21:41:34 · 99 阅读 · 0 评论 -
构造器(构造方法),类的初始化,类的实例化
类中的构造器也叫构造方法。是在进行创建对象的时候必须要调用的,并且构造器有以下两个特点:1、必须和类的名字相同2、必须没有返回类型,也不能写void作用:1、new本质就在调用构造方法2、初始化对象值注意点定义有参构造之后,如果想要使用无参构造,显示的定义一个无参构造。快捷键alt+insert...原创 2022-03-22 16:04:00 · 412 阅读 · 0 评论 -
方法的调用(静态与非静态)
静态方法static同一包不同类可以直接输入类的名称+.+方法非静态方法需要类实例化:对象类型 对象名 = 对象值遵循一个原则:被static修饰的内容会跟随类的加载而加载,所以静态化的内容可以不用实例化就直接调用,同时两个静态方法之间也可以互相调用。...原创 2022-03-21 21:05:37 · 97 阅读 · 0 评论 -
稀疏数组详解
稀疏数组原创 2022-03-20 15:26:37 · 58 阅读 · 0 评论 -
关于nextInt()、next()和nextLine()的用法
nextInt(): nextInt()只读取数值,剩下"\n"还没有读取 hasNextInt()用于判断键盘输入的下一个字符串是否为Int类型,返回boolean。 next(): next()只读空格之前的数据,next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。 nextLine(): 扫描到一行内容并作为一个字符串而被获取到。如果要读取带空格的一串字符原创 2022-03-17 16:30:12 · 4034 阅读 · 0 评论 -
递归 详解
A方法调用A方法,自己调用自己递归包含两部分递归头:什么时候不调用自身方法。如果没有头,将陷入死循环递归体:什么时候需要调用自身方法递归适合小基数,能不用就不用原创 2022-03-17 16:02:07 · 46 阅读 · 0 评论 -
Java方法详解
Java方法是语句的集合,它们在一起执行一个功能。※方法是解决一类问题的步骤的有序组合※方法包含于类或者对象中※方法在程序中被创建,在其他地方被引用设计方法的原则*:方法的本意是功能块,就是实现某个功能 的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只完成一个功能,这样利于我们后期的扩展。*方法的命名规则方法包含一个方法头和一个方法体修饰符:修饰符,这是可选的,告诉编译器如何调用该方法。定义了该方法的的访问类型。返回值类型:方法可能会返回值。returnValueT原创 2022-03-16 21:26:56 · 559 阅读 · 0 评论 -
while与do while
while先判断后执行。do while先执行后判断!Do while总是保证循环体至少执行一次package struct;public class DoWhileDemo03 { public static void main(String[] args) { int i=0; while(i<0){ System.out.println(i); } System.out.println.原创 2022-03-14 15:50:39 · 57 阅读 · 0 评论 -
java流程控制
Scanner对象获取用户输入Scanner s = new Scanner(System.in);通过scanner类的next()与nexLine()方法获得的字符串,在读取前一般我们要使用hasNext()与hasNextLine()判断是否还有输入的数据next()1一定是读取到有效字符才可以结束2对输入的有效字符之前遇到的空白,会将其去掉3只有输入有效字符后才将其后面的空白作为分隔符或者结束符4不能得到带有空格的字符串nextLine()1以enter作为结束符原创 2022-03-13 22:19:12 · 311 阅读 · 0 评论 -
Java包的使用
一般利用公司域名倒置作为包名com.baidu.xxx使用import语句导入包import package1[.package2...].(classname|*);//导入这个包下所有类import com.baidu.base.*原创 2022-03-13 16:48:01 · 101 阅读 · 0 评论 -
自增自减位运算
public class demo1 { //常量 static final double PI = 3.14; //实例变量:从属于类,对象: //main 方法 public static void main(String[] args) { //局部变量:必须声明和初始化值 //++ -- int a=3; int b =a++;//执行完这行代码后,先给b赋值,再自增 .原创 2022-03-13 16:38:34 · 92 阅读 · 0 评论 -
类型转换问题
低-----------------------------------------------------高byte,short,char,int,long,float,double//强制转换 (类型)变量名 高------低//自动转换 低-------高注意点:1、不能对布尔值转换2、不能把高容量转换到低容量3、在把高容量转换到低容量的时候,强制转换4、转换时候可能存在...原创 2022-03-13 15:19:24 · 50 阅读 · 0 评论 -
数据类型总览
java的数据类型分为两大类基本类型(primitive type)数值类型:1、整数类型byte一个字节范围-128~127、short两个字节-32768~32767、int四个字节、long八个字节。2、浮点类型float四个字节double八个字节。3、字符类型char两个字节boolen类型:true或者false引用类型(reference type)类、接口、数组...原创 2022-03-13 14:49:49 · 47 阅读 · 0 评论 -
关键字部分
abstractassertbooleanbreakbytecasecatchcharclassconstcontinuedefultdodoubleelseenumextendsfinalfinallyfioatforgotoifimplementsimportinstanceofintinterfacelongnativenewpackageprivateprotectedpublicreturnstrictfpshortsta原创 2022-04-16 10:34:47 · 134 阅读 · 0 评论 -
面向对象编程
Java的核心思想就是OOP(面向对象)面向对象思想:物以类聚,分类的思维模式,思考问题首先会解决问题需要哪些分类,然后对这些分类进行单独思考。最后才对某个分类下的细节进行面向对象的思索。对于描述复杂的事物,为了从宏观把握,从整体合理分析,我们需要使用面向对象的思路来分析整个系统。但是,具体到微观操作,仍然需要面对向过程的思路去处理。面向对象的本质:以类的方式组织代码,以对象的组织(封装)程序三大特性:封装、继承、多态...原创 2022-04-16 10:32:46 · 137 阅读 · 0 评论 -
Java数组基本问题
首先必须声明数组变量,才能在程序中使用数组public class Demo01 { public static void main(String[] args) { //数组声明,两种都可以,推荐第一种 int[] nums; int nums2 []; }}Java中使用new操作符来创建数组(n你定义了什么类型数组就创建什么类型)public class Demo01 { public static void main原创 2022-04-16 10:32:00 · 409 阅读 · 0 评论