自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java开发常用类总结_04

1:Math(掌握)(1)针对数学运算进行操作的类(2)常见方法(自己补齐) A:绝对值 B:向上取整 C:向下取整 D:两个数据中的大值 E:a的b次幂 F:随机数 G:四舍五入 H:正平方根(3)案例: A:猜数字小游戏 B:获取任意范围的随机数2:Random(理解)(1)用于产生随机数的类(2)构造方法: A:Random() 默认种子,每次产生的随机数不同 B:Random(long seed) 指定种子,每次种子相同,随机数就相同(3)成员方法: A:i

2021-08-03 08:19:45 101

原创 Java开发常用类总结_03

1:StringBuffer(掌握)(1)用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了 一个字符串缓冲区类。StringBuffer供我们使用。(2)StringBuffer的构造方法 A:StringBuffer() B:StringBuffer(int size) C:StringBuffer(String str)(3)StringBuffer的常见功能(自己补齐方法的声明和方法的解释) A:添加功能 B:删除功能 C:

2021-08-02 11:28:18 92

原创 Java开发常用类总结_02

1:Scanner的使用(了解)(1)在JDK5以后出现的用于键盘录入数据的类。(2)构造方法: A:讲解了System.in这个东西。 它其实是标准的输入流,对应于键盘录入 B:构造方法 InputStream is = System.in; Scanner(InputStream is) C:常用的格式 Scanner sc = new Scanner(System.in);(3)基本方法格式: A:hasNextXxx() 判断是否是某种类型的 B:nextXxx

2021-08-02 11:26:18 106

原创 Java开发常用类总结_01

1:常用快捷键A:格式化 ctrl+shift+fB:导入包 ctrl+shift+o 如果该类仅仅在一个包中有,就自己显示了 如果该类在多个包中有,会弹出一个框框供你选择C:注释 单行:注释 ctrl+/,取消注释再来一次。 多行:ctrl+shift+/,ctrl+shift+\D:代码上下移动 选中代码alt+上/下箭头E:查看源码 选中类名(F3或者Ctrl+鼠标点击)2:如何提高开发效率A:自动生成构造方法 a:无参构造方法 在代码区域右键--source-

2021-08-02 11:24:18 73

原创 Redis在Java 中的简单使用

Redis在Java 中的简单使用开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。连接到 redis 服务public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("127.0.0.1", 6379); // 如果 Redis 服务设置了密码,需要下面这行,没有就不需要 // je

2021-07-19 19:05:08 85

原创 Redis入门

什么redis (了解)redis高性能和使用场景(了解)redis下载安装使用(了解)redis数据结构(掌握)redis存储的是:key–value格式的数据,其中key都是字符串value的数据结构5(种):1.字符串类型string(可以为整形、浮点型和字符串,统称为元素)string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 51

2021-07-18 14:45:31 65

原创 动态SQL标签

动态SQL标签:<if>元素<choose>、<when>、<otherwise>元素<trim>、<where>、<set>元素<foreach>元素<bind>元素作用:动态SQL通常要做的事情是有条件地包含where子句的一部分。MyBatis中,<if>元素是最常用的元素。它类似于Java中的if语句。在应用中,测试<if>元素,具体过程如下:1.添加

2021-07-13 18:37:59 555

原创 JSP常用标签库

JSP常用标签库1、<c:set>标签用于设置变量值和对象属性。内部属性:value 要存储的值(使用""代表字符串,使用${s}代表引用赋值(将s变量赋值给),可以计算表达式的值)target 要修改的属性所属的对象property 要修改的属性var 存储信息的变量(定义)scope var属性的作用域2、<c:out>标签用来显示一个表达式的结果,<c:out>标签可以直接通过".“操作符来访问属性。内部属性:value 要输出的内容(使用”

2021-07-12 08:35:09 1764

原创 Random类的使用

Random类的使用介绍:无参构造Random()该构造方法使用一个和当前系统时间对应的相对时间有关的数字作为种子数,然后使用这个种子数构造Random对象。有参构造Random(long seed)该构造方法可以通过制定一个种子数进行创建。示例代码:Random r1= new Random();Random r2= new Random(10);种子数只是随机算法的起源数字,和生成的随机数字的区间无关。相同种子数的Random对象,相同次数生成的随机数字是完全相同的。基本用法:b

