数组和枚举

数组和枚举

数组

数组的定义:可以存储同种类型的多个值。

格式一:数据类型[] 数组名----int [] array
格式二:数据类型 数组名[]----int array[]

数组的初始化:

就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程

静态初始化:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3…};

int[] array = new array[]{11, 22, 34};
//简写模式:数据类型[] 数组名 = {元素1, 元素2, 元素3...};

数组一旦定义就确定了。
在创建打印之后出现的是地址–[I@446cdf90
[:表示当前是一个数组
I:表示当前数组里面的元素都是int类型的
@:表示一个间隔符(固定格式)
446cdf90:才是数组真正的地址值(十六进制)

动态初始化:
数据类型[] 数组名 = new 数据类型[“需要的内存空间”]

int[] num = new int[10];
//表示创建一个长度为10的数组

数组动态初始化

//相关案例:数组存储学生成绩,并计算平均分
package array;

import java.util.Scanner;

public class AvgScore {
	public static void main(String[] args) {
		int[] scores = new int[10];
		Scanner scan = new Scanner(System.in);
		int sum = 0;
		for(int i = 0; i < scores.length; i++) {
			System.out.println("请输入学生分数!!");
			int score = scan.nextInt();
			scores[i] = score;
			sum += scores[i];
		}
		System.out.print("平均分是:" + (double)sum/scores.length);
	}
}
//输入输出结果:
请输入学生分数!!
88
请输入学生分数!!
89
请输入学生分数!!
66
请输入学生分数!!
54
请输入学生分数!!
32
请输入学生分数!!
90
请输入学生分数!!
100
请输入学生分数!!
88
请输入学生分数!!
79
请输入学生分数!!
60
平均分是:74.6

更多关于数组的知识可了解:

https://blog.csdn.net/LXMXHJ/article/details/122324971

枚举

关键字:
enum, 是enumeration:列举的缩写
使用枚举可以限制一定的范围,如果程序由一组固定的常熟组成,考虑Enum类型,减少出bug的可能性。例如:一年中的季节、操作计算器、用户状态。

案例:

基本枚举案例:
1.
package novice.tutorial;
/**
 * 枚举相关内容,
 * @author XRY
 *
 */


public enum enumeration {
/**
 * 
 * 基本枚举
 */
	PENDING,
	ACTIVE,
	INACTIVE,
	DELETED;
	
}

package novice.tutorial;

public class TestEnum {
	/**
	 * 测试类
	 */
	public static void main(String[] args) {
		//ACTIVE
		System.out.println(enumeration.ACTIVE);
	}
}

2.枚举 + 实例对象
package novice.tutorial;

public enum WhoisRR {
	ARIN("whois.arin.net"),
	RIPE("whois.ripe.net"),
	APNIC("whois.apnic.net"),
	AFRINIC("whois.afrinic.net"),
	LACNIC("whois.lacnic.net"),
	JPNIC("whois.nic.ad.jp"),
	KRNIC("whois.nic.or.kr"),
	CNNIC("ipwhois.cuuic.cn"),
	UNKNOWN("");
	
	private String url;
	
	WhoisRR(String url){
		this.url = url;
	}
	
	public String url() {
		return url;
	}
}

//测试类
package novice.tutorial;

public class Test {
	public static void main(String[] args) {
		//whois.arin.net
		System.out.println(WhoisRR.ARIN.url());
	}
}


3.枚举+方法+一些逻辑
package novice.tutorial;

public enum Operation {

	    PLUS,
	    MINUS,
	    TIMES,
	    DIVIDE;
	 
	    double calculate(double x, double y) {
	        switch (this) {
	            case PLUS:
	                return x + y;
	            case MINUS:
	                return x - y;
	            case TIMES:
	                return x * y;
	            case DIVIDE:
	                return x / y;
	            default:
	                throw new AssertionError("Unknown operations " + this);
	        }
	    }
	 
}
//测试类
package novice.tutorial;

public class TestOperation {

    public static void main(String[] args) {
 
        double result = Operation.PLUS.calculate(1, 2);
        System.out.println(result); //3.0
 
    }
}

补充知识
foreach循环:

可以在不使用下标的时候遍历数组

//格式:
for(type element: array)
{
    System.out.println(element);
}


//示例
package array;


public class TestArray {
   public static void main(String[] args) {
      double[] myList = {1.9, 2.9, 3.4, 3.5};
 
      // 打印所有数组元素
      for (double element: myList) {
         System.out.print(element + " ");
      }
   }
}

//输出结果:
1.9 2.9 3.4 3.5 

循环知识

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值