今天不是我学习java的第四天,我13年12月开始学的。。。
几个月过去了,javaSE还没学完。
1.什么是大圈套小圈的思想呢?
就是两个for循环的嵌套。在打印特殊图形时,外循环决定着行数,而内循环则决定着每一行中的个数。
2.java中的break和continue与c中有何区别?
break是退出当前循环,当break语句单独存在时,break后面不要定义其他语句,因为执行不到。
continue是跳转当前循环,并不结束循环,只是跳过此次重复进行的动作,进行下次的重复动作,continue与break一样,后面不要定义其他语句,。
都会出现编译错误。
在java中可以给for循环设置一个语句标号,使用break和continue可以作用于外循环,而c中并没有这种结构,会出现编译错误。
3.函数是什么,如何定义一个函数呢?
函数其实就是一个功能,具体代码封装在函数内,函数如同工具,完成某一项任务。
1,首先你要明白这个功能的结果是什么,是什么类型的。
即就是要明确函数的返回值类型。
2,明确这个实现过程是否传递需要一些东西到函数内。
即就是明确函数的参数
4.什么是函数重载?
具有相同的功能的一系列函数,可以使用重载,是用来解决代码的重用性。
1,同属一个类中。
2,函数名相同。
3,函数参数不同(参数的个数不同,参数的类型不同(参数顺序不同))
4,函数重载与函数的返回值类型无关。
5,java是严谨语言,如果函数出现了调用的不确定性,就会编译失败。
5.java中如何定义一个一维数组呢?
java中数组属于引用数据类型。
定义的格式:
元素类型[] 数组名 = new 元素类型[元素个数或数组长度];
一维数组可以不指定数组长度, 如: int array[] = new int[]{1, 2, 3};
或 int array[] = {1, 2, 3};
6.java中定义数组有什么问题?
对于int[] arr = new int[3];
首先在栈内存中加载局部变量arr, 然后再在堆内存中加载一个有三个int类型的内存空间,将这个内存空间的首地址赋值给arr, 此时arr
就指向了这个数组了,可以通过arr来引用数组中的内容,arr 就相当于一个指针。
7.局部代码块的作用?
限定局部变量的声明周期。
内部的变量也将有着自己的作用域。
8.java中内存是怎么划分的?
1.寄存器
2.本地方法区
3.栈内存
栈内存中存储的都是局部变量, 而且变量所属的作用域一旦结束,该变量就自动释放。
4.堆内存
特点:1,每一个实体都有着首地址值。
2,堆内存中的每一个变量都有着默认初始化值,根据类型的不同而不同,整型为0,小数为0.0 或0.0f
char为‘\u0000’ ,boolean 为false, 对象为null
3,堆内存与栈内存不同,对象需要垃圾回收机制来处理内存。而像c++中就需要程序员手动的处理内存释放,其中这些定义在析构函数中。
9.引用数组时的常见错误。
1,数组下标越界: ArrayPointOufBoundsException
2,当引用型变量没有任何实体指向时,如果还在使用该操作实体,就会出现NoPointException
3,打印对象的哈希值。即就是首地址。