Java 编程思想(第4版)学习笔记(ArrayList 泛型 foreach 第11章练习1 hop())

转载 2013年04月24日 16:35:13

/**
* @author lzcysd
*
*/

import java.util.*;
class Apple{

private static long counter;
private final long id = counter++;

public long id(){return id;}
}
class Orange{}
public class ArrayListTest {


/**
* @param args
*/

public static void main(String[] args) {

   ArrayList <Apple> apples = new ArrayList <Apple>();
   for(int i = 0; i < 3; i++){
    apples.add(new Apple());
   }
   //apples.add(new Orange()); 编译期间报错,只能插入Apple类型的数据
   for(int i = 0; i < apples.size();i++)
    System.out.println(apples.get(i).id());
  for(Apple c : apples) //foreach语句 java SE5新增
    System.out.println(c.id());
}
}
/*运行结果
* 0
* 1
* 2
* 0
* 1
* 2
*/
下面说下foreach语句的用法

主要用于数组和容器(自动增量)

如上例,apples是被用于的数组名或容器名,c,没循环一次,c被赋一次值

  
public static void main(String[] args) {
   for(char c:"An New Method".toCharArray())
    System.out.print(c+" ");
   /*运行结果
   * A n   N e w   M e t h o d 
   */

   for(int i:range(5,20,3)) //5..20 step 3 找不到net.mindview.util.Range.* 错误
    print(i + " "); //
}

----------------------------------------------------------------------------------------------------------------------------

import java.util.ArrayList;

/**
* 创建一个新类Gerbil(沙鼠),包含int gerbilNumber,
* 在构造器中初始化它。添加一个方法hop(),用以打印沙鼠的号码以及他
* 正在跳跃的信息。创建一个ArrayList,并向其中添加一串Gerbil对象。
* 使用get()遍历List,并且对每个Gerbil调用hop()
*/

/**
* @author lzcysd
*
*/

public class Gerbil {

private static int counter; 
private int gerbilNumber;
private String hopInfo; //跳跃的信息

public Gerbil(){
   this("");
}

public Gerbil(String hI){
  
   gerbilNumber = ++counter;
   hopInfo = hI;  
}

public void hop(){
   System.out.println("沙鼠的号码为:" + gerbilNumber + "跳跃的信息为:" + hopInfo);
}

/**
* @param args
*/

public static void main(String[] args) {

   ArrayList <Gerbil> gerbils = new ArrayList<Gerbil>();
   gerbils.add(new Gerbil("25"));
   gerbils.add(new Gerbil("26"));
   gerbils.add(new Gerbil("24"));
   gerbils.add(new Gerbil("25"));

//使用Iterator遍历List
   Iterator<Gerbil> it = gerbils.iterator();
   while(it.hasNext())
    it.next().hop();
   /*for(int i = 0; i < gerbils.size(); i++){
    gerbils.get(i).hop();
   } 
    
   /*
     for(Gerbil g : gerbils){ //foreach语法;注意for不能写成foreach
    g.hop();
   }
   */

}
}
/*
* 沙鼠的号码为:1跳跃的信息为:25
* 沙鼠的号码为:2跳跃的信息为:26
* 沙鼠的号码为:3跳跃的信息为:24
* 沙鼠的号码为:4跳跃的信息为:25
*/

相关文章推荐

第11章持有对象 _11.1泛型和类型安全的容器

第11章持有对象 若一个程序只包含固定数量的且其生命周期都是已知对象,那么这是一个非常简单的程序。 通常程序不是这个样子,程序总是根据运行时才知道的某些条件去创建新对象。在此之前不会知道所需对象的...

三.操作符——Java编程思想第4版学习笔记

3.1 更简单的打印语句 3.2 使用Java操作符 3.3 优先级 3.4 赋值 对一个对象进行操作时,真正操作的是对对象的引用。所以倘若”将一个对象赋值给另一个对象“,实际上是将”引用“从...

一.Java对象导论——Java编程思想第4版学习笔记

1.1 抽象过程 所有编程语言都提供抽象机制,人们所能够解决的问题的复杂性直接取决于抽象的类型和质量。OOP允许根据问题来描述问题,而不是根据运行解决方案的计算机来描述问题。 Alan Kay曾经总结...

《Java编程思想》学习笔记8——泛型编程高级

1.泛型边界: Java泛型编程时,编译器忽略泛型参数的具体类型,认为使用泛型的类、方法对Object都适用,这在泛型编程中称为类型信息檫除。 例如: class GenericType{ p...

《Java编程思想》学习笔记8——泛型编程高级

1.泛型边界: Java泛型编程时,编译器忽略泛型参数的具体类型,认为使用泛型的类、方法对Object都适用,这在泛型编程中称为类型信息檫除。 例如: [java] view...

《Java编程思想》学习笔记7——泛型编程基础

一般的类和方法都是针对特定数据类型的,当写一个对多种数据类型都适用的类和方法时就需要使用泛型编程,java的泛型编程类似于C++中的模板,即一种参数化类型的编程方法,具体地说就是将和数据类型相关的信息...

《Java编程思想》学习笔记7——泛型编程基础

一般的类和方法都是针对特定数据类型的,当写一个对多种数据类型都适用的类和方法时就需要使用泛型编程,java的泛型编程类似于C++中的模板,即一种参数化类型的编程方法,具体地说就是将和数据类型相关的信息...

《Java编程思想第四版》笔记---15章(1) 泛型编程基础

前半部分是网络摘录的写的比较好的文章,忘记是哪里的了,感谢原作者,后半部分是补充原作的内容。感觉Java编程思想泛型这部分写得太泛了,特意浓缩一下整理也方便以后复习。 一、泛型的基本概念  泛型的...

C++编程思想学习笔记----第11章 引用和拷贝构造函数

11.1 C++中的指针 c和c++指针的最重要区别在于c++是一种类型要求更强的语言。在c中,void* 类型的指针可以随意地指向其他类型的指针,而c++中必须显示地使用类型转换通知编译器和读者,这...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)