自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

木申的博客

木申申的博客

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

原创 辗转相除法和更相减损法 定义,原理,Java实现以及优化

要求两个正整数的最大公约数有两种方法,辗转相除法和更相减损法。注:gcd(a,b)代表a和b的最大公约数。辗转相除法的定义:对于两个正整数a和b,其中a>b,r为a除以b的余数,gcd(a,b) = gcd(b,r);原理:设a,b的最大公约数为u,a = u · t1; b = u · t2; (t1 , t2 为某个数,满足等式要求,是多少并不重要,一定存在,因为u为a,b的...

2018-08-29 20:31:18 2576

原创 静态变量为什么不能使用this关键字

public class Student{ //定义一个静态变量,名为a static int a;}静态变量(static 所修饰的变量),是在程序运行之前,也就是编译阶段,分配内存。void test(){ this.a = 1;}而this关键字的意思是,当前对象的a,也就是说,必须要有对象才能用this。而对象的产生,必须在程序运行时,通过n...

2018-08-28 15:01:16 3711 5

原创 面向对象的理解

//面向过程方法1(){ ... 方法2()}方法2(){ ... 方法3()}方法3(){ ...}//面向对象对象.方法1();对象.方法2();对象.方法3(); 

2018-08-28 09:57:26 94

原创 为什么Java数组长度不可改变?

数组的内存是连续分配的;int [] array = {1, 2 ,3};假设数组内存如上图所示,那么当我们增加数组长度时,就可能导致别的变量被覆盖,导致出错。这时,有人会想,那减少长度也是可以的呀,但是这会出现一个现象,那就是突然,空出来一个内存空间。如果内存空间一开始就分配好,那么会符合整体布局,这个空间可以和别的空间组合,变成一块更大的空间。如下图所示:综合上...

2018-08-22 13:59:08 9335

原创 Java 变量定义中的内存分配问题

int a = 1; Java 到底干了什么。1是一个数值型变量,会直接放在栈中,如下图所示:           第一:先看看栈中是否有1,没有,则划分一个区域,存放1,a指向1.指向的意思一直没搞定,终于想通了,意思是 a 就是 1的地址,不是a等于1的地址,在后续的编译过程中,会把a替换为1的地址。如果理解为a等于1的地址,那么...

2018-08-22 09:25:49 465 1

原创 java == 与 equals 的问题

提出问题:在控制台输入男,进行判断,判断为false,不输出 性别为男Scanner sc = new Scanner();if(sc.next() == "男"){ system.out.println("性别为男");}预备知识:java分为值类型和引用类型。java存储空间分为栈和堆。结论:==判断的是地址是否相同,而equals判断的是地址对应的值是否...

2018-08-21 19:14:12 137

原创 计算机补码的理解

提出问题:计算机本质上是二进制电路,比较好作加法,但是不好作减法,人们需要将减法转化为加法。预备知识:负数的表示,计算机使用最高位代表符号位,如1001 = -1,0001 = 1。1 + (-1) = 1001 + 0001 = 1010 = -2,出现错误。说明在二进制中,不能直接在正数前面添负号,将它变为负数。来试试一个方法,数学中负数完整的表示为 -2 = 0 - 2;那么...

2018-08-21 18:38:13 173

原创 Java清晰逻辑和调理的代码的怎样的

一个简单的问题,判断润年还是平年?下面两段代码同时解决这一个问题:Scanner sc = new Scanner(System.in);int year = sc.nextInt();if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { System.out.println("是闰年");} e...

2018-08-21 17:43:54 398

原创 为什么32位系统只能支持4G内存

预备知识:内存:计算机有两个存储空间,一个叫内存,一个叫硬盘;区别?试想,玩游戏时加个硬盘,能提高游戏性能吗?不能,但加内存可以,因为CPU只能直接操作内存,不能操作硬盘。玩游戏时,或者用软件时,都有个加载过程,就是把硬盘里的内容,传输到内存。32位:内存地址的位数。byte与bit:一个bit就是一个二进制位,如1111 0000,就是8bit,也叫8位;1byte = 8 bit,...

2018-08-21 10:23:23 2796

原创 十进制乘法 位移运算 的表示

在计算机中 如何计算十进制25 * 10?预备知识: 4(十进制) * 2 = 100(二进制) * 2 =  100(二进制) << 1(左移一位) = 1000(二进制) = 8 (十进制)可以自行演示4(十进制)* 4 ; 得到的结论为 左移 1 位,即乘以2,左移两位,即乘以4,依次类推。右移即除。25 * 10 = 25 * 8 + 25 * 2= 转二进...

2018-08-21 09:39:52 3824

原创 Java注释与代码风格

package com.woniuxy.leassionFirst; //导入包,包括所需要的资源/* * author: InvisibleDes * time: 8/20/2018 *//** 类的注释;这种地方,只能写class+名字 **/public class MainClass {    /* 方法的注释;这种地方,只能写声明语句或者方法 */    int a;...

2018-08-20 11:57:58 807

原创 Eclipse--Java代码快速输入-template模版的使用

在使用Java的过程中,发现有许多代码需要重复输入,最常见的就是System.out.println(" ");。为了解决这个问题,Eclipse提供了一个template的功能,可以通过暗语的形式,快速输入。示例使用过程如下:第一步,进入Java Template页面第二步,找到名称为sysout的东东,双击,进入如下页面第三步,理解它,其实就是你只要输入sysout...

2018-08-12 11:59:51 1031 1

原创 Eclipse 修改包名错误

刚刚开始学习java,在使用eclipse的时候,偶然想修改src下一个包的包名,然后出现错误。错误信息为problem encountering while moving resources,很直白,没有任何提示。重要的是,这个错误无法重现。我只能说明我的处理方式:新建一个包; 选择原来包中的文件,右击,选择Refactor,再选择move; 移动到新包; 这时会发现,原来...

2018-08-06 10:23:30 4122

空空如也

空空如也

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

TA关注的人

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