`

进阶Enum

阅读更多
先说下enum这个类

private enum Color 
	{
		
		red(1), blue(3), green(7);
		static int value;
		 Color(int a)
		{
			value=a;
		}
		 public static int getValue()
		 {
			 return value;
		 }
	}

注意
1、enum就相当于一个类!所以最后没有 分号!!(所以可以在内部,或在外部)

2、枚举值 必须放在类的开头!!

3、如果声明变量 如这里的value也只能在 枚举的值的后面!!

4、可以有diy自己的构造函数!但枚举值必须按照构造函数进行 初始化!!

例如这里 如果写个 black  那他会提示错误1!

下面给出一个nb写的
综合运用

public enum Planet {
    MERCURY (3.303e+23, 2.4397e6),
    VENUS   (4.869e+24, 6.0518e6),
    EARTH   (5.976e+24, 6.37814e6),
    MARS    (6.421e+23, 3.3972e6),
    JUPITER (1.9e+27,   7.1492e7),
    SATURN  (5.688e+26, 6.0268e7),
    URANUS  (8.686e+25, 2.5559e7),
    NEPTUNE (1.024e+26, 2.4746e7);

    private final double mass;   // in kilograms
    private final double radius; // in meters
    Planet(double mass, double radius) 
    {
        this.mass = mass;
        this.radius = radius;
    }
    private double mass()   { return mass; }
    private double radius() { return radius; }

    // universal gravitational constant  (m3 kg-1 s-2)
    public static final double G = 6.67300E-11;

    double surfaceGravity() 
    {
        return G * mass / (radius * radius);
    }
    double surfaceWeight(double otherMass) {
        return otherMass * surfaceGravity();
    }
    public static void main(String[] args) 
    {
       
        double earthWeight = Double.parseDouble("175");
        double mass = earthWeight/EARTH.surfaceGravity();
        for (Planet p : Planet.values())
           System.out.printf("Your weight on %s is %f%n",
                             p, p.surfaceWeight(mass));
    }
}

细心的朋友 注意到没???
System.out.printf("Your weight on %s is %f%n",
                             p, p.surfaceWeight(mass));
格式化输出!!
http://lz12366.iteye.com/blog/678613
分享到:
评论

相关推荐

    Enum的用法

    #### 三、Enum的进阶思考 通过上述分析,可以看出`Enum`不仅是一种数据类型,更是一种设计模式,它集成了封装、继承和多态等面向对象编程的核心概念,为开发者提供了强大的工具箱,用以处理固定集合的常量。然而,`...

    C语言进阶(含代码)

    - **特定用途的数据类型**:除了基本数据类型,C语言还支持如枚举类型(`enum`)、结构体(`struct`)、联合体(`union`)等,这些类型用于解决更复杂的数据表示问题,例如结构体可以用来组合不同类型的数据成为一个...

    C# 入门至进阶 C# 入门至进阶

    本教程将引导你从入门到进阶,全面掌握C#的核心概念和技术。 首先,让我们从C#的总体框架开始。在C#中,一个基本的程序通常从`using`语句开始,它导入需要的命名空间,如`System`,这样你就可以使用如`Console`这样...

    C语言进阶训练包

    C语言的关键字包括但不限于`if`, `else`, `while`, `for`, `switch`, `break`, `continue`, `return`, `void`, `int`, `char`, `float`, `double`, `struct`, `union`, `enum`等。这些关键字在程序控制流程、数据...

    swift4.x进阶书籍

    书中的章节可能会深入讲解类型推断、枚举(Enum)、结构体(Struct)与类(Class)的区别、协议(Protocol)以及它们在面向协议编程中的应用。 2. **泛型**:Swift 的泛型允许编写可重用的代码,适用于多种类型。书...

    Java 7编程高级进阶

    9. **改进的枚举类型(Enum Set和Enum Map)** Java 7增强了枚举类型,提供了`EnumSet`和`EnumMap`,它们针对枚举类型进行了优化,提供了高效且内存友好的数据结构。 10. **并发更新集合(Concurrent Collections ...

    Swift 进阶

    同时,探讨枚举(enum)和结构体(struct)的用法,尤其是它们在模式匹配和自定义数据类型中的作用。此外,还将讨论类(class)和继承,以及协议(protocol)和类型别名(typealias)的应用。 Swift的一个独特特性...

    Java 7编程高级进阶源代码

    Java 7编程高级进阶源代码是一份宝贵的资源,它为深入理解和实践Java 7的高级特性提供了丰富的实例。这份源代码集包含了书本中提到的各种复杂编程概念和技术的实现,旨在帮助Java开发者提升技能,从初级阶段跃升至...

    C语言进阶:重点、难点与疑点解析pdf及书中代码

    最后,书中可能还会涉及一些C语言的高级特性,如位字段、类型定义(typedef)、枚举(enum)等,并通过实际的代码示例来阐述它们的使用方法和注意事项。 通过阅读《C语言进阶:重点、难点与疑点解析》并实践其中的...

    c语言从入门到进阶笔记

    - **常量与枚举**:`const`定义常变量,`#define`用于预处理常量定义,枚举(`enum`)可以定义一组命名的整数常量。 - **字符串与字符数组**:使用`%s`和`%c`格式化符分别处理字符串和字符。 - **转义字符**:`\t...

    c语言进阶学习,复习资料

    在C语言进阶学习中,了解各种数据类型是至关重要的。数据类型决定了变量在内存中占用的空间大小以及如何解读这些空间。C语言的数据类型主要包括基本类型、构造类型和指针类型。 1. 基本类型: - `char`:用于存储...

    c语言进阶(很不错)

    不仅包括基本的数据类型如int、char、float、double,还包括枚举(enum)、指针和结构体(struct)。其中,指针是C语言的精髓之一,理解指针的工作原理以及如何使用指针进行动态内存管理至关重要。结构体则允许我们...

    swift进阶-Swift4

    通过枚举(enum)解决魔法数问题,以及可选值的强制解包、隐式解包和哨岗值(guard let语句)的应用场景。 4. 结构体(Structures)和类(Classes):Swift中的结构体和类是值类型和引用类型的基础。书中讲解了写时...

    ios 进阶 建造者模式

    在iOS进阶学习中,理解并熟练运用建造者模式能够提升你的编程技能和软件设计能力。这种模式的主要特点包括: 1. **对象的构建与使用分离**:建造者模式中,构建过程由一个专门的Builder类来完成,而客户端则只需要...

    《Python进阶》.pdf

    * 枚举可以使用 enum 模块来实现 12. 对象的自省 Introspection: * 对象的自省是指对象的反射或自我检查 * 对象的自省可以使用 dir() 函数来实现 13. 推导式 Comprehension: * 推导式是一种语法结构,用于...

    C++高手进阶讲义

    《C++高手进阶讲义》是一份专为已有C++基础的技术人员设计的高级教程,旨在通过深入解析C++的内核技术和最新发展,帮助读者提升编程技能和理解力。这份讲义涵盖了C++11到C++20的最新特性,包括但不限于语言优化、...

    C++基础进阶学习资料笔记1.0.zip

    在C++编程语言的学习过程中,基础进阶是一个关键阶段,涉及到许多核心概念和技术。这份"**C++基础进阶学习资料笔记1.0.zip**"包含了一系列深入讲解这些概念的PDF文档,帮助开发者巩固和深化对C++的理解。以下是根据...

    C+进阶与提高

    - 真正的枚举(enum):改进枚举类型,使其成为真正的数据类型。 - 表达式的值可被赋值:允许直接对表达式的值进行赋值操作。 ##### 2.2 输入与输出 - cin/cout:标准输入输出流的使用。 - 格式化:C++支持输入输出...

Global site tag (gtag.js) - Google Analytics