2021-07-12 08:04:14 99

原创 EL表达式

EL表达式可以在页面直接输出数据EL表达式主要用于获取Servlet之间共享的数据,用于在JSP页面显示(HTML网页不支持EL表达式)EL表达式语法:${ 表达式 }访问域对象中的对象:如session中的共享的用户对象user(实体类User,属性name)${user.name} 或 ${user['name']} 单引号或双引号访问数组或集合,要使用索引${array[0]}${list[0]}${map['keyName']} 通过key获取value(因为是键值对的结构)

2021-07-08 08:43:40 50

原创 会话管理和使用

一、HTTP协议为什么要使用会话?因为HTTP协议是无状态的协议,客户端浏览器发送给服务器的请求,服务器不知道都是谁发送过来的HTTP是基于请求和响应的模式,不记录状态信息二、会话HttpSession接口提供的功能在需要会话管理的时候:创建会话对象HttpServletRequest接口的getSession方法HttpSession getSession();表示如果没有绑定的会话则创建一个会话HttpSession getSession(boolean f);false表示如果有存在

2021-07-08 08:42:04 92

原创 JSP隐式对象

JSP隐式对象为了在JSP页面直接使用,Web容器创建的一组对象隐式对象的使用,无需使用new获取实例隐式对象一共有九个:out对于向客户端输出数据输出数据的方法: append() print() write()request主要用于处理客户端请求request对象可以对请求进行转发实现页面的跳转response用于响应客户请求并向客户端输出信息以及控制Servlet的请求转发和响应重定向response对象可以对请求进行重定向实现页面的跳转 session

2021-07-08 08:39:01 68

原创 jsp_servlet

servlet与servlet容器1.Java Servlet (Java服务器小程序)是一个基于Java技术的Web组件,运行在服务器端,它由Servlet容器所管理,用于生成动态的内容。2.Servlet容器也叫做Servlet引擎,是Web服务器或应用程序服务器的一部分,Servlet没有main方法,不能独立运行,它必须被部署到Servlet容器中,由容器来实例化和调用Servlet的方法(如doGet()和doPost()) , Servlet容器在Servlet的生命周期内包容和管理Serv

2021-06-16 08:10:06 81

原创 多线程!!

多线程进程:每个进程都有独立的代码和数据空间,进程是资源分配的最小单位,每个独立的程序占有一个进程线程:表示程序的执行流程,是CPU调度执行的基本单位,同一类线程共享代码和数据空间进程是线程的容器,即一个进程包含1+n个线程进程内含有多个线程在计算机中所有程序都通过CPU来执行,也就是在某个时间点上,CPU上只能运行一个程序,只是CPU运行速度非常快,在不同的程序(进程)间切换所花费的时间特别短,用户才感觉好像多个进程同时在运行多线程:每一个线程完成一个功能,并与其他线程在同一个进程中并发执行并

2021-06-15 08:33:53 92

原创 Java IO流

Io流输入:读取-----文件到电脑内存查看输出:写入-----内存到文件对文件进行编辑.Java中的IO主要包括三个部分:1.流式部分----IO的主体部分2.非流式部分----辅助流式部分.如File类3.文件读取部分和安全相关的类主要讲解File类与如何操作IO流Java IO流可以概括为:两个对应,一个桥梁、两个对应:字节流、字符流的对应,输入和输出流的对应一个桥梁:字节流到字符流的桥梁。表示流的四个抽象类:InputStream、OutputStream、Reader、Wr

2021-06-10 16:30:48 171

原创 集合框架、泛型

集合框架、泛型集合(Collection):集合就是由若干个确定元素所构成的整体集合是存储对象的容器、可以存储任意数量、任意类型的对象。分为有限集合(一个班级人的集合)、无限集合(自然数集合、有理数集合)。引入集合的目的:1.方便统一处理一组类似或者相同类型的数据 例如:计算所有同学的平均成绩2.在java中、如果一个java对象可以在内部持有若干其他Java对象、并向外提供访问接口、我们把这种Java对象成为集合。3.数组也可以看做一种集合(数组初始化后大小不可更改、数组只能按照索引顺序存取)

