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虚拟机会不定时的运行垃圾回收机制 进行清理。
- Java初学笔记
- Java数据结构初学笔记
- java初学笔记
- JAVA初学笔记1
- JAVA初学笔记
- Java初学笔记
- Java初学笔记
- Java多线程初学笔记
- Java初学笔记
- Java初学笔记
- Java初学笔记
- java初学笔记
- java web初学,学习笔记
- java Socket编程初学笔记
- java初学笔记(一)
- 初学java的小笔记
- 变量数据类型 | java初学笔记
- 初学JAVA笔记(一)
- SGU 532 Building Foundation(组合计数)
- ZOJ 2853 Evolution (矩阵快速幂+数学)
- java List集合类的用法
- STM32+MS5611测气压温度例程详解,测试无误
- 3-2 wordcount执行流程 wordcount流程
- Java初学笔记
- vim显示^M的解决办法
- 《秦始皇》读书笔记
- RESTFul架构详解
- node-webkit is renamed NW.js
- POJ 1007 DNA Sorting
- 努力,总是会有回报的
- SGU 536 Berland Chess(状压+BFS)
- 开新坑!Android学习-目录