- 博客(22)
- 问答 (1)
- 收藏
- 关注
原创 【JAVA】Junit 的注解(Annotation)介绍_@test相关
参考来源:https://www.softwaretestinghelp.com/junit-tutorial/https://www.softwaretestinghelp.com/junit-annotations-tutorial/https://www.jianshu.com/p/3fbe2c2b3e26https://doczhcn.gitbook.io/junit5/index/index-2/annotations单元测试是对小逻辑或代码的测试,只针对一小部分代码,可能只是一个方法或一个类单元
2022-06-28 23:35:20 571 1
原创 【JAVA】char[]的输出,以及对char[]是否为一个类的疑惑
Output:因为运算符【+】的存在,且操作数之一为String(""),导致调用了Object类(char[]属于Objectl类?存疑)的toString方法,返回了class名和hash值,而非字符的确跳转到了Object类的toString,getClass().getName()返回了【[C】[C是什么类?char[]吗?......
2022-06-22 01:10:06 357
原创 hashCode与for-each
/*当使用for-each循环时,对每个取出的元素进行操作并不会影响原数据:* Integer[] a = {1,2,3}; for(Integer aa: a){ aa = 0; } System.out.println(Arrays.toString(a));//输出[1,2,3] */起因是想练习一下重写hashCode(), 然后和编译器自动重写的hashCode返回值做对比原预计本该输出相同值,却未达到预
2022-06-14 21:02:35 154
原创 instanceof 编译通过条件的误区
在JAVA中,instanceof关键字用来判断在其左边的对象是否为在其右边的类型的实例在网络上查到有这样一条要求:左边的对象需要和右边的类型在同一颗继承树上,否则编译无法通过Object类是所有类的父类,我觉得大家追根究底都在一棵树上,那岂不是任何时候都会得到true?后来做了一些实验需要再关注的是【声明类型】这个前提1、想要编译通过,需要声明类型符合条件,而无关运行类型2、return结果按照运行类型得出3、左侧不一定需要是右侧的实例或子类实例,才能通过编译,是右侧的父类也可以由上推论:编译通过的
2022-06-13 13:10:35 107
原创 [JAVA]类的加载,初始化顺序和向前引用
所谓向前引用,即在定义某个变量前使用它在c中向前引用一定是错误的,而在Java中,向前引用在某些时候是可行的为什么java可以实现向前引用(这里只是讨论可行性的原理,实际上java对向前引用做了许多限制,所以这里许多看似无错的案例实际上是不被允许的))为一个变量分配好空间,填入了默认值,之后无论是读取它还是赋值都是可行的当在java程序中创建一个对象实例时:1.先查看类有没有被加载,没有的话首先完成加载类 类的加载会做如下的事情: 加载class文件,给所有stat...
2022-04-17 01:58:19 480
转载 【转载】包装类及基本数据类型之间大小比较
本文来自:https://blog.csdn.net/weixin_42921327/article/details/115518328大神写得详细又准确,我认为再无修改的必要了但为了防止链接失效,在此附上原文:=========================================================================包装类及基本数据类型之间大小比较一、例子public class IntegerTest { public static vo
2022-04-07 09:31:25 708
原创 字符编码总结 + 和JAVA相关
历史计算机只认识0或1,为了将人类认识的信息(字符)存储进计算机里,规定了一些转换的对应关系(字符集)BCD码BCD(BinaryCoded Decimal)最初的计算机性能和存储容量都比较差,所以普遍采用4位BCD编码,将十进制用二进制表示BCD编码表示数字还可以,但表示字母或符号就很不好用,需要用多个编码来表示。后来经过演变发展成了ASCII码ASCII字符集American Standard Code for Information Interchange, 美国信息交换标.
2022-04-01 23:54:40 651
原创 在控制台输入EOF
EOF(end of file的缩写)某些系统也许把EOF定义为-1以外的值,但是定义的值一定与输入字符所产生的返回值不同使用EOF符号,就不必担心EOF值不同的问题这里关键要理解EOF是一个值,标志着检测到文件结尾,而且和其它返回值不会有冲突当正在读取的不是文件,而是键盘输入时,绝大部分系统都能做到通过键盘模拟EOF要输入EOF,正确的方法是,必须找出当前系统的要求例如,在大多数UNIX和Linux系统中,在一行开始处按下Ctrl+D会传输文件结尾信号而许多微型计算机系统都
2022-03-20 00:40:00 1033
原创 自定义桌面图标
Favicon.ico图标生成器 | 一键免费制作ico图标 - LOGO神器1、在这个网站上搜相关图标下载,或者准备好图2、选择下图蓝色区域上传图片,选择自己想保留的区域右上角下载将下载的压缩包解压(其中后缀名为ico的是需要保留的)3、回到桌面,选择你想要更改图标的应用右键->属性在快捷方式那一栏下面,选择更改图标浏览,选择你刚才保存ico文件的位置,选中图片应用即可...
2022-03-15 21:08:40 910
原创 IDEA使用
2020.2版本的IntelliJ IDEA官网说明(可以切换版本)想知道不同图标代表什么文件,不需要去按照目录一个个对比只需要将鼠标移动到图标上,IDEA会自动显示文件类型手动导入包的时候,输完【;】后导入包的语句被自动删除:IDEA会自动优化,将没有用到的包删除虽然JAVA是大小写敏感的语言,但因为window的文件系统不区分文件名的大小写所以idea中,在同一目录创建只有大小写不同的class文件或者package ,会出错(包括在同一编译单元里的多个类,它
2022-03-12 20:15:55 555
原创 JAVA学习案例,非常规汉诺塔,使用递归
//汉诺塔问题(非常规),使用递归/*问题形容三个塔,初始状态上可以有任意数目的盘子将所有盘子移动到第三个塔其它与普通汉诺塔问题相同*//*思路讲解: int a[3][n + 1];//n是盘子总量 a[i]代表第i个塔 a[i][j]的下标代表第i个塔上的第j个盘子(从下往上数) a[i][n]设置为-(i + 1),作为塔的名称 a[i][j]的值代表盘子大小,量级范围为[0,盘子总数-1],没有盘子的地方为-1 允许最初设定a[i]都不为空,为了不同塔.
2022-01-20 17:34:11 230
原创 Java学习案例,走迷宫,使用递归(未要求全部路径和最短路径)
//迷宫问题,使用递归public class Hello{ static int num = 3;//用来标记通往终点的路径,每次加一 public static void main(String[] args){ int a[][] = new int[8][5];//new出来的默认值0 init(a);//设置路障,0可以走,1障碍物, a[5][3] = -1;//设置出口 printArray(a); System.out.println("*********.
2022-01-19 07:48:29 253
原创 Java学习【4】基本数据类型运算中的自动转换和潜在的强制转换,以及对\n是否回到行首的疑惑
在运算时,容量小的会自动向容量大的转换但对于byte short char ,运算时会首先转换成int下面的程序是错误的:byte b = 1; short s = 2; short ss = b + s;这三者,即使相同类型运算,也会转成int: byte b = 1; byte bb = 2; byte bbb = b + bb;//错误下面的程序显示了同样的特性(+在这里时算术运算符...
2022-01-13 09:23:59 168
原创 Java学习【3】自动转换总结,整型字面量与浮点型字面量的差异(猜想未证实)
JAVA中,char short byte 这三者之间,只有byte->short可以自动转型,其他方向都是不会自动转的虽然按照惯例,容量大的不能自动转换为容量小的,下面的程序会报错:但是下面则正确编译了(整形字面量类型为int)编译器发现右边是字面量而不是变量时,会判断一下是否超过了byte的表示范围,如果没有的话就不会出错正如前言,以下程序也是正确的但是,下面的程序却是错误的(小数字面量类行是double)1.1并没有超过float的表示范围,却被判定无法.
2022-01-11 22:22:42 501
原创 Java学习【2】关于dos命令窗口
这样写路径竟然可以 【\】与【\\】在这里似乎没有影响另外,查了查,发现Windows的命令行窗口不区分大小写,同文件系统一样Windows的命令行窗口某些情况下仍旧会区分大小写,对于源文件:Hello.java:测试,如【jAvac hello.JAVA】会报错,后缀名必须是java//小写,但是类名无所谓测试,如【jAva hello】会报错,类名这时候需要区分大小写这只是在学Java时顺路了解的,以后可能会系统学习一下dos命令【tree】只会显示目录,没有文件..
2022-01-11 21:13:23 243
原创 JAVA学习【一】java 与javac 在windows下的大小写问题
对于javac命令,测试发现无论后面的文件名大小写如何,只要不改变后缀的【.java】都会成功编译而java命令就不会这样初步判断是因为目前自己的windows10系统不区分文件名的大小写网上说可以设置区分大小写,麻烦,于是没有做于是不知道设置为区分大小写后,Javac命令就会不会变得严格尚且不知为何java命令和javac在这一点表现不同猜测与javac需要带后缀名,而java不允许带后缀名,是同样的原因//此为文件名//此为测试结果...
2022-01-07 23:31:52 686
原创 顺序表,以及表的归并
上学期是复学的第一学期,数据结构从栈什么的开始就没怎么好好学了寒假也没看数据结构,只顾着c的课设和小姨他们过日子这学期开始,我觉的自己虽然还没好彻底,可是比之前状态好很多了,稳定多了刚好开学这段时间没什么课,开始从头学习数据结构嗯,用的是严蔚敏老师的《数据结构(C语言版)》,还买了《数据结构与算法分析(C语言描述)》第二版基础真差啊,写得好慢,效率好低总之,想到什么功能就尽量写出来可能有些繁琐和不必要,但是慢慢来吧,认认真真敲代码//表ADT的简单数组实现(线性表的顺序表示
2021-03-20 21:46:17 180
原创 c语言, switch语句的case分段中,第一行不允许定义变量(未解决)
我发现,switch语句的case分段里,第一行不能定义变量switch (a){case 1:int b = 0;//visual studio2019会报错break;}网上查了查,他们说case分段中定义的变量,在整个switch中都是可见的,为了避免类似下面这种情况:switch (a){case 1:int b;//没有初始化break;case 2:printf("%d\n", b);//调用了没有初始化的bbreak;}他们说解决方法...
2021-02-18 12:10:26 652 2
原创 读取文件,写入文件,出现乱码(c primer plus 13.3的程序问题)
书中P419的压缩程序:关于这次的读取文件出现乱码while ((ch = getc(in)) != EOF){if (count++ % 3 == 0)//如果这一行注销掉,那么out指向的文件中不会有乱码putc(ch, out);}查了很久,之前以为是编译器和文件用的编码方式不一样,安装了插件,又卸载又在【文件】中设立了【高级保存选项】,统一了编译器和Windows用的编码方式最后发现,是count那一行的问题,我之前都在做无用功而已嗯原因不是编码方式的不同(也许vis...
2021-02-04 00:41:21 246
原创 const指针,数组和指针,二重解引用的危险
一个声明时指向const的指针,它可能指向const的数值,也可能指向非const的数值这在c中是被允许的但只有在一级解引用的情况下才是安全的一个二级指针pp,它被声明const int* * pp;一个一级指针p,它被声明为int * p;一个变量,const int n = 100;pp是可以指向p的:pp = &p;*pp = &n;//这样是可以的,pp被声明const int* * pp,解引用后,指向//const int的数据...
2021-01-29 11:55:17 374
原创 字符串输入的一些注意事项(字符数组,字符指针,以及scanf_s超出大小限制会发生什么)
如果你想要在程序中输入字符串,必须要先预留足够的空间一定不要这样做(指针形式):char* p;scanf("%s", p);//危险scanf将输入的字符串放在p指定的地址上(即是p的值),然而没有经过初始化,它的值并不确定,你可能会擦除某些重要的信息,导致程序中止即使你说,你可以这样(提前预留了空间):char str[100];scanf("%s", p);//危险虽然声明中已经预留了空间,但是scanf并不知道该在何时停止输入,它可能会产生缓冲区溢出(多余的字符超出了指定的目标空间)
2021-01-29 11:52:17 2090 2
原创 2021-01-16 关于c primer plus 10.7的思考(二维数组名不等同于二维指针)
我花了好久看一个关于指针的知识点最后理清了自己一直以来都存在的一个误区心情很好,虽然没有推动多少学习的进度,可是我觉得很愉快visualstudio中,不同类型的指针变量是可以无警告无报错地赋值的(无所谓类型和维度,说起来我认为维度不同也可以作为类行不同的一部分),但是进行加一运算打印它们的值,就会发现结果这时候取决于它们的类型之前我一直以为这样的赋值是严格要求的,今天才知道是可以无警告无报错,嗯对本质的理解更进一步了,都是指针变量而已,赋值当然可以(看来编译器并没有在这一点上进行详细检查嗯问.
2021-01-16 21:48:13 188 4
空空如也
关于程序中断退出以及内存释放问题
2020-10-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人