- 博客(26)
- 问答 (1)
- 收藏
- 关注
原创 15、类与对象(采用图解方式分析方法传入参数的值传递和引用传递)② —— 形参实参
在学习的时候你有没有发现一个问题:为什么调用方法时,传入的参数在调用方法之后,有时候会被改变,有时候却没有变?
2024-07-19 16:46:31
513
原创 14、类与对象(采用图解方式分析内存结构)①
这里提示,String类型有点特殊,它的值是存放在变量池的,当我们赋值Dog1.breed = “博美”,JVM首先会在常量池中找有没有“博美”这个字符串,若有则直接指向该地址,若无会在常量池创建一个新的字符串,然后指向该字符串的地址,推荐去看这个链接:java字符串内存 java中字符串存在哪里
2024-05-28 21:44:48
1031
原创 13、数组(一维、二维用图形化的方式解析内存空间)
二维数组看起来比一维数组的内存图复杂一点,大家可以把二维数组想象成:一维数组对象里面嵌套了一个一维数组对象 -----> 最外层的一维数组通过地址0x0011,找到了存储在该地址的arr[0],非常碰巧,arr[0]里面的元素也是个一维数组对象,那么把该对象的地址0x0033存储在arr[0]里面,在通过0x0033去找到arr[0][1]即可,里面的一维数组依然遵守一维数组的存储规则。
2024-05-22 14:00:45
1071
原创 12、控制结构(顺序,分支switch,循环break、return)使用注意事项
是不是觉得很奇怪,哈哈,没错,我忘记加break了,导致它一直顺序执行,没有跳出来。这里分几种情况:①没有break + 没有相应的 month = case常量值:不会进入任何一个case,最后会进入default执行语句块。(Tip:没有设置default就什么也不干)
2024-05-18 22:06:25
1077
原创 11、关系运算符、逻辑运算符(讲解&& 和 & 的区别)、赋值表达式、三目表达式、运算符优先级(超详细版本)+结合性的分析
在讲之前先明确几个概念:这篇文章中,a++、–a是单目运算符,而a + b、a % b是双目运算符,今天的文章中“?:”是三目运算符。2、Java中运算顺序大部分都是从左往右的(左结合性),只有单目运算符、赋值运算符和三目运算符是从右往左的(右结合性),,赋值运算符和三目运算符看下面的文章即可,单目运算符的就不写了,差不多意思。
2024-05-12 18:53:32
2440
原创 10、算数运算符(以 ‘/’、‘%’、‘++’为主去讲解)(Java超详细版本)
我们要知道,在Java中,当变量参与运算的时候,系统会把这个变量存入一个临时的空间,称之为“ 操作数栈 ”,我们也不讲那么详细,因为本博主也不会那么多😄,所以直接拿“ ++ ”进行举例吧。
2024-05-08 16:54:38
1452
原创 9、String类型和基本数据类型转换(Java)
Ⅰ、在将String类型转成基本数据类型时,要确保String类型能够转成有效的数据,比如:可以把 “128” 转成一个符合精度范围的整数,但是不能把 “Hello” 转成一个整数。本人正在B站跟着韩顺平老师学Java(非广告),所以做个笔记仅供学习,文章虽标为原创,但大体思路是韩顺平老师的授课思路,在此基础上加上了自己的理解,不喜勿喷哦。Java中String类型是字符串类型,是用 “ ” 双引号括起来的内容,所以基本数据类型转String类型直接+“ ”即可。大家一起学,一起进步!
2024-05-08 14:27:48
485
1
原创 8、基本数据类型转换(自动转换和强制转换)
理解,假设两个byte类型、赋值为127的变量相加,那么结果是254,而byte是一个字节,范围是(-128~127),如果仍然存进byte类型,就会溢出。分析一下: 第二条语句中参与运算的有int 和 float,所以 int类型 先转换成 float类型,再进行运算(注意:此处 1.1 一定要加 ‘ F ’,不然系统会默认为double,然后报错,所以变量最终的类型精度要大于或等于运算结果的精度),第四条语句同上。使用时要加上强制转换符(),eg:(int),(float)…,这个就是自动类型转换。
2024-05-06 17:03:16
1276
4
原创 7、Java基本数据类型的使用细节探讨(超详细版本)
按照我们的数学思维,8.1 / 3 应该是等于2.7的,但是从计算机的角度上看,计算机中对浮点数的表示并非百分百精确的,在表示和计算过程中都有可能丢失精度。并且,8.1这个数本身在计算机中用double类型存储,可能存储成8.100000001,这都是可能的,所以浮点数的运算结果比较是不等的。
2024-05-02 12:14:13
904
5
原创 (队列篇)2、循环队列及其基本操作(采用顺序存储结构,C++代码编写,重点解决判断队列空和满的问题)
我们可以举例,当Q.tag为1的时候,证明最后一个步骤是入队,我们知道,只要入队就会进行Q.rear =(Q.rear+1)% MaxSize的操作,意味着rear指针总是向前进一个的,当前进得到Q.front == Q.rear的情况时,证明已经队列满了。其实这一步已经在判满的函数里面实现了,只要满足isFull()就证明Q.front 和 Q.rear正好相邻,Q.rear指向空白单元,这个单元是会变化的,不是固定的,随着Q.front的指向而变化,一般都是在Q.front指向的前一个单元。
2024-04-28 09:44:55
1447
1
原创 C/C++报错合集(3):C++ 表达式必须含有常量值参数
报错原因:C++中不允许使用变量作为数组的长度去定义数组,必须为常量值才可以,C++中所有的内存需求都是在程序执行前通过定义的常量来确定的。
2024-04-26 10:16:36
1662
1
原创 (队列篇)1、队列的概念及其基本操作(采用顺序存储结构,C++代码编写,包括初始化、入队、出队、获取当前队列长度等)
此篇文章是采用顺序存储的方式实现队列,在内存中分配一块连续的存储单元存放队列中的元素(相当于创建一个数组而已),还要建立 front 和 rear 指针(虽说是指针,其实就是记住队头和队尾的位置,方便进行插入和删除),本文中 front 指向队头元素,rear 指向队尾元素的下一个位置。(其实如果出队了的话,数组前面其实还是有位置的,所以会造成假溢出,这可以用循环队列进行处理。若队列非空,则将队头元素赋值给x,记住不会改变队列,仅仅是读取而已。若队列非空,删除队头元素,并用x返回。大家一起学,一起进步!
2024-04-26 10:00:00
1465
1
原创 C语言:sizeof运算符(超超超详细版本)
⭐⭐sizeof是一个单目运算符,不是函数,不要觉得平时使用会带()就觉得是函数了哦,它是32个关键字中的一员。sizeof返回一个对象在内存中所占的存储空间,单位是字节byte。
2024-04-24 12:39:48
15253
2
原创 C/C++编程报错合集(2):C6328 :大小不匹配 :已将_int64作为__Param_(2)传递,但需要使用int来调用printf
输入输出占位符%d代表int(4bytes),%ld代表long int(>=4bytes),%lld代表long long int(8bytes)。sizeof运算符返回的结果是一个64位(即8bytes)的无符号整型,所以占位符应该是%lld。官网解释:此警告指示格式说明符所需的类型和传入的表达式的。能输出但会报错,将printf中的输出改成对应格式即可。以上错误修改成%lld即可。大家一起学,一起进步!
2024-04-24 11:17:59
1226
1
原创 0、Java必懂概念(JDK、JRE、JVM+Java运行机制及运行过程+Java重要特点)
①JDK全称为Java Development Kit(Java开发工具包),是提供给Java开发人员使用的。JDK = JRE + Java开发工具[java,javadoc,javap等]②JRE全称为Java Runtime Environment(Java运行环境)。JRE = JVM +Java的核心类库[类],包括Java虚拟机和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。③JVM。
2024-04-22 21:31:13
906
原创 6、Java变量(超详细版本)(变量+栈的思想去理解变量)
这条语句,a在栈中已经存在,那么编译器会重新搜索栈中是否存在2,若存在令a指向2;(注意:a值的改变不会影响b值,感觉可以把a,b这些名称和它们指向的值用两个隐形的空间分开,修改其中一个变量不会影响其他,除非是对地址进行操作,比如C/C++的指针)其实就我个人理解的话,变量就是一个名字,只不过访问它就是访问里面的值,比如我家有一只狗狗叫做来福,那么来福就是变量名,我每次叫来福就是叫这只狗狗。首先会在栈中创建一个a的引用,然后查找栈中是否有1这个值,如果没找到,就将1存进来,然后a指向1。
2024-04-21 10:45:45
1198
2
原创 5、Java_DOS命令+绝对路径和相对路径
DOS磁盘操作系统。dos和Windows、mac、linux等一样,其实也是电脑上的一种操作系统,直接以命令行的形式来操纵管理硬盘下的文件。(如果用的是软件比如IDEA的话,可以对这个内容简单了解一下,因为不需要我们直接在dos命令窗口进行javac编译和java运行)
2024-04-20 16:46:04
1248
原创 4、Java代码规范
5)源文件使用utf-8编码,我个人认为具体的编码方式,还是得看你自己的学习或者工作的需求,假设你需要有中文出现在源文件,那你就使用GBK兼容中文,如果不需要那你就使用utf-8(看个人需求吧!本人正在B站跟着韩顺平老师学Java(非广告),所以做个笔记仅供学习,文章虽标为原创,但大体思路是韩顺平老师的授课思路,在此基础上加上了自己的理解,不喜勿喷哦。2)非Javadoc的注释,往往是给代码的维护者看的,着重告述读者为什么这样写,如何修改,注意什么问题等。大家一起学,一起进步!
2024-04-19 13:10:42
391
原创 3、Java注释(单行注释,多行注释,文档注释)(超详细版本)
注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式(.html)体现的该程序的说明文档,只放在类、接口、成员变量、方法之前(因为Javadoc只处理这些地方的文档注释,而忽略其他地方的文档注释)如果出现图片上的错误,是因为cmd进入的入口错误,要真正找到Hello.java存放的文件地址才可以,eg:从E:\code\JavaLearn 变成从 E:\code\JavaLearn\src进去。3)文档注释:以/**开始, 以*/结束。大家一起学,一起进步!2)多行注释:/**/
2024-04-19 12:16:38
8451
1
原创 1、Java开发注意细节
Java中每一个class类都对应着一个.class文件(如果默认创建了源文件,并且运行过的话,可以按照此路径查找:项目名 --> out -->production --> 项目名 --> 找到)8、main()并非只有一个,每一个class类中都可以设置一个main()方法,然后可以指定运行非public类,这样入口方法就是非public的main()方法。6、如果源文件(即创建的一个.java文件)包含一个public类,则该类名必须为.java文件的名字。大家一起学,一起进步!
2024-04-18 16:05:48
524
1
原创 C/C++编程报错合集(1):未定义标识符“count”,C6001:未使用初始化的内存,C6011:取消对NULL指针“s”的引用
报错原因:在C++中,cout是标准输出流对象,用于将文本信息输出到控制台,其声明和定义在iostream中,需要引入相应的头文件语句。
2024-04-17 21:39:18
1968
1
原创 Sublime Text4安装教程(超详细版本)
3、选择“Add to explorer context menu”,将其加入右键菜单,表示在打开文档的方式中可以选择Sublime Text打开。Ctrl+Shift+p --> 输入 install Package Control --> 点击安装并等待,最终会出现图2的安装成功提示。2、打开Package Control --> 输入Install Package --> 稍等片刻,安装进行中。1、打开软件,点击Preference,选择最底部的Package Control,出现查找栏。
2024-04-16 15:06:19
19095
7
原创 白盒测试:语句覆盖、判定覆盖、条件覆盖、条件判定覆盖、条件组合覆盖、路径覆盖
①A=0,B=0,C=0 和 A=2,B=2,C=4 和 A=2,B=0,C=0 和 A=0,B=1,C=3(两个判定里面条件的组合可以自由搭配,只要符合逻辑即可,但必须确保每个判定里面的条件所有可能组合都有)①A=2,B=2,C=4 和 A=0,B=0,C=0 和 A=1,B=1,C=1 和 A=0,B=0,C=2(确保每一条可以走通的路径都要被覆盖)②A=0,B=0,C=2(False,True)和 A=1,B=1,C=1(True,False)两个测试用例可以进行语句覆盖的测试。
2023-12-12 21:54:01
25208
12
原创 MySql:自动创建当前时间、修改时间
标准形式:create_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’标准形式:update_time datetime DEFAULT CURRENT_TIMESTAMP。1、每次新增记录时,会自动生成当前时间,不要自己进行时间的插入,不然插入表中的记录只能是输入的那个时间。DEFAULT CURRENT_TIMESTAMP:默认当前时间。DEFAULT CURRENT_TIMESTAMP:默认当前时间。COMMENT:类似于加注解(可选)
2023-11-28 12:58:44
3018
原创 2023-Mysql8.0.35.0-超详细安装教程
2023-MySQL8.0.35.0超详细安装教程,若出现MySQL安装出现The configuration for MySQL Server 8.0.28 has failed. You can…可以从Microsoft edge的下载直接进入安装界面,或者找到相应的安装包下载地址进入安装界面。按照以上步骤可成功从官网下载最新版MySQL安装包。
2023-11-21 00:06:54
4352
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人