2021-06-10 09:45:58 50

原创 包、抽象类、接口

包、抽象类、接口什么是包(package)?包内含有一组类、他们在单一的名称空间之下被组织在一起、这个名称空间就是包名(相似类的集合)。在资源管理器以文件夹的形式存在包的作用?1.把功能相似的相关类或接口组织在同一个包中,方便查找和使用2.如同文件夹一样、包也采用了树形目录的存储方式、同一个包中的类名称是不同的、不同包中类的名称可以相同、当同时调用不同包中相同的类名的类时、应该加上包名给予区别(避免冲突)。3.包也限定访问权限、拥有包的访问权限的类才能访问某个包中的类包的声明:4.语法结构:

2021-06-10 09:38:03 116

原创 Java的封装、继承、多态

Java的封装、继承、多态*封装:*隐藏对象的属性和实现细节,仅对外提供公共访问方式,将变化隔离,便于使用,提高复用性和安全性。*继承:*创建分等级的类、使得子类对象具有父类的属性和方法、或子类从父类继承方法、使得子类具有父类相同的行为。子类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。通过使用继承可以提高代码复用性。继承是多态的前提。*多态:*继承的表现就是多态:一个父类可以有多个子类、而子类里又可以重写父类的方法、每个子类重写代码又不同、自然有多种形式。如果用父类

2021-06-07 21:44:09 81

原创 2021-04-01

javaweb连接数据库实现数据的增删改查1、连接数据库public class ConnDemo { //数据库链路层 //此处应该有连接数据库和关闭数据库的方法---需要方法对连接数据库的代码进行封装,需要建立连接直接调用方法 public static Connection con; public static Connection getCon() { // 1:加载驱动-通过反射加载驱动---注意一定要将驱动包加入项目中否则类找不到 try { Class.forNa

2021-04-01 18:53:33 85

原创 2021-04-01

一、MVC设计模式1.MVC的概念首先我们需要知道MVC模式并不是javaweb项目中独有的,MVC是一种软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller),即为MVC。它是一种软件设计的典范,最早为Trygve Reenskaug提出,为施乐帕罗奥多研究中心(Xerox PARC)的Smalltalk语言发明的一种软件设计模式。2.MVC的详解虽然MVC并不是Java当中独有的,但是现在几乎所有的B/S的架构都采用了MVC

2021-04-01 18:44:51 82

原创 2021-03-30

1、url重写1.Cookie是存放在客户端的机器上面,如果客户端的浏览器出于安全方法的考虑,在浏览器的隐私设置中阻止了所有的Cookie服务器就没有办法把一些信息写入到客户端,使用Cookie就没有用了2.Cookie禁用之解决方法-URL重写Java Servlet API中为我们提供了会话跟踪的另一种机制,通常的做法是重写客户请求的URL,把Session ID添加到URL信息中URL重写其实就是在URL后面加上一个jsessionid参数,jsessionid的参数值是唯一的,所以可以跟踪

2021-03-30 20:06:27 32

原创 2021-03-29

书写会话跟踪技术,今日所讲所用的技术的博客更新。会话跟踪HttpSession对象1.服务器为每个会话创建一个HttpSession对象2.每个会话对象都有一个唯一的ID3.把用户的数据保存在相应的HttpSession对象内什么是会话?当前浏览器与服务器间多次的请求、响应关系,被称作一个会话会话跟踪技术1.使用Servlet API中的Session机制2.使用Cookie3.分别是将会话ID存放在URL路径中、执行URL重写4.隐藏表单域Cookie的概念在JavaWeb中,

2021-03-29 20:23:01 39

原创 2021.3.27

