自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

戚同学的博客

Stay hungry,Stay foolish!

  • 博客(37)
  • 收藏
  • 关注

原创 Scratch3.0—程序流程结构

什么是“程序流程结构”呢?指计算机以什么样的顺序执行这些程序。计算机执行1.顺序结构顺序结构是最简单的一种结构,就是程序从上到下一行行地执行,中间没有任何跳转。2.选择结构 选择结构也叫做分支结构,首先进行判断,只有符合一定的条件,程序才会被执行。 分支结构包括单分支、双分支和多分支三种形式。 单分支:只有我们按下空格键,才会执行里面的移动10步。 ...

2020-11-05 19:18:51 2666 1

原创 逻辑推理—乒乓球问题

题目描述:假设排列着100个乒乓球,由两个人轮流拿球装入口袋,能拿到第100个乒乓球的人为胜利者。条件是:每次拿球者至少要拿1个,但最多不能超过5个,问:如果你是最先拿球的人,你该拿几个?以后怎么拿就能保证你能得到第100个乒乓球?题目分析:因为100不能被6整除,这样就要拿17组,第一组拿4个,后面16组,每组拿6个。要保证自己能拿到最后的第100个乒乓球,就要保证自己第一次拿够四个,下来轮...

2019-10-16 17:58:34 3856

原创 Java篇—取反(~)操作符的应用及理解

话不多说,先给大家上一个代码:public class TestDemo { public static void main(String[] args) { int a = 10; int b = 5; System.out.println(a+~b); }}运行结果是多少? 5? 15?实践是检验...

2019-10-16 17:47:23 7445 3

原创 Git的安装和使用详细版(含本地仓库及远程仓库的创建以及介绍)

Git安装目的:通过Git管理github,托管项目代码。一、Git的安装1、下载链接:https://pan.baidu.com/s/1xTYssaZ_E8FAmM3vH7RanA 提取码:j3942、更改下安装路径,其他的一路next即可。3、检验是否安装成功回到电脑桌面,鼠标右击如果看到有两个git单词则安装成功,如下图所示:二、Git基本工作流...

2019-09-06 16:32:55 426

原创 Java篇—自增(自减)陷阱的分析总结

