标签:Java continue int 数据类型 ele 循环 数组
第一题:36 生成 7意思就是说:给出一个大小为7的数组,要求这个数组的每一个元素都是互不相同的,分布在[1, 36]的随机数,并且要求使用增强for循环输出这个数组。
我的解决方案:
import java.math.*;
@SuppressWarnings("unused")
public class Main3 {
public static void main(String[] args) {
int[] ele = new int[7];
for(int i = 0;i < ele.length;++i) {
Here:
while(true) {
int Temp = (int)(Math.random() * 36.0) + 1;
for(int j = 0;j < i;++j)
if(Temp == ele[j])
continue Here;
ele[i] = Temp;
break;
}
}
for(int num : ele)
System.out.print(num + " ");
}
}
运用知识点总结:
第一:数组是一个引用数据类型
数组是一个引用数据类型,所谓引用数据类型,就是说数组的每一个元素实际上都只是一个地址(作为变量放在栈区),这个地址指向一个对象实体(这个实体放在堆区)。然后我们无论是声明怎样数据类型的数组,都采用new的方式动态声明,但是初始化是可以动态也可静态的。这样声明的数组如果没有赋予初值,就遵守这样的规则:如果是普通数据类型的数组,就初始化为0,对象数据类型的数组就初始化为NULL。
第二:数组的遍历
因为数组是一个引用类型,这就说明数组本身也是一个对象,所以数组的属性不光有数组的元素值(指向实体的地址),还有别的属性,比如:length!这个属性很好用,在数组声明的时候,会根据数组声明时候开辟了多大的空间而自动初始化属性值length。
然后在遍历的时候就可以以属性length为循环的次数!
第三:增强for循环
Java里面引入了增强for循环,这样的for循环的坏处是:这个for循环内只能做读操作,不可以写入,也就是说这个for循环内只能对数据进行输出而不能进行访问和修改!语法格式是:
for(Type ele : array)
System.out.println(ele);
注意这个ele才是遍历数组的数值,输出的也是ele,而不是array[ele]!!
第四:以continue后面加标签代替c++的goto语句!
上述代码中我们使用了continue后面加标签的形式,这个标签要先声明,表示满足continue条件后需要到达的位置!这里很明显我们遇到了重复值是需要重新进入循环的,于是我们的标签就放在循环的签名,注意声明标签的后面加冒号!
标签:Java,continue,int,数据类型,ele,循环,数组 来源: https://blog.51cto.com/u_15262702/2883284
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。