java学习(三)

本文深入探讨了Java语言的关键特性,包括switch语句的使用范围,标签与循环控制的技巧,基本与引用类型的区别,数组的初始化及其实质,以及foreach循环的高效遍历方式。适合Java初学者和进阶者阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java学习(三)

switch语句

java 7之后支持switch表达式的是java.lang.String类型的变量或表达式,但StringBufferStringBuilder这两种类型是不允许的

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循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值