自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 问答 (1)
  • 收藏
  • 关注

原创 web实现轮播图

要简单实现轮播图,就需要用到js中的定时器。通过定时器来设定时间,从而达到轮换播放的效果。具体代码如下:var n=1;function lb(){ n++; if(n>3) { n=1; } var img = document.getElementById("lunbo"); img.src="img"+n+".png";}setInterval(lb,3000);其中n代表循环中的个数,通过利用n的变换来更改所获得的img中的src属性,从而达到轮播的效果。..

2022-05-18 20:59:41 2375

原创 关于DOM的理解

一.什么是DOM?文档对象模型(Document Object Model,简称 DOM),是 W3C 组织推荐的处理可扩展标记语言的标准编程接口。它是一种与平台和语言无关的应用程序接口(API),它可以动态地访问程序和脚本,更新其内容、结构和 www 文档的风格(目前,HTML 和 XML 文档是通过说明部分定义的)。文档可以进一步被处理,处理的结果可以加入到当前的页面。DOM 是一 种基于树的 API 文档,它要求在处理过程中整个文档都表示在存储器中。总结:W3C 已经定义了一系列的DOM接口,

2022-05-18 20:54:01 684

原创 java中super关键字的理解

一、super关键字super理解为:父类的super可以用来调用:属性、方法、构造器二、super调用属性和方法我们可以在子类的方法或构造器中。通过使用"super.属性"或"super.方法"的方式,显式的调用父类中声明的属性或方法。但是,通常情况下,我们习惯省略"super."。当子类和父类中定义了同名的属性时,我们要想在子类中调用父类中声明的属性,则必须显式的使用"super.属性"的方式,表明调用的是父类中声明的属性。当子类重写了父类中的方法以后,我们想在子类的方法中调用父类中被重写的

2022-05-18 20:44:48 419

原创 java继承的理解

一.什么是继承类似于晚辈继承父辈的财产一样,猫狗属于动物一类,可以描述为猫狗继承于动物。在Java中,类的继承是指在一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类,子类会自动拥有父类所有可继承的属性和方法。在程序中,如果想声明一个类继承另一个类,需要使用extends关键字。通过 extends 关键字让类与类之间产生继承关系。多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。多个类可以称为子类,单独这个

2022-05-18 20:43:09 297

原创 java接口的理解

一.什么是接口接口可以理解为一种特殊的类,里面全部是由全局常量和公共的抽象方法所组成。接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。或者我们可以直接把接口理解为100%的抽象类,既接口中的方法必须全部是抽象方法。二.接口的特点就像一个类一样,一个接口也能够拥有方法和属性,但是在接口中声明的方法默认是抽象的。(即只有方法标识符,而没有方法体)。1.用 interface 来定义。2.java中,接口和类是并列的两个结构。3. 抽象类和接口是两个并列的结构,抽象

2022-05-18 20:37:11 669 1

原创 关于java面向对象的理解

