Java初学笔记

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虚拟机会不定时的运行垃圾回收机制 进行清理。











你可能感兴趣的:(java学习笔记,java)