Java初学笔记

来源:互联网 发布:软件定制开发 编辑:程序博客网 时间:2024/05/04 01:31

1、交换两个变量的值:【常用方法1/3,func2可能存在溢出的风险】

class Demo{public static void main(String[] args){int n=3, m=8;System.out.println("n="+n+"m="+m);/*---------fun1-------*/int tmp ;tmp = n ;n = m ;m = tmp ;System.out.println("n="+n+"  m="+m);/*---------fun2-------*/n = n + m ;m = n - m ;n = n - m ;System.out.println("n="+n+"  m="+m);/*---------fun3-------*/n = n^m;m = n^m;  //(n^m)^m =原n --> m , 现在m中存的原n的值n = n^m;  //(n^m) ^ (n^m^m) =原m -->n, 现在n中存的是原m的值System.out.println("n="+n+"  m="+m);/*常用fun1/fun3 , 不会存在溢出的问题*/}}


2、swich语句中,default 和 case的书写顺序不固定,执行顺序是固定的。

程序跳出swich语句的条件是:遇到 break 或 遇到 }

如果default书写在case语句之前,并且后面没有跟break。-->若执行default语句,则,执行执行后面所以可以执行的语句,遇到break或 } 跳出swich语句段;此时不再判断default后面的case语句。

break 和 continue 只能用于循环语句才有效:

break : 跳出当前循环。

continue : 跳出本次循环。


3、无线循环最简单的表现形式:

/*无线循环最简单的表现形式*/for(;;){}while(true){}


4、标号 使用的小技巧:

/**有循环嵌套时,可以通过设置:标号配合break语句,在不同的条件下,跳出不同层次的循环。*/class LabelDemo{public static void main(String[] args){w:for(int x=0; x<3; x++){q:for(int y=0; y<4; y++){System.out.println("x="+x+" y="+y);if(x == 1)break q; //跳出标号 q 对应的循环if(x == 2)break w;  //跳出标号 w 对应的循环}}}}


5、函数:

修饰符 返回值类型函数名(参数类型1 参数1,参数类型2 参数2,......)

{

执行语句;

return 返回值;

}


6、函数重载:

同一个类中函数名相同参数个数参数类型不同,与返回值类型无关。

好处:方便阅读,优化程序设计。


7、java中的数组:

/*数组:元素类型[] 数组名 = new 元素类型[元素个数或数组长度]x的类型为:数组类型 , 而不是int型*/int[] x = new int[3]
/*-数组的3中初始化方法-这3中方法都会在堆空间中开辟空间,存放实体-*//*-------------*/int[] arr1 = new int[]{1,2,3,4};/*-------------*/int[] arr2 = {1,2,3,4};/*-------------*/int[] arr3 = new int[4];arr3[1] = 1;arr3[2] = 2;
/*-- 获取数组的长度 --*/System.out.println("arr1 length"+arr1.length);




8、内存空间:【栈】【堆】

栈:里面存放的都是局部变量。

栈内存中,为每一个函数方法开辟了一个栈内存空间,用于临时存放方法中定义的局部变量、引用对象,使用结束后会被释放。


堆:里面存放的是 实体 全局变量

堆空间中的每一个实体都会对应有一个地址值,该地址值一般会赋值给内存中的变量,便于对堆空间中的实体进行引用

堆内存中的实体值,都有默认初始化值,比如 0。


例:int[] x = new int[3];


new int[3] : 堆内存中会开辟空间 存放该创建的实体,开辟出来的该空间会对应一个内存地址值,该地址值赋值给了 栈空间中的引用对象 x 。


x : 为引用对象,类型为数组类型,存放在栈内存空间中,指向堆空间中的实体;

给引用对象赋值为null可以断开与堆内存中实体的关系,此时,若堆内存中该实体 不被任何引用对象引用了 的话,便成了垃圾,一段时间后,Java虚拟机会不定时的运行垃圾回收机制 进行清理。











0 0
原创粉丝点击