JavaWeb前的准备--Java基础增强

问题描述

/**引入增强for循环的原因:在JDK5以前的版本中,遍历数组或集合中的元素,需先获得数组的长度或集合的迭代器,比较麻烦!因此JDK5中定义了一种新的语法——增强for循环,以简化此类操作。增强for循环只能用在数组、或实现Iterator接口的集合类上语法格式:for(变量类型变量 :需迭代的数组或集合){}*///java中的增强for循环int[]arry={1,2,3,4};for(inti:arr){System.out.println{i};}//for循环只适合取值,而不能改变原数组中的元素。以下代码是不可行的intarr[]=newint[5];for(intnum:arr){num=1;}System.out.println(arr[0]);//打印出的仍是初始值0/**从JDK5开始,Java允许为方法定义长度可变的参数。语法:publicvoidfoo(int…args){}**/publicvoidsum(int...nums){//可变参数其实就可以看作一个长度可变的数组intsum=0;for(inti:nums){sum+=i;}System.out.println(sum);}//注意以下的情况是错误的,因为可变数组的长度位置,故无法识别参数列表中后面的numpublicvoidfoo(int…args,intnum){}//很明显,当改为以下代码就对了publicvoidfoo(intnum,int…args){}/***枚举类enum具有如下特性:1、枚举类也是一种特殊形式的Java类。2、枚举类中声明的每一个枚举值代表枚举类的一个实例对象。3、与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(这点不难理解)。4、枚举类也可以实现接口、或继承抽象类。5、JDK5中扩展了swith语句,它除了可以接收int,byte,char,short外,还可以接收一个枚举类型。6、若枚举类只有一个枚举值,则可以当作单态设计模式使用。**///例:设计一个Grade类,ABCDE,并能返回该等级的分数范围enumGrade{A("100-90"),B("89-80"),C("79-70"),D("69-60"),E("59-0");privateStringvalue;//用以封装每个对象的分数privatevoidsetValue(Stringvalue){this.value=value;}privateStringgetValue(){returnthis.value;}}publicvoidprint(Gradeg){Stringvalue=g.getValue();System.out.println(value);}//带抽象方法的枚举类型enumGrade{A("100-90"){//只要在枚举类型内实现该抽象方法即可publicStringLocalValue(){return"优";}}...//以此类推privateStringvalue;//用以封装每个对象的分数privateGrade(Stringvalue){//枚举的构造函数必须是私有的this.value=value;}publicStringgetValue(){returnthis.value;}publicabstractStringLocalValue(){};}publicvoidprint(Gradeg){Stringvalue=g.LocalValue();System.out.println(value);}/**枚举类型的常用方法:1、name()2、ordinal()3、valueof(ClassenumClass,Stringname)4、values()此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便。*///测试常用方法System.out.println(Grade.C.name());//得到C的名称System.out.println(Grade.C.ordinal());//得到C在枚举类中的位置Stringstr="A";//该字符串必须是枚举类中存在的枚举值Gradeg=valueof(str);//有三种重载的方法System.out.println(g);Grade[]gs=Grade.values();//得到所有枚举值for(Gradeg1:gs){System.out.println(g1);}

解决方案

本帖最后由 greenlight_74110 于 2015-01-22 18:49:40 编辑
解决方案二:
其实这几个我平时用的都不多,虽然类似foreach的for确实很方便,但是以前的写法写惯了,习惯难改至于enum就用的更少了,更习惯用staticfinalint参数数量可变用的也很少,一般都还是习惯用数组
解决方案三:
虽然用得不多但学了很受用涨了很多姿势....

时间: 2024-12-25 09:10:42

JavaWeb前的准备--Java基础增强的相关文章

传智播客培训2.18第一天 Java基础增强

培训已经开始几天了,一直没有做总结的想法,想想还是写写总结吧!   先说说myEclipce中常用的快捷键吧!     快捷键 1.  alt + / : 代码自动补齐,需要配置的               打开preferences(首选项), 搜keys,打开快捷键配置面板               搜 alt+/ ,取消绑定               搜 content assist ,取消原先的绑定,配置成alt+/ 2. ctrl+1: 错误自动修复, 注意,放行的红叉是可修复的

JavaWeb基础教程之Java基础加强版_java

