码讲——java基础,变量和表达式
2015-06-29 21:55
351 查看
//======================Java基础知识====================== public class Base { private static final long LEVEL = 20150701; //=======================变量====================================== private int v;//实例变量不进行显式初始化则有默认值 //@Test public void test1(){ /* * 可以直接为char赋值数值 * 但不能将一个数值类型的变量或负数赋给char */ byte a =10; char b = 10; //char c = a; //编译出错,不能存变量 //char d = -10; //编译出错,char不能为负 /* * char可以赋值给一个表示范围比他小的基本类型 * 只要char值不超过基本类型的范围 * 而其他类型是不可以的 */ char c= '\uffff'; int i = c; short k = '大'; //short j = '达';//编译错误 //short l = i; //编译错误,不能将int赋值给short } @Test public void test2(){ /* * 实例变量如果不进行显示的初始化,则会初始化为默认值。 * 局部变量则必须在使用前进行初始化。 * 分析原因: * 实例变量和对象存存储在堆内存中,堆内存特点是可以存放未知大小的数据, * 每次放入数据都会开辟新的空间,新空间放入的初始数据都是二进制0, * 当所以没有初始化的实例变量,初始值是0(0代表false) * 局部变量存放于栈内存中,栈内存会维护一个指针用于实现栈的后进先出操作, * 如果定义一个局部变量而不为其赋值,指针会移动,但是由于指向的位置并不是新开辟的 * 而是不使用的,所以该变量的值将会变为随机值,这种情况是不能出现的 * 因此放入栈内存中的数据必须知道其数据的具体内容以便移动指针后改变指针处的数据 */ int a; System.out.println("未初始化的实例变量v:"+v);//输出:未初始化的实例变量v:0 //System.out.println("未初始化的局部变量a:"+a);//编译错误,局部变量使用前必须初始化 } //===========================数组=================================== public void testArr(){ /* * 数组一旦赋值哪怕是null,就不能再改变 */ int[] err = null; err = new int[]{}; //等同于null //int[] crr = new int[]; //编译出错 数组只要new就必须初始化容量 //err = new int[2]{1,2}; //编译错误,数组已被定义为null,不能再改变 //err = {1,2}; //编译出错 同上 /* * {}只能用于为数组初始化 */ int[] brr = new int[2]; //brr = {1,2}; //编译出错,应在new数组时使用 /* * 理解多维数组 */ //int数组类型的数组,第一个[]后理解为某类型 int[][] arr = new int[3][]; //可只定义最后一维的数组大小,后期再初始化其内容,和使用一维数组一样 arr[0] = new int[2]; arr[1] = new int[3]; arr[2] = new int[2]; arr[1][0] = 100; } }
相关文章推荐
- 《Java程序设计》第17周课程设计:《猜猜看》游戏 第一天
- JAVA设计模式初探之装饰者模式
- 用java Swing写一个最简单的图形框
- SpringMVC自定义多视图解析器
- J2EE之EJB
- eclipse + libsvm-3.12 用SVM实现简单线性分类
- Java static属性和静态代码块和构造方法等的执行顺序探讨
- javaapi中的排序
- Java实现栈和队列
- spring 源码解读与设计详解:8 Spring配置文件的读取与容器装配详析
- 如何从零开始学习Java语言
- spring 源码解读与设计详解: 7 BeanDefinitionParserDelegate深入解读
- Java基础总结之反射
- Spring-mvc传参数
- sphinx 中的注解,及java Annotation 总结
- Java学习03--变量的强制转换、字符运算
- Struts中的常量
- SAX读取xml文件的方法总结
- sh_Spring整合Hibernate
- scala与java对比学习(一)