一、创建整型的数组:
1、数组类型【】+数组名 = {value,value,value};
int[]a = {4,5,6,7,8,3,4,3,2};
2、创建数组列表(动态增删元素)
数组列表名 list = new 数组列表名<>();
ArrayList<Integer> list = new ArrayList<>();
list.add(100);//向其中增加元素,可重复添加
...
System.out.println(list);//可换行输出
list.remove( 2);//使用下标访问列表中的值并移除,实现删除功能
运行效果如下:

那么当我们需要查看列表中完整数据应该怎么实现呢?
3、for循环遍历输出数组
3.1、利用传统for循环遍历数组列表
//
for(int i = 0; i < a.length; i++){
System.out.print(a[i] + " ");
}
System.out.println();
//
for (int i = 0;i<list.size();i++){
System.out.print(list.get(i)+" ");
}
System.out.println();
3.2、利用增强for循环遍历数组
//
for (int x:a){
System.out.print(x + " ");
}
System.out.println();
for (Integer x:list){
System.out.print(x + " ");
}
4、清空列表
list.clear();
5、对数组a做去重工作
list.add(a[0]);
for (int i = 1; i < a.length;i++){
boolean isRepeated = false;
for (Integer x : list){
if (a[i] == x){
isRepeated = true;
break;
}
}
if (!isRepeated){
list.add(a[i]);
}
}
//输出去重之后的数据元素
System.out.println(list);
输出结果为:[4,5,6,7,8,3,2]
【课后作业1】编写程序实现“1+2+3+…+99=”的值的输出
//方法1
package net.lesson07;
public class value {
public static void main(String[] args) {
int sum = 0;
for (int i = 1; i <=99;i=i+2){
sum = sum + i;
}
System.out.println("1+2+3+...+99="+sum);
}
}
//方法2
package net.lesson07;
public class value {
public static void main(String[] args) {
int sum = 0;
int i = 1;
while( i <100){
sum = sum + i;
i=i+2;
}
System.out.println("1+2+3+...+99="+sum);
}
}
下面具体感受一下java中for 循环和while循环的区别:


那么如何保存数组中并不重复的元素呢?
package net.lesson7wek6;
/**
* 任务:保留数组中并不重复的元素
*/
import java.util.ArrayList;
public class NoRepeat {
public static void main(String[] args) {
//创建整型数组
int[] a = {4,6,7,2,4,5,6,7,8,9,0,9,9};
//创建数组列表(动态的增删元素)
ArrayList<Integer> list = new ArrayList<>();
list.add(100);
list.add(200);
list.add(300);
list.add(400);
//利用传统for循环遍历数组列表
for(int i = 0; i < a.length; i++){
System.out.print(a[i] + " ");
}
System.out.println();
//利用增强for循环遍历数组
for (int x:a){
System.out.print(x + " ");
}
System.out.println();
//利用传统for循环遍历数组列表
for (int i = 0;i<list.size();i++){
System.out.print(list.get(i)+" ");
}
System.out.println();
//利用增强for循环遍历数组
for (Integer x:list){
System.out.print(x + " ");
}
System.out.println();
//清空列表
list.clear();
//对数组a做去重工作
list.add(a[0]);
for (int i = 1; i < a.length;i++){
boolean isRepeated = false;
for (Integer x : list){
if (a[i] == x){
isRepeated = true;
break;
}
}
if (!isRepeated){
list.add(a[i]);
}
}
//输出去重之后的数据元素
System.out.println(list);
}
}
课后练习:打印输出200~500之间的质数,每五个之后换行输出,代码如下:
package net.lesson7wek6;
public class Print {
public static void main(String[] args) {
int primeNumber = 0;
for(int i = 200 ;i <= 500;i++){
boolean isPrime=true;//是否是质数的标志
for(int j=i-1;j>1;j--){//n除以每个比n小比1大的自然数
if(i%j==0){//如果有能被整除的,则不是质数
isPrime=false;
}
}
if(isPrime){//如果是质数,则打印出来
System.out.print( i + " ");
primeNumber++;//记录质数的个数
if(primeNumber%5==0){
//输出5个质数后换行
System.out.println();
}
}
}
}
}
1001

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



