本帖最后由 守得云开见月明 于 2018-6-12 20:03 编辑
这一篇帖子讲讲对于技术的总结,主要是对于我自身这些天学习下来比较容易混淆、犯错的一些地方做出的一个总结. 第一、关于四则运算这块,byte short char这三种类型混合运算时,会被先提升为int,然后再四则运算,因此当等号左边的类型小于等号右边时,需要强制类型转换.而复合赋值运算符有一个好处就是隐含了一个强制类型转换,不需要手动强转. 第二、编译器的常量优化,在给变量进行赋值的时候,如果右侧没有变量,只有常量,且不超过左侧范围,编译后得到的.class已经知道结果,那么被正确赋值 第三、方法调用时返回值为void的时候 只能使用单独调用 第四、关于内存中栈、堆、方法区的区分: 栈(Stack):存放的都是方法中的局部变量,方法运行一定要在栈当中 堆(Heap):new出来的都在堆中,堆内存里面的东西都有一个地址值:16进制,堆内存里面的数据都有默认值 方法区:存放的都是.class文件. 第五、String[] 都是由byte转换过来的 Byte[] b={66,67,68}; String s=new String(b); 输出结果为BCD 第六、泛型只能是引用类型 第七、ArrayList这块知识点都清楚了但代码熟悉度不够,需要多敲代码提升熟练度. 对于ArrayList集合来说,直接打印得到的不是地址,而是内容 如果内容是空,得到的是空的中括号,因为默认输出toString 如果希望向集合ArrayList中存基本类型数据,必须使用包装类 这是课上的笔记,另外再补充一点: 如果ArrayList里面放的是对象,那么直接打印的内容是对象的地址值 特殊包装类: int Intger char Character 自动装箱:基本类型--->包装类型 自动拆箱:包装类型--->基本类型 注意事项: ArrayList 的尖括号中的只能用 【引用类型】 不能用基本数据类型, ArrayList 尖括号中的类型一旦确定,下面添加数据必须和尖括号中的类型一致 编译错误:就是在IDea 中出现红色下划线的 不能运行 运行错误 在IDea中没有错误,可以运行,但是在控制台会打印错误
最后附上这些天课堂练习的错题,开班到现在基本都是全对,还是比较满意的,下面的比较惭愧,当时发现做错的第一时间反应的答案错了,结果都是由于自己不仔细导致,不仔细的原因还是代码熟练度不够,敲的不够多. 观察下列代码,选出正确答案:( ) ArrayList<int> al = new ArrayList<int>(); al.add(11); al.add(22); System.out.println(al.get(al.size()-1));
A:编译失败 B:[11] C:22 D:运行报错
观察下列代码,选出调用getList方法正确答案:( ) getList(); //调用方法 public static ArrayList getList(){ ArrayList<String> list = new ArrayList<String>(); list.add("aa"); list.add("bb"); }
A:编译报错 B:"bb" "aa" C:"aa" "bb" D:运行报错
|