重定向和转发的区别1、重定向重定向是Servlet发送给浏览器的一个特殊的响应,这个响应告诉浏览器再去请求另一个地址2、转发是指当前Servlet将请求转交给其他的Servlet进行再次处理,转发特点:转发时浏览器只发送1次请求转发是在服务器端进行的转发时浏览器的地址栏没有发生改变浏览器感知不到转发的发生作用域范围的理解1.page:作用范围是整个JSP页面2.request:作用范围是在当前请求中有效3.session:作用范围是一次会话4.application:作用范围是整个W

2021-03-29 20:15:59 39

原创 2021-03-26

JSP内置对象就是不用我们创建,JSP它本身里面就有这些对象。认识九个内置对象作用域范围对象JavaWeb的四大作用域为:PageContext,ServletRequest,HttpSession,ServletContext;1.pageContext作用范围:仅限于当前jsp页面2.request作用范围:仅限于同一个请求,主要用于请求转发3.session作用范围:限于一次会话,在servlet中可以通过request对象获取4.application作用范围:在当前整个W

2021-03-26 10:00:05 30

原创 2021-03-23

Servlet生命周期生命周期: 从出生——>死亡,中间过程; 大致可分为三个阶段:初始化阶段运行时阶段销毁阶段。在 javax.servlet.Servlet 接口中定义了3个方法:init()、service()、destroy(),它们分别在Servlet的不同阶段被Servlet 容器调用。5...

2021-03-23 20:02:57 30

原创 JavaWeb01

JavaWeb开发模式B/S开发模式B/S:浏览器Browser/服务端Server:是C/S架构的一种改进,可以说属于三层C/S架构;客户端:浏览器成为了客户端;sC/S开发模式C/S架构:客户端Client/服务端Server:出现较早,主要应用于局域网内;客户端:需要特定软件支持(安装客户端)web应用程序是什么Web应用程序是一种可以通过Web访问的应用程序。Web应用程序的一个最大好处是用户很容易63访问应用程序。用户只需要有浏览器即可,不需要再安装其他软件。如何开发web项

2021-03-22 18:10:41 37

原创 Chen16

已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况。尤其是逢百年不闰,逢400年闰的情况。class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner input = new Scanner(System.in); int y = input.nextInt(); int m = input.nextInt(); i

2020-07-20 10:10:15 65

原创 Chen15

