摘要:
1.二进制转换成十进制 使用8421快速转换法 使用方法: 1.从右往左写出8421表格(就是每个数字都*2) 2.二进制数从右往左依次对应8421表格 3.二进制的数中,0不取,1取 4.将取出来的数进行相加即可 2.二进制的原码、反码、补码 1.原码:是数据的二进制体现形式,一个字节由8个二进制 阅读全文
摘要:
数组元素反转 1.实现方法一 问题一:如何将数组的元素进行反转? 我们发现,如果将数组0号索引的元素与最后一位索引的元素互换,1号索引与倒2索引元素互换......以此类推,这样就可以实现数组元素的反转 . 但是,虽然知道了反转的方法,但是我们该怎么将所有的元素都进行反转呢?一个一个手打,实在不现实 阅读全文
摘要:
1.数据交换 将a的值和b的值进行交换 积累思路:今后只要涉及到数据交换,就要联想到第三方变量 . 2.面试题:实现两个变量的数据交换,不允许定义第三方变量 . 在完成这道面试题之前,我们需要了解一个新的知识,关于异或,异或还有第二个特点 . 异或可以用来操作数据的运算 但它并非简单的加减运算 而是 阅读全文
摘要:
1查找元素在数组中的索引 细节优化 如果我们输入的元素是数组中第一个元素,如:19 第一次循环便找到了结果,就没有继续循环的必要了,否则浪费时间,所以加入break,优化代码 注意:这里不能把键盘录入写进方法里,因为我们把num作为形参了,形参必须要在主方法里赋值,即实参,如果方法里面定义了num就 阅读全文
摘要:
1.为什么要有带参数的方法? 因为我们之前学的方法太过死板,将变量定义死了,如果要换其他变量就得重新书写代码,十分麻烦 而带参数的方法就不需要重复写代码,可以使用任意的数运算 . 2.定义格式 3.解疑 所谓参数,不过就是变量 4.实操 5.实参和形参 刚才实操中,a和b就是形参,而12和35是实参 阅读全文
摘要:
1.案例:打印出1~100满足逢7必过规则的数据 2.案例 3.案例 知识 如果我们直接写arr1=arr2,是否可以解决这些麻烦的操作呢? 答案是不行,我们需要知道 . 基本数据类型:比较数据值 引用数据类型:比较地址值 . 数组是引用数据类型,虽然arr1和arr2的元素是一样的,但根据内存图的 阅读全文
摘要:
1.案例 这样写过于死板,为了灵活,我们加上形参 2.案例 3.二维数组的动态初始化格式 如图,我们输入了的数组打印出的就是我们要的元素,而其他未赋值的数组则是按照默认值打印 但是这样一个一个输入过于麻烦,能否将创建好的一维数组,存入二维数组? 如图 答案是可以 . 我们通过内存图来分析上图的流程 阅读全文
摘要:
1.二维数组介绍 使用场景 班上考试成绩出了,男生成绩和女生成绩要统计,如果按照之前一维数组来算,一大包分数杂在一起很麻烦,不易区分,所以这时我们就可以将男生成绩和女生成绩分为两个数组,然后再用一个大数组将其装进去,即二维数组 2.二维数组静态初始化格式 推荐这样写 细节:二维数组在存储一维数组的时 阅读全文
摘要:
1.面试题:问两次打印的number是多少? 通过内存图来分析流程 main进入栈内存,定义了变量,栈内存给相应的空间,打印。 调用change方法,change进入栈内存,形参在内存中也属于变量,所以栈内存也要给相应的空间,你给形参什么,形参就记录什么,在调用change方法的时候,我们把主方法的 阅读全文
摘要:
1.java内存分配介绍:灰色字体的不需了解 2.对数组内存图流程分析 1.原文件翻译成字节码进入方法区待命,main被jvm自动调用进栈内存,接着执行main里的代码,变量是内存中的存储空间,因此arr开辟空间。 注意:我们写的简化静态初始化只是简化了代码书写,真正运行时还是按照完整格式运行。 有 阅读全文