1.myeclipse的安装和使用 * eclipse:是一个免费的开发工具 * myeclipse:是一个收费的插件,破解myeclipse, ** 安装目录的要求: 不能有中文和空格 ** 安装完成之后,选择一个工作空间 ,这个工作空间不能有中文和空格 * 破解myeclipse ** 运行run.bat文件,但是运行之前,必须要安装jdk,通过配置环境变量 * myeclipse的使用 * 创建一个工程 - 类型 java project web project - 选择依赖的jdk,可以

《Java和Android开发实战详解》——1.2节Java基础知识

1.2 Java基础知识 Java和Android开发实战详解 Java语言类似于C++是一种编译型语言,不过两者并不完全相同,严格说来,Java是结合编译和解释优点的一种编程语言. 1.2.1 Java平台 "平台"(Platform)是一种结合硬件和软件的执行环境.Java既是一种高级的面向对象的编程语言,也是一个平台.Java平台是一种纯软件平台,它可以在各种基于硬件的平台上运行,与硬件无关,主要是由JVM和Java API两个部分组成. 1.JVM虚拟机 JVM(Java Vi

java基础问题求指教谢谢

问题描述 java基础问题求指教谢谢 形如 A a=new A();-------------1 a=new A();--------------2 辣么,a到底指的是哪个对象?1还是2? 五楼的说法对么? 解决方案 只用new关键字是为了创建一个对象,你使用了两次new关键字进行创建,会在内存中创建两个A的对象,a是你声明的一个引用,在程序中以最后一次的指向为准,这里是指向最后一个. 解决方案二: new 最后一个对象时,内存又为它分配了新的地址,所以a只想最后一个 解决方案三: a 在最后被

Java基础:初学者Java语言入门精典文章

初学 Java总有它的千般好处使你选择它,但这些随便翻翻书或在网上逛一圈就能找到答案.在本文中,笔者把自己学习Java的一些切身体会和过程写出来,供初学者做个参考. 我在学习Java的过程中主要围绕以下几个方面来学习: 1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用Java. 2.在学习的过程中,最好能够了解Java的底层机制,而不是仅仅停留在表层,不是抄书上的例子运行出结果就可以.要注意,即便对一个简单的例子也要有耐心去琢磨.调试.改动. 3.在学习的

JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中,用户可以通过指定数据类型和标识符来声明变量,其基本语法为: DataType identifier;  或  DataType identifier = value; 其中,DataType是变量类型,如int/string/char/double/boolean等:identifier是变量名称,即标识符:value就是声明变量的值. 注: a.标识符由数字0-9.大小写字母.下划线.美元符号.人民币符号以及

java基础(数据类型,运算符)

java基础之数据类型(变量) java中存在的数据有常量和变量 常量:在程序执行的过程中其值不可以发生改变 常量的分类 字面值常量 字面值常量的分类 常量 描述 字符串常量 用双引号括起来的内容 整数常量 所有整数 小数常量 所有小数 字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号 布尔常量 较为特殊,只有true和false 空常量 null(数组部分) - - 自定义常量 变量:在程序执行的过程中,在某个范围内其值可以发生改变的量 定义格式: 数据类型 变量名 =

零基础轻松入门——JAVA基础学习

你准备好学习java了吗?了解一下开发java的基本过程以及java的基本特性.与C++做些简单的比较,熟悉两种语言的共性和区别,关于一些java知识体系. Java 的主要特性: 1. Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用.另一方面,Java丢弃了C++中很少使用的.很难理解的.令人迷惑的那些特性,如操作符重载.多继承.自动的强制类型转换.特别地,Java语言不使用指针,而是引用.并提供了自动的废料收集,使得程序员不必为内存管理而担忧. 2.Java是

java 基础编程题,急求结果

问题描述 java 基础编程题,急求结果 1,int isVesuvian(int n),如果n是有且仅是两组不同的两个数的平方和,返回1,否则0. 2,int isOneBalanced(int a[]),判读数组是否是平衡数组,开头连续为1的数 + 结尾连续为1的数 = 中间连续不为1的数 结果返回1,否则为0. 3,int closestFibonacci(int n),返回比n小的最大的斐波拉契元素.斐波拉契数列 1 1 2 3 5 8 13 21 34 PS:1 1 2 3 5 8 1