static关键字的作用

static是一个修饰符,用于修饰成员(成员变量和成员函数): 1.当static修饰成员变量:         static修饰成员变量是解决数据的共享问题,static修饰的数据是每个对象共享 的数据。如果所有对象中某一个属性的值是一样的,那么在内存中会造成大量的数据重复,所以我们可以把这...

2017-05-10 09:55:59

阅读数 470

评论数 0

this关键字的作用

在Java中this关键字的作用有两个: 1.当成员变量与局部变量同名时,用来区分成员变量和局部变量; 2.在构造函数中调用构造函数。 下面我们来详细解释一下这两句话: 1.区分成员和局部变量: 有时我们为了让变量更具有语义化,经常会出现成员变量和局部变量同名的问题,这时候...

2017-05-06 20:49:34

阅读数 1381

评论数 0

基本数据类型和引用数据类型的参数传递

基本数据类型参数传递:            主函数进栈,定义x变量并赋值;调用show方法,show方法进栈,定义变量x;将参数x赋值给show方法中的x,此时show方法中的x为3;将show方法中的x赋值为4; 默认有一个return语句,结束函数,show方法出栈(弹栈);...

2017-05-02 21:08:34

阅读数 359

评论数 0

对象在内存中是如何体现的

关于对象在内存中的体现,我们还是要先提到堆和栈的概念,这里就不详细说了,可以转至:        http://blog.csdn.net/pt666/article/details/70876410        我们用三个例子来说明对象在内存中的创建以及引用型变量如何与对象联系起来:    ...

2017-05-02 17:17:39

阅读数 345

评论数 0

冒泡排序和选择排序以及选择排序的优化

冒泡排序:两个相邻的数据两两相比,如果是从小到大排列,将较大的数据换位到较小数后面,这样第一轮结束,最后一个数据是最大的数据,因为总是把较大的数据换到后面,再进行第二轮,第三轮(此时已经排好序的数据可以不再参与排序,提高效率)......当第二个数据确定时,第一个数据也就确定了,排序结束。大圈套小...

2017-05-02 08:10:07

阅读数 278

评论数 0

二分查找

当一个数组需要用到查找方法时,可以遍历整个数组,找到相等的值返回下标,这种方法效率比较低。如果这个数组是有序的,我们可以使用二分查找(折半查找)。二分查找是将数组不断的分成两段,判断我们要找的数据与中值是否相等。      如果我们有这样一个数组 int [] arr={0,10,20,...

2017-05-01 16:10:50

阅读数 258

评论数 0

堆和栈的概念和区别

在说堆和栈之前,我们先说一下JVM(虚拟机)内存的划分:       Java程序在运行时都要开辟空间,任何软件在运行时都要在内存中开辟空间,Java虚拟机运行时也是要开辟空间的。JVM运行时在内存中开辟一片内存区域,启动时在自己的内存区域中进行更细致的划分,因为虚拟机中每一片内存处理的方式都不...

2017-04-27 19:06:37

阅读数 134353

评论数 39

不一样的for循环

提到for循环,我们肯定就想到一种写法:for (int x=0;x<3; x++) { System.out.println("这是循环体"); } 这是一种很常见的写法,但是使用for循环,我们都形成了一种固化的思维,其实for循环也可以很不一样。...

2017-04-24 19:39:24

阅读数 287

评论数 0

不用第三方变量如何交换两个数的值

如果要交换两个变量的值,我们首先想到的就是定义一个第三方变量暂存其中一个变量的值:                   如果我们不使用第三方变量怎么交换两个变量的值呢?          1.利用两数之和减去另一个数的方式:                   这样也能成功交换两...

2017-04-23 19:59:15

阅读数 5150

评论数 0

运算符&与&&,|与||的区别

&和 | 既是逻辑运算符也是位运算符,而&&和||只是逻辑运算符。          一.(1)当&与&&同为逻辑运算符时,它们都用于连接两个Boolean类型的表达式,当&和&&的两端表达式同时为真时,表达式的结果为真,只...

2017-04-23 17:03:11

阅读数 37265

评论数 0

a++ 与++a在内存中的正确姿势

我们平时解释b=a++与b=++a是这样解释的:         b=a++是先把a的值赋给b,然后a自加1;         b=++a是a先自加1,在把值赋给b。         那么如果a=3:         b=a++计算后b=3,a=4;         b=++a计算后b=4,a=4...

2017-04-22 21:46:00

阅读数 1011

评论数 3

隐含强制类型转换——从变量说起

隐含强制类型转换:顾名思义,看不见的强制类型转换,关于这个问题,我们先来读懂一句话:          byte b =3;          我们知道一个整数的默认类型int类型,没错3是int类型,当把3赋值给b的时候,其实默认有一个强制类型转换,编译器判断3在byte类型的范围之内,强制把3...

2017-04-22 18:30:54

阅读数 1287

评论数 0

Java的环境配置

Java的运行环境是JRE,Java的开发环境是JDK,JDK也包含了Java的运行环境JRE,包括Java编译器,Java运行环境,Java文档生成工具,Java打包工具等。作为开发者而言,我们首先要学会配置Java环境,JDK的下载安装就不用说了,去Oracle官网下载,完全的傻瓜式安装。下面...

2017-04-21 23:22:17

阅读数 171

评论数 0

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