JAVAWEB之java语言基础加强方法
小标 2018-07-13 来源 : 阅读 686 评论 0

摘要:本文主要向大家介绍了JAVAWEB之java语言基础加强方法,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVAWEB之java语言基础加强方法,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

/**
    引入增强for循环的原因:在JDK5以前的版本中,遍历数组或集合中的元素,需先获得数组的长度或集合的迭代器,比较麻烦!
    因此JDK5中定义了一种新的语法——增强for循环,以简化此类操作。增强for循环只能用在数组、或实现Iterator接口的集合类上
    语法格式:                                              
        for(变量类型 变量 :需迭代的数组或集合){
        
        }
*/
    //java中的增强for循环
    int[]    arry = {1,2,3,4};
    
    for(int i : arr){
        System.out.println{i};
    }

    //for循环只适合取值,而不能改变原数组中的元素。以下代码是不可行的
    int arr[] = new int[5];
    
    for(int num : arr){
        num = 1;
    }
    System.out.println(arr[0]);//打印出的仍是初始值0
    
/**
    从JDK 5开始, Java 允许为方法定义长度可变的参数。语法:
            public void foo(int … args){
            }
        **/
    public void sum(int ...nums){
    //可变参数其实就可以看作一个长度可变的数组
        int sum    =    0;
        for(int i : nums){
            sum    +=    i;
        }
        System.out.println(sum);
    }
    
    //注意以下的情况是错误的,因为可变数组的长度位置,故无法识别参数列表中后面的num
    public void foo(int … args,int num){
    }
    //很明显,当改为以下代码就对了
    public void foo(int num,int … args){
    }
    
/**    
    *枚举类enum具有如下特性:
    1、枚举类也是一种特殊形式的Java类。
    2、枚举类中声明的每一个枚举值代表枚举类的一个实例对象。
    3、与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(这点不难理解)。
    4、枚举类也可以实现接口、或继承抽象类。
    5、JDK5中扩展了swith语句,它除了可以接收int, byte, char, short外,还可以接收一个枚举类型。
    6、若枚举类只有一个枚举值,则可以当作单态设计模式使用。
**/

    //例:设计一个Grade类,ABCDE,并能返回该等级的分数范围
    enum Grade{
        A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0");
        
        private String    value;//用以封装每个对象的分数
        
        private void setValue(String value){
            this.value = value;
        }
        private String    getValue(){
            return this.value;
        }        
    }
    
    public void print(Grade g){
        String value = g.getValue();
        System.out.println(value);
    }
    
    //带抽象方法的枚举类型
    enum Grade{
        A("100-90"){        //只要在枚举类型内实现该抽象方法即可
            public String LocalValue(){
                return "优";
            }    
        }...    //以此类推
        
        private String    value;//用以封装每个对象的分数
        
        private Grade(String value){ //枚举的构造函数必须是私有的
            this.value = value;
        }
        public String    getValue(){
            return this.value;
        }
        public abstract String LocalValue(){};            
    }
    
    public void print(Grade g){
        String value = g.LocalValue();
        System.out.println(value);
    }
    
/**    
    枚举类型的常用方法:
    1、name()
    2、ordinal()
    3、valueof(Class enumClass, String name)
    4、values() 此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便。
*/

    //测试常用方法
    System.out.println(Grade.C.name());    //得到C的名称
    System.out.println(Grade.C.ordinal());    //得到C在枚举类中的位置
    
    String str = "A";    //该字符串必须是枚举类中存在的枚举值
    Grade    g = valueof(str);    //有三种重载的方法
    System.out.println(g);
    
    Grade[] gs = Grade.values();    //得到所有枚举值
    for(Grade g1 : gs){
        System.out.println(g1);
    }

以上就是职坐标整理发布关于JAVA的介绍,先祝大家对它有了一定的了解吧,了解更多内容,请关注职坐标编程语言JAVA频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程