一.如何理解面向对象面向对象中的对象指的是由一组数据结构和处理它们的方法组成,“数据” 包括对象的静态信息,如特性、状态等;“方法” 也就是行为,包括对象的能动信息,如对象的操作、功能等。把具有相同行为的对象归纳为类,类是一个抽象的概念,对象是类的具体。简单来说:对象就是类的实例。二.面向对象的优点可扩展性:指新的功能可以很容易地加入到系统中来,便于软件的修改。可维护性:能够将功能与数据结合,方便管理。可重用性:代码重复使用,减少代码量,提高开发效率。下面介绍的面向对象的三大核心特性(继承、封装和

2022-05-18 20:34:03 950

原创 线程池的理解

一.什么是线程池线程池其实就是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后在创建线程后自动启动这些任务。这里的线程就是我们前面学过的线程,这里的任务就是我们前面学过的实现了Runnable或Callable接口的实例对象。二.线程池的工作原理三.使用线程池的好处1:线程和任务分离,提升线程重用性;2:控制线程并发数量,降低服务器压力,统一管理所有线程;3:提升系统响应速度,假如创建线程用的时间为T1,执行任务用的时间为T2,销毁线程用的时间为T3,那么使用线程池就免去了T1和T3

2022-05-18 20:30:04 258

原创 hashmap与hashtable

相同点:hashmap和Hashtable都实现了map、Cloneable(可克隆)、Serializable(可序列化)这三个接口不同点:1.底层数据结构不同:jdk1.7底层都是数组+链表,但jdk1.8 HashMap加入了红黑树2.Hashtable 是不允许键或值为 null 的,HashMap 的键值则都可以为 null。3.添加key-value的hash值算法不同:HashMap添加元素时,是使用自定义的哈希算法,而HashTable是直接采用key的hashCode()实现方

2022-05-18 20:23:01 144

原创 web页面如何实现定时跳转页面

在web页面中实现定时跳转需要使用js中的定时器setInterval();具体代码如下:var timer=3;var on=document.getElementById('on');on.addEventListener('click',function (){ alert('即将在3秒后跳转至首页...'); setInterval(function (){ if (timer==0) { location.href = 'major

2022-05-16 21:00:56 1349

原创 关于dopost()与doget()

get和post是http协议的两种方法,在service()方法中判断是哪种类型,然后通过doGet()和doPost()满足http请求。两者方法有着相应的区别,具体如下:关于doget()方法doGet()用于获取服务器信息,并将其作为响应返回给客户端;doGet()在将服务器信息响应给客户端时,浏览器url后面会出现数据参数及其参数值。若在用户密码登录时是非常不安全的doGet()服务器随机接受GET方法的数据当form框里面的method为get时,执行doGet()方法关于dopos

2022-05-16 10:58:42 575

原创 关于request.RequestDispatcher()方法

RequestDispatcher对象从客户端获取请求request,并把它们传递给服务器上的servlet,html或jsp。它有两个方法:1.void forward(ServletRequest request,ServletResponse response)–请求转发用来传递request的,可以一个Servlet接收request请求,另一个Servlet用这个request请 求来产生response。request传递的请求,response是客户端返回的信息。forward要在resp

2022-05-16 10:47:29 368

原创 使用servlet输出页面

servlet作为服务端既可以处理用户从页面发过来的请求,并反馈到其他页面,也可以直接在通过servlet进行页面的输出,具体如下:1.使用response的setContentType() 方法设置发送到客户端的响应的内容类型参数类型有以下几种:text/html , text/plain , application/msword等例如:setContentType(“text/html;charset=UTF-8”); 响应类型为HTML格式的setContentType(“te

2022-05-16 10:38:36 3774

原创 对servlet容器指定URL

关于servlet容器指定URL

2022-04-21 08:59:30 170

原创 指针二叙

这次主要是想讨论关于指针的指针数组以及函数指针。对于指针数组*p[n]最主要的是不要将他与二维指针(*p)[n]的行指针弄混淆。指针数组:指针数组是个一维数组,里面存放的是指针,更多的是侯用于指向字符串,但依旧为一维数组,用法还是与一位数组相同,只是当指向字符串时,更像是二维数组的用法,注:由于是字符串的输出,所以只需要该字符串的首地址即可,一维二维输出输入都是一样的。注:当在定义指针数组的时候如果没有进行指向(第一张图就是定义时便有了指向),那么在后续一定要先用循环对其进行指向后再使用。当然

2021-03-22 15:28:19 86

原创 关于结构体

结构体更多还是类似于数组,只是比数组多了些样式。不论是对结构体数组得排序还是其指针等等,用法都与普通数组相差不大。只是要注意交换得时候,两者得类型应当是相同的。所谓结构体对结构体。这次主要是想说说关于结构体的读入的时候,一些对于字符和数字的问题,主要是回车。一.当题目输入的时候,在输入完第一个后,如果后面接着输入的为字符类型的话,就有两种选择:1.如果能选择以空格结束,就以空格结束上一次的输入,这样字符就不会读成回车了。2.如果要以回车结束输出,拿就要再输入完第一个后,加上一个getchar(),

2021-03-21 20:49:00 79

原创 行指针与列指针的具体探究

行指针与列指针的具体探究行指针指的是某一行,而列指针指的是具体的一行中的数。#include <stdio.h>//关于行指针与列指针的转换void main(){ int a[2]={1,2}; int c[2][2]={1,2,3,4}; int *p1,*p2,*p3; char b[5]; //scanf("%s",b); printf("%p %p %p %p\n",c,*c,c[1],&c[0]); printf("%p %p %p %p\n"

2021-03-08 12:30:13 514

原创 #关于输出一定个数时就换行的写法

加个今天做题时的小结,就是输出几个数后就换行那种,之前一直糊里糊涂的不对就在那加一减一的瞎碰运气,不过今天简单总结哈两种方式。第一种:j=0;printf("%d",n);j++;if(j%6==0)printf("\n");这是每输出六个数就进行一次换行处理,但是这里j++放在前面(后面会说放在后面的情形),所以j=0。因为每输出一个就有以下对应:1-1,2-2,…6-6,所以此时取j==0;第二种:j=1;printf("%d",n);if(j%6==0)printf("\n

2020-11-27 22:10:26 4871 4

原创 #关于统计数字

说起来最近做题又遇到一道有意思的题,就是统计出现整数最多,开始我想用数组做,就和统计各位数字出现最多那种,比如#include <stdio.h>void main(){ int a[10]={0}; int i,m,n,max=0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&m); if(m==0) a[0]++; while(m) { a[m%10]++; m/=10;

2020-11-27 21:48:41 248 1

原创 #数值类型不可忽视

这几天突然很在意关于数值类型这个问题,因为自己在编程中连续几次因为忽视数值类型而出错,所以我觉得这个东西还是很有必要讲一讲的。因为自己还是初学者,所以仅仅说说目前自己所了解的几个常见的数值类型转换的问题,不足的地方也希望大佬帮我补充。#include <stdio.h>void main(){ int a=1,b=2; float c; c=a/b; printf("%.2f",c);}显然虽然有令float c,但是最终答案并不是0.50,而是0.00。这是因为在编译时

2020-11-26 00:04:50 95

原创 #字符理解

对于字符,个人认为很有必要的是了解AS数值与字符之间可以相互转换,就好比如下面这道字符串替换,它是将A-Z替换为相应的Z-A,在我们不知道大写字母相应的AS值时,可以用将字符赋给int类型,从而得到其相应的AS值,下题的k即为此。同理a[i]=k-a[i];则是通过进行转换计算最终赋给字符a[i]。#include <stdio.h>//将大写字母进行相应的Z-A的替换void main(){ char a[81]; int i,k; k='A'+'Z';//替换

2020-11-25 23:39:06 236

原创 2020-11-21

#include <stdio.h>//P不完全单词统计(非单个字母(排除a),不能排除乱写的单词与缩写的单词),不能区分’s的所属格形式void main(){char a[1000];int n=0,i,j,b,c;gets(a);//输入字符串for(i=0;a[i]!=’\0’;i++)//保证输入的字符中有单词和a(包括冠词和字母a)if((((a[i]>=‘a’&&a[i]<=‘z’)||(a[i]>=‘A’&&a[i]

2020-11-21 13:09:20 55

空空如也

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

TA关注的人

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