![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程
文章平均质量分 64
Lefdr
这个作者很懒,什么都没留下…
展开
-
selenium(二)基本命令
forward()方法可以用来实现前进,back()可以用来实现后退。访问页面使用的是get方法,传入参数为待访问浏览器的url地址。窗口切换主要有两个步骤:1、获取窗口句柄;refresh()方法可以用来进入浏览器页面刷新。原创 2023-04-10 20:00:43 · 277 阅读 · 0 评论 -
python变量和序列
python变量的定义和使用变量二级目录三级目录变量a = 123 在这个语句中,a为变量名称,=为变量赋值,123位变量得到的值也可以同时为多个变量赋值,如:a = b = c = 123,或a,b,c = 1,2,3二级目录三级目录...原创 2021-08-08 21:34:41 · 698 阅读 · 0 评论 -
python基本数据类型
python基本数据类型基本数据类型整数(int)——8浮点数(float)——8.8字符串(char)——“8”布尔值(bool)——true false举个栗子打开cmd,首先进入python环境判断整数类型——(输入type(8))判断字符串类型——(输入type(‘8’))判断字符串类型——(输入type(8.8))判断布尔类型——(输入type(True))类型转换(将字符串类型转换成整数类型)将整数类型转换成字符串类型将原创 2021-08-02 22:50:15 · 122 阅读 · 0 评论 -
认识Python语言及Python环境安装
认识Python语言一、Python语言的特点二、Python历史三、Python使用工具四、Python环境的安装一、Python语言的特点语法简洁:对初学者友好,实现相同功能,C语言可能需要100行代码,Python只需要1/5或1/10的代码量跨平台:可以在Windows、MAC、Linux系统上使用可扩展:可扩展C或java的代码开放源代码:可学习一些大佬写的非常优秀的源码类库丰富:比如图像识别,用Python语言,导入类库,只需要两三行代码就可实现二、Python历史1990原创 2021-07-25 22:23:36 · 121 阅读 · 0 评论 -
Day 3:CSS选择器查找元素
CSS选择器查找元素一、哪些情况不能用ID选择器二、CSS选择器语法三、ID选择器查找元素四、class选择器查找元素五、通配符定位六、查找子节点一、哪些情况不能用ID选择器元素的ID不唯一,或者ID是动态变化的name以及linktext属性值不唯一如果满足上述条件,则不能用ID选择器来定位元素,就需要依靠xpath或CSS来定位元素了PS:不管使用什么方式来查找元素(比如id、name、xpath、CSS等),都需要确保页面上查找出来的元素的唯一性,应该只找到一个匹配的node(如何查看是原创 2021-07-21 23:34:56 · 3005 阅读 · 1 评论 -
Day 2 如何用Chrome开发者工具查看元素和如何获取默认xpath和CSS
如何用Chrome开发者工具查看元素方式一、打开更多工具—开发者工具,调出开发者模式(窗口位置可选),移动鼠标可高亮显示元素方式二、高亮元素,右击选中检查调出开发者工具,会选中要查看的元素,那么如何创建xpath呢?如何查看创建的xpath有几个匹配节点呢?1、点击DOM里任意一个地方,Ctrl+F调出文本框,可以只用字符串来搜索2、举个栗子,在Elements写搜索框的xpath(有一个属性class,值是search-input),输入//input[@class=‘search-input原创 2021-07-20 22:58:41 · 1598 阅读 · 0 评论 -
如何用firefox开发者工具查看元素
一、浏览器自带工具查看元素1、选中元素,右击选择“Inspect Element”查看元素2、选择更多—web developer—Inspector选择查看器,页面上移动鼠标,选中元素高亮显示二、使用Firefox插件查看元素匹配的节点个数如何添加插件(扩展程序)1、点击Add-ons(或快捷键Ctrl+Shift+A),页面跳转到Add-ons Manager,点击Extensions扩展程序,搜索可以创建xpath的插件2、搜索结果有三个,建议使用Try XPath,点击In原创 2021-07-20 00:01:18 · 1786 阅读 · 0 评论 -
Socket编程
现在是网络信息交流的时代,那么我们每天打开的浏览器是如何与web服务器进行通信的?当使用QQ聊天时,QQ进程怎么与服务器或者好友的QQ进程通信的??这些都依赖于Socket编程。本文主要介绍Socket编程以及相关类的常用方法。Socket编程什么是Socket?Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础。网络上具有唯一标识的IP地址和端口组合在一起才...原创 2019-08-12 15:20:38 · 289 阅读 · 0 评论 -
Java异常处理机制
文章目录异常现象Java异常类异常处理机制异常影响异常现象程序错误分为三种:编译错误、运行时错误、逻辑错误编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置。运行时错误是因为程序在执行时,运行环境发现了不能执行的操作。逻辑错误是因为程序没有按照预期的逻辑顺序执行。Java异常类所有的异常都是由Throwable继承而来!!Error和Except...原创 2019-08-22 15:09:15 · 213 阅读 · 0 评论 -
[项目]——文件搜索工具Java-Everything
文章目录项目简介应用技术项目实现项目功能项目测试性能测试兼容性测试功能测试单元测试项目简介Java-Everything是一款仿照Everything桌面工具,基于Java语言开发的文件搜索工具。通过在命令行输入文件名、文件类型搜索到本地文件。解决了Windows命令行下文件搜索慢的问题。应用技术Java基础(文件操作)DataBase(嵌入式H2数据库)JDBC编程Lombok库...原创 2019-09-07 14:19:38 · 1127 阅读 · 0 评论 -
[项目]——Java微聊室
文章目录项目描述相关技术项目功能项目实现整体思路具体实现服务器端客户端项目测试性能测试功能测试压力测试易用性测试容错性测试兼容性测试安全性测试项目扩展点项目描述Java微聊室是一个采用客户端/服务器端模式的聊天室,服务器采用线程池调度执行服务器与客户端业务逻辑处理,管理注册用户、发送数据、退出时注销用户;客户端在与服务器端建立连接后,通过Socket对象获取输入输出流从而与服务器端之间进行通信...原创 2019-08-29 20:15:54 · 313 阅读 · 0 评论 -
数据结构之冒泡排序
文章目录冒泡排序(稳定)冒泡排序(稳定)算法思想(默认升序):每一趟排序均从未排序元素开始,将未排序元素与其后边相邻的元素两两比较,若不符合排序要求则两两交换再进行下一个元素与其相邻元素的比较,那么在第一趟排序结束后最大的数到了数组的最后一个元素处,第二趟排序结束后,未排序元素中的最大数来到了倒数第二个元素处。重复以上过程,直到排序结束。时间复杂度:最好情况(待排序数组有序):O(n)...原创 2019-09-07 14:21:32 · 243 阅读 · 0 评论 -
数据结构之快速排序
文章目录快速排序(不稳定)算法思想时间复杂度实现思路快速排序(不稳定)算法思想任取待排序元素序列中的某个元素作为基准值,按照该排序码将待排序序列分割为两个子序列,其左子序列中所有元素均小于基准值,其右子序列中所有元素均大于基准值,然后将其左右子序列按照上述过程重复操作,直到所有元素均排列在相应位置上为止。时间复杂度最好情况:O(n log n)最坏情况:O(n^2)平均复杂度:O(...原创 2019-09-07 21:31:12 · 258 阅读 · 0 评论 -
数据结构之选择排序
文章目录选择排序(不稳定)算法思想时间复杂度实现思路代码实现选择排序(不稳定)算法思想每一趟均对数组未排序区间进行排序,将未排序区间的第一个元素和未排序区间的其他元素进行一一比较,找到未排序区间中最小的元素,与第一个元素进行交换。时间复杂度最好情况:O(n^2)最坏情况:O(n^2)平均复杂度:O(n^2)实现思路以arr[7] = {6,4,8,1,9,2,3}为例(默认升...原创 2019-09-08 01:32:48 · 232 阅读 · 0 评论 -
数据结构之插入排序
文章目录插入排序(稳定)算法思想时间复杂度实现思路代码实现插入排序(稳定)算法思想每次将待排序区间的第一个元素按照大小插入到已排序区间的合适位置中,直到所有的元素有序。时间复杂度最好情况:O(n)最坏情况:O(n^2)平均复杂度:O(n^2)实现思路给定一个待排序数组,元素个数为size,定义一个变量i用于区分已排序区间和未排序区间,[0.i)表示已排序数组,[i,size)...原创 2019-09-10 00:07:32 · 136 阅读 · 0 评论 -
Java设计模式——单例、代理、工厂
Java的设计模式共有23种。设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让别人易于理解、保证代码的可靠性,也可以更加简单方便的复用成功的设计和体系结构。设计模式有6大原则:1.开闭原则(OCP):对扩展开放,对修改关闭,即在不修改一个软件实体的基础上去扩展功能。2.里氏代换原则(LSP):软件系统中,一个可以接收基类对象的地方必...原创 2019-08-14 20:38:25 · 300 阅读 · 0 评论 -
JVM内存区域和垃圾回收机制
JVM:Java Virtual Machine的简称,Java虚拟机JVM内存区域划分运行时数据区域JVM在执行Java程序的过程中把它管理的内存划分为若干个不同的数据区域。这些数据区域各有各的作用,各有各的创建于销毁时间,有的区域随着JVM进程的启动而存在,有的则依赖于用户线程的启动和结束而创建与销毁。程序计数器(线程私有)程序计数器是一块比较小的内存空间,可以看做是当前线程所执...原创 2019-08-19 11:03:34 · 149 阅读 · 0 评论 -
用c语言实现打印日历
只要输入年份就能打印出相应的日历#ifndef MAIN_H#define MAIN_H#include "stdio.h"#include "math.h"#include "stdlib.h"//获取某一个月的最大天数 int monthday(int, int);//判断闰年 ,是返回1,不是返回0 int isleapyear(int);#endif ...原创 2018-03-24 18:50:47 · 5654 阅读 · 2 评论 -
二叉树的基本操作
原创 2018-05-08 18:30:16 · 204 阅读 · 0 评论 -
静态顺序表
以下是关于静态顺序表的一些基本操作 SeqList.h#pragma once#define MAX_SIZE 100#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int DataType;typedef struct SeqList{ DataTy...原创 2018-06-07 20:14:29 · 173 阅读 · 0 评论 -
静态顺序表优化改正版
前几天发的静态顺序表,在处理Remove函数时,性能上出了一点小小的问题(恐慌恐慌),已经做了优化,以下是优化后的代码: SeqList.h:#pragma once#define MAX_SIZE 100#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int Da...原创 2018-06-10 12:09:32 · 184 阅读 · 0 评论 -
几道重要的链表、栈面试题
1.合并两个有序链表,合并后依然有序#pragma once#define MAX_SIZE 100#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;assert.h&amp;gt;typedef int DataType;typedef struct ListNode{原创 2018-09-12 08:23:58 · 307 阅读 · 4 评论 -
【复习】c语言几道简单编程题
最近在复习c语言的一些知识点,以下是整理的几道比较重要的编程题:1.打印100-200之间的素数为了统计素数的个数,可设置一个计数器count;方法1:#include<stdio.h>int main(){ int i = 0; int count = 0; for (i = 100; i <= 200; i++) { //判断i是否为素数 int ...原创 2018-11-07 16:36:29 · 466 阅读 · 0 评论 -
Java数组小练习
数组在每个编程语言中都有着很重要的地位,以下是数组在Java语言中的一些简单练习题:1.计算数组中最大值2.计算数组中最小值3.计算数组值之和4.数组拼接5.数组截取6.数组打印7.反转数组代码展示:public class ArrayUtils{ //1.计算数组中最大值 public static int arrayMaxElement(int[] data...原创 2018-11-14 12:03:01 · 406 阅读 · 0 评论 -
String类功能扩展实现
String类是Java语言中常用的一个类,基本在所有的项目开发中都会用到。String类的实例化方式有两种:1.直接赋值String str = "Hello Bit";//str是一个对象,那么 "Hello Bit"就应该保存在堆内存中System.out.println(str);直接赋值是最常用的实例化方式,但是String 本身是一个类,既然是类,那么类中一定存在构造方法。S...原创 2018-11-24 20:39:08 · 786 阅读 · 0 评论 -
类与对象——this关键字
来了解一下java关键字this关键字的作用1.表示调用本类属性class Person{ private String name; private int age; public Person(String name,int age){ name=name; age=age; } public Str...原创 2019-04-15 20:58:39 · 303 阅读 · 0 评论 -
面向对象编程——类与对象(定义、使用、封装、构造方法)
学面向对象这块时,老师经常说:要学好面向对象,首先你得有个对象……(突然的扎心。。。)言归正传,面向对象就是对现实生活的抽象,面向对象有三大特征:1.封装:将客观事物封装为抽象的类,并且类可以将自己的数据与方法只对可信的类开放,对不可信的进行隐藏。简单来说就是内部操作对外部不可见,强调的是保护性。2.继承:继承描述的是这样一种能力:可以使用仙有类的所有功能,并在无需重新编写原有类的情况下进...原创 2019-04-13 22:14:38 · 1051 阅读 · 0 评论 -
类与对象——static关键字
static(与对象无关)的两种用法:1.修饰本类属性也称为静态属性(类属性),所有对象共享此属性值!举个栗子:class Person{ private String country; private String name; int age;}2.修饰本类方法...原创 2019-04-24 13:26:16 · 233 阅读 · 0 评论 -
网络基础1——TCP/IP协议 数据包的封装与分用
何为协议?通俗来讲,协议就是一种约定,在具体实施某一事务前双方做好的约定。在网络中,约定是由机器语言指定好的。那么,只要通信的两台主机,约定好协议就可以了吗?不可以,由于计算机操作系统、计算机网络硬件设备种类多,所以要约定一个共同的标准,大家都来遵守,这就是网络协议。协议分层OSI七层模型把网络分成了应用层、表示层、会话层、传输层、网络层、数据链路层、物理层,它最大的优点是将服务、接口和协...原创 2019-05-11 20:22:05 · 1653 阅读 · 0 评论 -
网络基础2——浅谈HTTP协议
我们都知道,在网络中为了便于操作和维护,我们将网络进行了分层。TCP/IP协议将网络分成了五层,自顶向下分别是应用层、传输层、网络层、数据链路层、物理层(通常是四层,物理层考虑较少)。在每一层中都有与之对应的网络协议,此篇介绍应用层最重要的一个协议HTTP协议……先了解一下URLURL,全称Uniform Resource Locator,统一资源定位符,就是我们平时俗称的“网址”,是互联网上...原创 2019-05-17 16:05:01 · 351 阅读 · 0 评论 -
网络基础3——TCP协议及三次握手四次挥手
本文讲的是传输层的TCP协议,在传输层还有UDP协议,其传输过程及报头格式都较简单,所以不做过多总结。什么是TCP协议?简单来说,TCP协议就是面向连接的、可靠的、基于字节流的传输控制协议。它提供全双工通信,每一条TCP连接有两个端点,并且是一对一的(注:这两个端点不是主机,不是主机的IP地址,不是应用进程,不是传输层的协议端口,而是套接字socket)TCP报头格式16位源端口号:包...原创 2019-06-25 22:13:02 · 287 阅读 · 2 评论 -
指针?数组?
相信不少简单了解c语言的人都知道数组和指针,那么他们两个结合到一起是什么呢?我们来做个浅析:指针数组 在c语言和c++语言中,数组元素全为指针的数组称为指针数组。 指针数组是数组,是一个存放指针的数组。数组的所有元素都为指针类型,在32 位系统中,指针占4个字节。 一维指针数组的定义形式为:“类型名*数组标识符【数组长度】”, 例如:char *arr[3]={"hello...原创 2018-03-24 16:48:11 · 225 阅读 · 0 评论