- 博客(54)
- 收藏
- 关注
原创 08-OOALV
面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。基本概念:1.对象(Object)是一个现实实体的抽象。一个对象可被认为是一个把数据(属性)和程序(方法)封装在一起的实体,这个程序产生该对象的动作或对它接受到的外界信号的反应。这些对象操作有时称为方法。对象是个动态的概念,其中的属性反映了对象当前的状态。2.类(Class)用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。每个对象是类的实例。
2021-08-12 16:01:58
373
原创 07-模块化编程
模块化编程:把程序中部分源代码储存到一个模块里封装成一个特定的功能,可以认为是程序的一部分公用的,多个程序都可以调用模块化编程包括:函数,子例程,宏,类参数:用于在程序和模块之间交换数据定义模块化单元的时候就确定了可以使用哪些参数参数分类:输入参数——是用来传递数据给模块化单元导出参数——把模块化单元中的数据返回给调用程序变更参数——是把数据传递给模块化单元并返回更改后的数据1.函数FunctionFunction模块是具有全局可见性的特殊程序。Function模块只能在Fun
2021-08-12 14:09:23
324
原创 06-ALV
开发ALV的基本流程开发ALV的基本流程第1步:声明变量定义ALV所要用到的类型池:TYPE-POOLS: SLIS针对ALV的控制信息数据(Layout & Fieldcat)第2步:定义内表存放自定义数据文件的数据,以及在ALV中显示第3步:读取数据读取数据存放至Internal Table第4步:ALV格式控制建立ALV显示样式(layout)和显示字段清单(Field Catalogs)第5步:定义事件建立事件清单(Event Catalogs)第6步:显示ALV
2021-08-11 11:25:37
281
原创 05-OPEN SQL
SQL( Structured Query Language )结构化查询语言用于定义、创建、读取数据库表数据Native SQL(本地SQL)每种关系型数据库都有其对应的SQL,是数据库相关的不同的SAP系统可能使用各种不 同的数据库,使用本地SQL的 ABAP 程序无法适应所有的 SAP 系统可直接对数据库表进行修改删除等,有一定安全风险能实现一些OpenSQL无法实现的功能Open SQL(开放SQL)SAP 为ABAP定义的数据库无关的 SQL标准在ABAP程序运行时由系统动态的
2021-08-10 14:29:14
554
原创 05—内表
内表是内存中建立的一个临时表,你可以在程序运行时对表的数据进行增删改查,程序跑完了,内表就会被释放。内表有三种类型:1.STANDARD 标准表2.SORTED 排序表3.HASHED 哈希表标准表在增加或者插入数据时并不对数据的地址进行重新排序存储排序表在增加和插入数据时要对数据存储的地址进行重新排列哈希表只能通过关键字访问,在检索数据里与数据数无关WITH [UNIQUE]|[NON-UNIQUE] KEY COMP1…COMPnWITH [UNIQUE]|[NON-UNIQUE] K
2021-08-10 09:08:24
301
原创 04—语法
数据类型:数据对象的技术特性的定义本身不占用内存空间可以是系统预定义或者用户自定义数据对象:内存变量指定为某一特定数据类型预定义数据类型:C,D,F,I,N,P,T1.定义数据类型—TYPES在程序中用TYPES声明局部数据类型语法格式与变量类似TYPES定义的类型在程序中用于声明常量或者变量TYPES定义的是类型,不是变量,所以不能直接赋值ABAP数据类型可以是预定义数据类型,可以是数据字典里的全局数据类型,或者用户在程序中自定义的数据类型例子:TYPES:BEGIN O
2021-08-09 14:08:34
91
原创 03—数值处理
①类型转换在不同类型的数据对象之间赋值,会自动进行类型转换转换过程按照固定的规则,如C类型数据赋值给N类型,只有数字字符被传递,其他忽略C不能直接赋值给I,需要C>N>I可以使用MOVE TO语句或者WRITE TO语句②算数运算符“*” 乘“/” 除“+” 加“-” 减“DIV” 整数除法“MOD” 余数除法运算符和变量之间一定要有空格③比较运算符EQ 等与NE 不等于LT 小于LE 小于等于GT 大于GE 大于等于④逻辑运算符AND 且OR 或N
2021-08-09 14:01:14
95
原创 02—TYPE,LIKE
透明表(还有其它数据词典中的类型,如结构)即可看作是一种类型,也可看作是对象,所以即可使用TYPE,也可以使用LIKETYPES type6 TYPE mara-matnr.TYPES type7 LIKE mara-matnr.DATA obj6 TYPE mara-matnr.DATA obj7 LIKE mara-matnr."SFLIGHT为表类型DATA plane LIKE sflight-planetype.DATA plane2 TYPE sflight-planetype.
2021-08-09 10:30:17
122
原创 01—数据类型
P:默认为8字节,最大允许16字节。最大整数位:16*2 = 32 - 1 = 31 -14(允许最大小数位数) = 17位整数位。P是一种压缩的定点数,其数据对象占据内存字节数和数值范围取定义时指定的整个数据大小和小数点后位数,如果不指定小数位,则将视为I类型。其有效数字位大小可以是从1~31位数字(小数点与正负号占用一个位置,半个字节),小数点后最多允许14个数字。P类型的数据,可用于精确运算(这里的精确指的是存储中所存储的数据与定义时字面上所看到的大小相同,而不存在精度丢失问题——看到的就是内存.
2021-08-09 10:16:46
234
原创 Spring注解
1.声明bean的注解@Component 组件,没有明确的角色@Service 在业务逻辑层使用(service层)@Repository 在数据访问层使用(dao层)@Controller 在展现层使用,控制器的声明(C)2.注入bean的注解@Autowired:由Spring提供@Inject:由JSR-330提供@Resource:由JSR-250提供都可以注解在set方法和属性上,推荐注解在属性上(一目了然,少写代码)。3.java配置类相关注解@Configuration
2020-08-19 20:04:11
87
原创 Spring依赖注入(xml)
spring中的依赖注入依赖注入: Dependency InjectionIOC的作用: 降低程序间的耦合(依赖关系)依赖关系的管理: 以后都交给spring来维护,在当前类需要用到其他类的对象,由spring为我们提供。对象之间的关系通过容器彼此关联,不用在对象内部耦合其他对象依赖关系的维护: 就称之为依赖注入。可以注入的类型基本类型和String其他bean类型(在配置文件中或者注解配置过的bean)复杂类型/集合类型注入的方式:有三种第一种:使用构造函数提供第二种:使用set方
2020-08-19 18:50:36
125
原创 排序算法——快速排序
快速排序是个人认为到现在为止有点思考的算法。实现方法很多,但是从本质上来说是一样的(这里的排序都是按由小到大排序)。确定一个基数,比基数小的放基数的左边,比基数大的放基数的右边,然后对左右在进行递归。下面说下思路:我就不画图了,以后能看懂就看懂。看不懂自己百度去比如给定一个数组[101,34,119,1,2,1000,-1]假设数组最左边的为base(101)然后指定两个指针,分别指向left(101),right(-1)左边的指针向右移动右边的指针向左移动也就是两个指针往中间靠拢右边指
2020-07-22 19:15:48
98
原创 排序算法——插入排序
,这步相当于逐渐扩展需要排序的个数,一开始数组中的个数只有一个,就是101,然后判断这个数字和前面的数字比较,看前面的数字是否比后面的数字大即arr[i]<arr[i-1]是否成立,如果成立的话,就将后面的数字即arr[i]存到临时变量中,然后遍历这个数组(小的那个数组,不是全部数组),将数组中的每个数据和temp比,如果比它大的话,就将这个数据往前挪一位,直到有一个数字比它小了,就放在那个位置,相当于为这个数字找一个合适的位置。语言表达能力有限,代码敲出来debug一下就能很明白了。...
2020-07-22 12:42:47
115
原创 排序算法——选择排序
插入排序的大致思路假设我们是按从小到大的顺序排列的我们先从数据中找出最小值,将这个最小值放在第一个,然后从剩下的数据中找出最小值,将最小值放在第二个,以此类推,完成排序第一次排序:假设最小值就是arr[0],然后遍历数组,如果发现比arr[0]还小,就记录这个下标help,然后将falg置为true,表示最后要交换数据,遍历到最后找到了这个最小值,提出下标,将最小值和arr[0]交换,完成第一次排序第二次排序:这次从第二个数字开始,也就是从arr[1]开始,假设arr[1]为最小值,然后按照上.
2020-07-21 23:25:42
140
原创 排序算法——冒泡排序
非常简单的排序,简单说下思路比如有一个数组[3,9,-1,10,-2]准备两个指针第一个指向第一个数字,第二个指向相邻的数字,然后比较,如果是逆序的话就交换。然后两个指针都前进一位,直到最后一个数字,第一轮排序就排完了上面的图是错误的,第一次指到最后一个,最后一位数字应该是最大的,10 。然后进行第二轮排序,因为第一轮已经确认的最大的数字,所以第二轮只需要指到倒数第二个就好了,依次类推,所以上面这个数组一个要进行4次排序第一次排序,指针移4次第二次排序,指针移3次第三次排序,指针移2次
2020-07-21 22:39:13
108
原创 迷宫回溯算法(递归)
使用递归算法实现自动出迷宫首先,创建一个迷宫,1代表墙,0代表可以走的位置(i,j)代表迷宫的起点。(6,5)代表迷宫的终点,如果到达了就返回。否则的话,就判断当前的位置是否为0(是否是可以通行),是的话就置为2,表名这条路已经被我踩过了,相当于脚印,然后就按下,右,上,左的顺序,继续递归,判断是否可以走,直到走带(6,5),如果这个点的上下左右都不可以走的话,就置为3,表名这是个死点,递归实现起来代码不多,但是理解起来比较难,慢慢来吧...
2020-07-20 22:18:31
416
原创 HttpSession
1.Cookie可以将会话状态保存在客户端,Session可以将会话状态保存在服务器端2.Session是一个会话级别的的对象,一次会话对应一个Session对象3.什么是一次会话?用户打开浏览器,可以将对浏览器发出多次请求,直到最终关闭浏览器表示一次完整的会话4.在会话进行过程中,web服务器一直为当前用户维护一个会话对象/HttpSession5.web容器中维护了大量的Session对象,换句话说web容器中应该有一个Session列表6.为什么当前会话每一次都可以获取到自己的Sessio
2020-07-15 20:17:40
443
原创 Cookie
1.Cookie是什么?-Cookie可以保存会话状态,但这个状态是保存在客户端上的-只要Cookie清楚或者Cookie失效,这个会话状态就没有了-Cookie也可以保存在浏览器缓存中,浏览器关闭Cookie失效-Cookie也可以保存在用户硬盘上,浏览器关闭Cookie不会消失,除非Cookie失效2.在java中Cookie被当做类来处理,使用new运算符可以创建Cookie对象,而Cookie是由两部分组成,分别是Cookie的value和name,name和value是字符串类型3.如
2020-07-14 23:41:43
96
原创 中文乱码问题
关于项目中出现中文乱码问题1.乱码经常会出现在什么位置上-数据传递过程中的乱码-数据展示过程中的乱码-数据保存过程中的乱码2.数据保存过程中的乱码-最终保存到数据库表中,数据出现乱码-导致数据保存中出现乱码的两种情况第一种情况:在数据保存之前数据本身就是乱码第二种情况:数据本身不是乱码,但是由于数据库不支持中文,所以出现乱码3.数据展示过程中的乱码-最终显示到网页数据出现乱码-经过执行java程序之后,java程序负责向浏览器响应的时候,中文出现乱码,怎么解决设置响应的内容类型,以
2020-07-14 22:19:02
304
原创 HttpServletRequest
HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。获得客户机信息:getRequestURL():返回客户端发出请求时的完整URL。getRequestURI() :返回请求行中的参数部分。getQueryString ():方法返回请求行中的参数部分(参数名+值)getRemoteHost() :返回发出请求的客户机的完整主机名。getRemoteA
2020-07-14 21:20:41
368
原创 ServletContext
1.javax.servlet.ServletContext接口,Servlet规范2.程序员只需要面向ServletContext接口编程就可以了3.ServletContext到底是什么?什么时候被创建?什么时候被销毁?创建几个?-ServletContext被翻译为Servlet上下文-一个webapp只有一个web.xml,web.xml在服务器启动阶段被解析-一个webapp只有一个ServletContext对象,ServletContext在服务器启动时被实例化-ServletCo
2020-07-14 13:54:02
131
原创 ServletConfig
1.javax.servlet.ServletConfig是接口2.Apache Tomcat服务器实现了Servlet规范,Tomcat服务器专门写了一个ServletConfig接口的实现类。3.程序员在编写程序的时候面向的是ServletConfig接口去完成调用,不需要关心具体的实现类4.Tomcat服务器是一个实现了Servlet规范和jsp规范的容器5.ServletConfig接口有哪些常用的方法?-String getInitParameter(String name)通过初始化
2020-07-14 13:04:39
148
原创 Servlet的生命周期
关于Servlet对象的生命周期1。什么是生命周期生命周期表示一个java对象从创建到销毁的全部过程2.Servlet对象的生命周期由谁来管理?程序员有权利干涉吗?Servlet对象的生命周期,javaweb程序员无权干预,包括Servlet对象的相关方法的调用,javaweb程序员无权干涉,整个过程由web容器来管理,web Container管理Servlet对象的生命周期3.“默认情况”下Servlet对象在web容器启动阶段是不会被实例化的【若希望Servlet在web容器启动阶段被实例
2020-07-13 22:35:59
124
原创 链表实现栈
数组实现栈我用了5分钟然而链表实现栈用了1个小时。。太菜了,感觉脑袋一团浆糊,指针节点指来指去,插来插去烦死了,下面开始介绍1.定义节点,为了方便,我就不设置私有了,全是public1.链式栈,add的作用是记录当前指针指到哪了,maxSize记录了栈的最大数量,head是头节点,头节点是空的,不参与到栈的数目中来,pushval算是一个辅助节点,其实在这里说也说不清楚,具体还是要在代码中体会,因为我的水平比较烂,所以可能有很多冗余,然后可能也有很多不合理的地方,反正毕竟是实现出来了,给自己看看,当
2020-07-12 22:49:43
752
原创 数组实现栈
栈是一个先进后出的数据结构,和队列相反首先定义,maxSize,表示当前栈可以存放的数据的个数top表示指针,一开始指向头的前一个也就是-1这个位置接下来代码应该看得到,数组实现非常简单...
2020-07-12 21:31:48
64
原创 双向链表
理解了单向链表的话,双向链表其实很好理解1.创建节点2.遍历链表3.添加节点4.修改节点5.删除节点,这里和单向链表不一样的地方是,双向链表可以实现自身删除,不再需要辅助节点来帮助自己删除了...
2020-07-11 15:38:25
99
原创 单向环形链表解决约瑟夫问题
什么是约瑟夫问题:据说著名犹太历史学家Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第k个人。接着,再越过k-1个人,并杀掉第k个人。这个过程沿着圆
2020-07-11 15:17:27
156
原创 单向链表
单向链表在物理上不是连续的,但是在逻辑上是连续的,有关链表的不啰嗦了,自己百度去直接上代码,反正自己看1.定义节点next是指下一个节点,套娃,疯狂套2.定义SingleLinkedList来管理节点在链表中,想找啥必须从头开始遍历,因为在物理上他们是不连续的,每个节点都持有下个节点的地址①添加方法(添加到最后,从屁股进去)头节点我们不要去动他,造一个临时的节点,这个节点和头节点一样,我们动它就行了,逻辑看代码应该很容易明白。算了,啰嗦一下吧,反正写给自己看的。temp.next就是
2020-07-09 22:02:51
88
原创 环形队列
顾名思义,环形队列就是可以循环使用的队列,个人认为其中的精髓就是取模,能理解这个基本上和队列差不多注意这里和队列不一样的地方,front和rear都是指向队列的第一个位置而不是-1了front指向的是起始的值,而rear指向的是数据的后面一个位置,这样是为了区分队满和队空代码实现1.创建队列2.判断队空和队满就表明队列满了,环形队列永远要留一个空。(rear+1)%maxsize表明rear前进一格,如果前进一格和front相等了,表明队满了,也就是上述这种情况。为什么要%m
2020-07-09 17:29:34
1965
1
原创 队列
队列的介绍代码实现1.创建操作2.判断是否满是否空当后指针到最后了,即rear=maxsize-1,表示队列已经满了当前指针追上了后指针,即rear=front,表示队列空了3.添加操作4.获取操作5.显示头数据5.显示队列...
2020-07-09 16:46:37
74
原创 稀疏sparsearray数组
稀疏数组的列数是固定的,一定只有三列第一列记录的是行的值第二列记录的是列的值第三列记录的是由行列所定位的值第零行所记录的值:本数组一共有多少行,多少列以及有多少个值下面是代码的实现接下来是二维数组转为稀疏数组...
2020-07-09 15:50:37
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人