讲述自增(自减)陷阱问题之前,先给大家回顾一下前置++和后置++的区别:public class Test { public static void main(String[] args) { System.out.println("i++"); int i = 3; int count = (i++) + (i++) + (i++);...

2019-08-28 20:17:43 431

原创 Java篇—抽象类和接口的区别(干货)

一、抽象类关键字abstract修饰的类叫做抽象类。就是比如我们熟悉的泰迪,哈巴,二哈,阿拉斯加,秋田犬等等大小形态有很大区别,我们怎么把他们抽象一下呢?那就是他们都有一些本质上相同的东西那就是他们都是狗,是狗就有耳朵,尾巴,四肢等等我们把这些给抽象出来,至于耳朵是啥样的,尾巴是长是短,颜色是啥,这就需要子类实现狗这个抽象方法了。关键字abstract说明: 1.abstr...

2019-08-24 11:37:15 762

原创 Java篇—String,StringBuffer和StringBuilder的区别

三者的定义:String:字符串常量,字符串String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。字符串不变; 它们的值在创建后不能被更改。 字符串缓冲区支持可变字符串。 因为String对象是不可变的,它们可以被共享。StringBuffer 与 StringBuilder是字符缓冲变量。StringBuffer 与 StringBuilde...

2019-08-20 22:50:42 107

原创 Java篇—final,finally,finalize的区别

1.final在java中,final可以用来修饰类,方法和变量(成员变量或局部变量)。(1)修饰类当用final修饰类的时候,表明该类不能被其他类所继承。当我们需要让一个类永远不被继承,此时就可以用final修饰,但要注意:final类中所有的成员方法都会隐式的定义为final方法。(2)修饰方法final修饰的方法不能够被重写,使用final关键字修饰方法的目的在于把方...

2019-08-20 22:18:41 155

原创 Java篇—关键字default的理解

default关键字介绍:default是在java8中引入的关键字,也可称为Virtualextension methods——虚拟扩展方法。它是指,在接口内部包含了一些默认的方法实现(也就是接口中可以包含方法体,这打破了Java之前版本对接口的语法限制),从而使得接口在进行扩展的时候,不会破坏与接口相关的实现类代码。我们原来在写Java接口的时候,是不能有方法体的函数,就类似于C...

2019-08-16 23:56:00 10983

原创 DAO层(数据库)实体类的属性用包装类原因解析

在数据库中,数据的默认值是 null,而在 Java 中,基本类型的默认值不是 null,例如,int 类型的默认值是 0,而包装类Integer的默认值是 null,因为是对象。简单来说就是我们如果自定义了一个Student类,其中有一个属性成绩score,如果用Integer而不用int定义,一次考试,学生可能没考,值是null,也可能考了,但考了0分,值是0,这两个表达的状态明显不一...

2019-08-16 11:02:01 2191 1

原创 Java篇—左旋转字符串

题目描述:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=“abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。思路分析:n作为字符串左旋的位置,其实就是将字符串[0,n)放置在字符串[n,length)的后面,从而组成新的字符...

2019-08-15 22:35:18 534

原创 Java篇—和为S的两个数字

题目描述:输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得它们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的那一对。思路分析:由于是递增排序的数组,所以,我们可以使用两个指针,分别指向数组的首元素和尾元素(一个从前往后,指向较小的数,一个从后往前,指向较大的数),这样找到的两个数的乘积必然是最小的。当两个数的和大于S时,较大的数字指针向左移动,当两个数的和小...

2019-08-15 22:00:35 196

原创 Java篇—字符串中连续最长的数字串

题目描述:读入一个字符串str,输出字符串str中连续最长的数字串输入描述:每个测试输入包含1个测试用例,一个字符串str,长度不超过255。输出描述:在一行内输出str中里连续最长的数字串和长度。输入样例:abcd12345ed125ss123456789输出样例:123456789,9题目解析:step 1:将输入的字符串转化为字符数组;step...

2019-08-13 11:54:07 2753

原创 Java篇—四大访问控制权限解析

在java中提供有四种访问控制权限:public,private,default,protected。访问范围排序(由小到大):private(最小),default ,protected ,public(最大) 。访问范围图解:注:对于public永远都可以访问,对于Java特性之一的封装性而言主要是private、default、protected权限。访问权限文...

2019-08-05 10:39:49 1233

原创 Java篇—二进制中1的个数(思路解析及代码实现)

题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解法1思路解析:step 1:num的二进制的最右边位与1相与,如果不为0,则count加1;step 2:否则,对1左移一位,继续与num的二进制的最右边数的第二位进行相与;step 3:依次循环,即可完成。解法1代码实现:import java.util.Scanner;public cl...

2019-08-04 18:25:44 891

原创 Java篇—移位运算符详解及代码展示

Java移位运算符的内容:左移位运算符(<<)、有符号右移位运算符(>>)、无符号右移位运算符(>>>)。移位运算符的操作对象:移位运算符操作的对象就是二进制的位,可以单独用移位运算符来处理int型整数。移位运算符详解:(1)左移位运算符(<<):将运算符左边的对象向左移动运算符右边指定的位数(在低位补0);publi...

2019-08-04 18:20:35 680

原创 计算机中数的存储形式(原码,反码,补码的表示)

原码、反码和补码知识点:(1)原码:10进制转换成2进制是原码,只不过正数的原码是本身符号位为0,负数的原码符号位为1;例:单字节的1,10进制1的原码是0000 0001,10进制-1的原码是1000 0001。(2)反码:正数的反码是它本身,负数的反码是保留符号位,其他位取反(注意负数求反码时候的符号位不参与变换);例:单字节的-1,原码是1000 0001,它的反码就是 11...

2019-08-04 18:15:21 3491

原创 Java篇—获取当前系统时间的三种方式(超详细+多方法)

1.通过util包中的Date类来获取当前时间方法1详细代码:public class Exercise17 { public static void main(String[] args){ Date date = new Date(); SimpleDateFormat simpleDateFormat = new SimpleDateForm...

2019-08-04 01:03:19 10226 1

原创 URI、 URL 和 URN 的区别

1、URIURI = Universal Resource Identifier 统一资源标识符URI采用一种特定语法标识一个资源的字符串。所标识的资源可能是服务器上的一个文件。不过,也可能是一个邮件地址、新闻消息、图书、人名、Internet主机或者任何其它内容。通过URI找到资源是通过对名称进行标识,这个名称在某命名空间中,并不代表网络地址。它包含URL和URN。支持的协议有h...

2019-08-03 01:25:20 166

原创 Java篇—数组中出现次数超过一半的数字

题目描述:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1, 2, 3, 2, 2, 2, 5, 4, 2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果这个数字不存在,输出0。解法1(算法实现—不需要对数组进行任何操作)思路解析:step 1:把数组中的第一个元素保存下来,放入result中,记录次数count为1...

2019-08-03 00:35:22 576

原创 MySQL查询语句的书写及执行顺序!!!(含MySQL复习图—基础+详细)

关键词:查询中用到的关键词主要有6个,分别是:select、from、where、group by、having、order by。书写顺序:select–from–where–group by–having–order by执行顺序:from–where–group by–having–select–order by关键词解释:(1)from:从哪张数据表检索数据...

2019-08-02 00:13:39 328

原创 常用数据库默认端口号!!!

关系型数据库:1.Oracle的端口号为:1521;2.MySQL的端口号为:3306;3.SqlServer的端口号为:1433;NoSQL数据库(非关系型数据库)1.MongoDB默认端口号为:27017;2.Redis默认端口号为:6379;3.memcached默认端口号为:11211;...

2019-08-01 23:51:03 1379

原创 jdbc数据库连接文件配置(mysql.properties)

propertie文件编写(键值对)jdbc.driver = com.mysql.jdbc.Driverjdbc.url = jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8jdbc.username= rootjdbc.password= root说明:1)properti...

2019-07-31 23:31:20 2623

原创 Java篇—Arrays.sort()用法理解

Java的Arrays类中有一个sort()方法,该方法是Arrays类的静态方法,在需要对数组进行排序时,可以直接调用。注:数组类型是Object(),即sort()的参数类型也为Object。本文中以int型数组为例。用法1:Arrays.sort(int[] a)它是对数组的所有元素进行升序排序,即将数组中的元素按照从小到大进行排序。代码实现:import java...

2019-07-27 02:08:07 4752

原创 Java篇—“topK”问题详解(最小堆实现)

topK问题:从海量数据中获取最大(或最小)的K个数据。堆的知识点:https://blog.csdn.net/weixin_43761659/article/details/97118158最小堆(小根堆)图解:最小堆(小根堆)是一种数据结构,它首先是一颗完全二叉树,并且,它所有父节点的值都小于或等于两个子节点的值。如上图所示:a[0] <= a[1] &&...

2019-07-25 23:23:19 1935

原创 Java篇—驼峰命名法(CamelCase)

骆驼式命名法定义:就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,例如:myFirstName、myLastName,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。题目描述:从C/C++转到Java的程序员,一开始最不习惯的就是变量命名方式的改变。C语言风格使用下划线分隔多个单词,...

2019-07-25 01:11:26 2277

原创 Java篇—单词倒排

题目描述:对字符串中的所有单词进行倒排。题目说明:1、每个单词是以26个大写或小写英文字母构成;2、非构成单词的字符均视为单词间隔符;3、要求倒排后的单词间隔符以一个空格表示;如果原字符串中相邻单词间有多个间隔符时,倒排转换后也只允许出现一个空格间隔符;4、每个单词最长20个字母;问题分析:输入的是一个字符串,这个字符串中用空格或者其他非字母字符作为间隔符,间隔符可...

2019-07-25 00:45:53 822

原创 Java篇—“堆”详解(初始化,插入堆,删除堆顶元素,堆排序)

堆:(1)堆通常是一个可以被看做一棵树的数组对象。(2)将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。(3)堆是非线性数据结构,相当于一维数组,有两个直接后继。堆的定义:(1)n个元素的序列{k1,k2,ki,…,kn}当且仅当满足下关系时,称之为堆。 (ki<= k2i,ki<= k2i+1)或者(ki>= ...

2019-07-24 12:43:42 1370 1

原创 Java篇—字符串加解密

题目描述:1.对输入的字符串进行加解密,并输出。2.加密方法为:当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;其他字符不做变化。3.解密方法为加密的逆过程。解题思路:step 1:先将字符串变量转换为字符数组,然后对字符进行相对应的转换,调...

2019-07-22 20:45:45 1276

原创 Java篇—根据输入的日期(年月日),输出这一年的第几天

题目描述:根据输入的日期,计算是这一年的第几天。解题思路:step 1:判断输入日期的合法性,如果输入不合法返回-1;step 2:根据输入的月份,计算从1月到(month - 1)月的天数,如果是二月的话,就要判断该年是否为闰年(闰年,day加29天,反之,day加28天);step 3:根据步骤二计算出来的数值,最后加上输入的date,输出即可。 详细代...

2019-07-22 19:56:24 8713 3

原创 Java篇—二维数组的查找

题目描述:在一个二维数组中,每一行都是按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解题思路:利用该二维数组的特性(行列都是递增的),用所查整数与右上角的元素进行比较,如果所查整数小于右上角数值(该元素为第一行的最大元素,最后一列的最小元素),则列col--,否则,行row++,查找结束的时候,如果还未...

2019-07-20 13:54:57 403

原创 解:Git安装与GitHub账号注册!

  Git安装分为两步:第一步安装git for windows,第二步安装tortoise git。  git for windows是一个git的windows系统的命令行版本,进入网站https://git-scm.com,根据电脑配置选择32 bit或64 bit,点击Download下载,一路next即可。  tortoise git是git的图形界面,成功安装git for w...

2018-12-05 12:08:20 422

原创 我与C语言之第三战!

  我与C语言第三战之num1:将数组A中的内容和数组B中的内容进行交换。(数组一样大)  首先定义两个数组用以存放元素,为了更直观的看到数组内容进行了交换,先将之前定义的两个数组内容分别打印出来,然后利用for循环和中间变量,进行两个数组间元素的交换,最后进行打印即可。具体程序代码和运行结果如下:#include &lt;stdio.h&gt;#include &lt;stdlib....

2018-11-26 17:55:16 117

原创 冒泡算法之我见!

  什么是冒泡算法?  冒泡算法主要用于解决元素间的顺序问题,即从大到小,还是从小到大。冒泡?一瓶汽水中溢出来的气泡。排序?对气泡进行编号1,2,3……,即按先后顺序进行站位。  当然,作为程序员,冒泡算法是我们必须要get的一门算法,虽然它没那么简单,但却和前文所述大同小异。  说到“冒泡算法”,首先要想到“比较”二字,它是两两相邻元素间的比较,其次是“循环”二字,多个元素之间的比较...

2018-11-26 11:32:46 275

原创 我与C语言之第二战!

  我与C语言第二战之第一题,给定两个整形变量的值,将两个值的内容进行交换。首先创建整形变量a=1,b=2,再创建中间变量c,令c=a,a=b,b=c即可,程序代码及交换前与交换后的运行结果如下:#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;int main(){ int a = 1; int b = 2; int c = 0;...

2018-11-24 21:00:29 267

原创 我与C语言之第一战!

  我与C语言第一战之第一题,打印100-200之间的素数。素数?什么是素数?别慌!素数即只能被1和自身整除的整数。首先要用for循环来控制输出素数的范围大小,即【100-200】,再用for循环来控制除数的范围大小,结合素数定义,除数的范围为【2-被除数范围】,用语句if来判断被除数与除数的求余是否为零,如果为零用break语句跳出当前for循环,再判断除数和被除数是否相等,相等即输出被除数(素...

2018-11-24 15:15:45 166

原创 编程之路,你我共勉!

  大家好!我是戚佳,一名来自西安工程大学的大三学生,家住西安市鄠邑区,96年出生的我已经快23岁了,不要惊讶,我没留级,只是由于参军入伍办理了两年休学,我学的是软件工程,但我仍然可以说是零基础,从前的自己年少无知,现在的自己后悔莫及!如今的我只想将编程学好,找到一份好工作,不忘初心,方得始终这句话是给自己说的,也是给走在编程之路的各位说的,但初心易得,始终难守,真的是必须坚持下去才能得到自己想要...

2018-11-21 22:05:24 254 2

空空如也

空空如也

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

TA关注的人

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