一共有5个红领巾,编号分别为A、B、C、D、E,老奶奶被他们其中一个扶过了马路。五个红领巾各自说话:A :我和E都没有扶老奶奶B :老奶奶是被C和E其中一个扶过大街的C :老奶奶是被我和D其中一个扶过大街的D :B和C都没有扶老奶奶过街E :我没有扶老奶奶已知五个红领巾中有且只有2个人说的是真话,请问是谁扶这老奶奶过了街?public class Main {class Point{ int x; int y; Point(int x,int y){ this.x = x

2020-07-20 10:07:50 84

原创 Chen14

有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1。要求三个实根。核心条件:Math.abs(axxx+bxx+cx+d) < .01import java.util.Scanner;public class Main { public static void main(String args[]) { Scanner sc = n

2020-07-15 09:53:43 68

原创 Chen13

给定一个二元一次方程组,形如:a * x + b * y = c;d * x + e * y = f;x,y代表未知数,a, b, c, d, e, f为参数。求解x,y关键转换:a * x + b * y = c;d * x + e * y = f;x=(ec-bf)/(-db+ae)y=(dc-af)/(db-ae);import java.util.Scanner;public class Main { public static void main(String[] args

2020-07-15 09:48:13 97

原创 Chen12

阿尔法乘积:对于一个整数x来说,它的阿尔法乘积是这样来计算的:如果x是一个个位数,那么它的阿尔法乘积就是它本身;否则的话,x的阿尔法乘积就等于它的各位非0的数字相乘所得到的那个整数的阿尔法乘积。例如:4018224312的阿尔法乘积等于8,它是按照以下的步骤来计算的:  4018224312 → 418224312 → 3072 → 372 → 42 → 4*2 → 8  编写一个程序,输入一个正整数(该整数不会超过6,000,000),输出它的阿尔法乘积。import java.util.Scan

2020-07-11 10:24:36 112

原创 Chen11

斜率问题:输入两个点的坐标,即p1 = (x1, y1)和p2=(x2, y2),求过这两个点的直线的斜率。如果斜率为无穷大输出“INF”import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int x1 = sc.nextInt(), y1 = sc.nextInt();int x2 = sc.nextInt

2020-07-11 10:12:46 58

原创 Chen10

杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。  它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。行用[ i ]代表列用[ j ]代表主要条件(j == 0 || i == j) a[i][j] = 1;a[i][j] = a[i - 1][j - 1] + a[i - 1][j];import java.util.Scanner;public class Main { public static void main(String[] args

2020-07-11 10:04:20 87

原创 Chen09

问题描述::Fibonacci数列 递推公式为(Fn=Fn-1+Fn-2,其中F1=F2=1)问题是算出Fn除以10007的余数是多少,两种解法:1.先计算出Fn的准确值,再将计算的结果除以10007取余数。2.只要能算出这个余数即可,直接计算余数往往比先算出原数再取余简单。1:import java.util.Scanner;public class Main { public static void main(String[] args){ Scanner sc=new Scanne

2020-07-10 12:50:41 91

原创 Chen08

[Calendar]实例化CalendarCalendar c = Calendar.getInstance();月份是从0开始计数的(0-11)c.set();//日历设置到某一天c.get();//日历翻到的那一天BigInteger 表示整数、 BigDecimal表示浮点数对于输出浮点数保留几位小数的问题,可以使用DecimalFormat类,DecimalFormat f = new DecimalFormat("#.00#");DecimalFormat g = new De

2020-07-01 19:19:45 96

原创 Chen07

大数取余定理:public static int MOD(string a,int mod){ int len=a.length(); int t=0; for( int i = 0; i < len; i++ ) { t*=10; t+=a[i]-'0'; if( t >= mod ) t=t%mod; } return t;}冒泡排序:public static

2020-07-01 19:07:35 68

原创 Chen06

数学:BigInteger大数操作:基本数据类型转大数:Bigdecimal c = Bigdecimal.value(X);输入:a = sc.nextBigInteger();加法:c = a.add(b);减法:c = a.subtract(b);乘法:c = a.multiply(b);除法:c = a.divide(b);取余:c = a.remainder(b);两数字交换: int temp=a1; a1=a2; a2=temp;日期类: Calendar c = Cal

2020-06-21 08:59:33 113

原创 Chen05

二叉树的总结:(1) 在二叉树中,第i层的结点总数至少有2^(i-1)个(2) 深度为h的二叉树最多有2^h-1个结点(h>=1),最少有h个结点;(3) 对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;(4) 具有n个结点的完全二叉树的深度为(log2n)+1;(5)如果对一棵有n个结点的完全二叉树的结点按层序编号,则对任一结点i(1in),有:如果i=1,则结点i是二叉树的根,无双亲;如果i>1,则其双亲是i/2如果2i>n

2020-06-21 08:41:40 1563

原创 Chen04

递归以编程的角度来看,程序调用自身的编程技巧称为递归( recursion)例1 阶乘函数 (简单的递归)阶乘函数可递归地定义为:阶乘函数public static Recursion{public static void main(String[]args){ f(10);} public static int f(int n){ if(n==1) return 1; return n*f(n-1);}}经典问题:汉诺塔在这里插入代码片...

2020-06-14 16:01:30 81

原创 Chen03

穷举法又称枚举法,暴力破解法。就是把所有条件,相关情况统统考虑进去,让计算机进行检索,直到得出与之所有条件符合的结果但是,穷举法对计算机资源耗费严重,如果条件太复杂,运算速度缓慢,为了解决这一问题,我们可以事先把与之不相关的条件进行限制,减少计算机的运算量鸡兔同笼问题:在一个笼子里关着若干只鸡和若干兔子。一共有50个头和120只脚。问在一个笼子里鸡和兔子各有多少个。题目解析鸡的头和兔子的头数相加为50个,情况数量并不是很多,这个问题就可以使用暴力破解的方法来解决。如果全是鸡,最多50只(50/

2020-06-14 15:23:08 150

空空如也

空空如也

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

TA关注的人

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