java学习(三)
switch语句
java 7之后支持switch表达式的是java.lang.String类型的变量或表达式,但StringBuffer和StringBuilder这两种类型是不允许的
java标签
java标签和其他语言标签类似——一个紧跟着英文冒号的标识符
可以利用这个标签用break从内层循环一次性结束外层整个大循环,也可以用在continue后面用以跳过外层大循环的本次大循环的剩余语句
java类型
分为两大类:基本类型和引用类型
基本类型都存储在栈内
引用类型存储在两部分,一部分在栈中另一部分在堆中(类似cpp的指针和其对应内存)
java数组
java数组初始化
java数组和cpp数组区别挺大的
静态初始化的时候(枚举定义),java不能在数组后面指明长度,这点和cpp是完全不同的
java
静态Type[] array_name = {a, b, c}
静态二维
Type[ ][ ] array_name = {{1,2},{2,3},{3,4,5}};
动态Type[] array_name = new Type[length]
动态二维
Type[][] array_name = new Type[length][]
array_name[n] = new Type[length];
cpp
静态Type array_name[] = {a, b, c}或者Type array_name[length] = {a, b, c}
动态Type* array_name = new Type[length]
java数组实质
java数组是一种引用类型,不论是动态初始化还是静态初始化,Type[] array_name中的array_name仅仅是引用变量,相当于cpp中的指针角色,可以任意改变他们指向的内存,只有这些引用变量存储在栈中,实质的数组都存储在堆当中,而不是像cpp那样实质的数组可以存储在栈里面
比如A[] a = new A[length],就相当于cpp的指针数组a[n]中装的是A*加上一个和n成正比的偏移量
foreach
用于遍历数组和集合,无需知道数组和集合长度
String books[];
for (String book : books)
{
System.out.print(book);
}
类似Python的for A in B ,在需要修改数组元素的值的时候不要使用foreach循环
本文深入探讨了Java语言的关键特性,包括switch语句的使用范围,标签与循环控制的技巧,基本与引用类型的区别,数组的初始化及其实质,以及foreach循环的高效遍历方式。适合Java初学者和进阶者阅读。

被折叠的 条评论
为什么被折叠?



