JAVA中两种for循环

package com.zxd.test; 
import java.util.List; 
import org.hibernate.HibernateException; 
import org.hibernate.Query; 
import org.hibernate.Session; 
import org.hibernate.SessionFactory; 
import org.hibernate.cfg.Configuration; 
import com.zxd.bean.House; 
import com.zxd.util.QueryProperty; 
/** 
* HQL封闭查询的测试类 
* @author zhang 
* 
*/ 
public class TestHouse { 
public static void main(String[] args) { 
//公共的成员变量 
SessionFactory sf = null; 
Session session = null; 
QueryProperty qp = new QueryProperty(); 
//封装查询的数据 
qp.setTitle("%好房%"); 
qp.setStreet_id("1002"); 
qp.setType_id("1004"); 
qp.setLow_price(20); 
qp.setHigh_price(200); 
qp.setSmall_floorage(50); 
qp.setBig_floorage(180); 
//HQL语句 
StringBuffer sb = new StringBuffer(); 
sb.append("from House where "); 
sb.append("(title like :title) "); 
sb.append("and (type_id like :type_id) "); 
sb.append("and (street_id like :street_id) "); 
sb.append("and (price between :low_price and :high_price) "); 
sb.append("and (floorage between :small_floorage and :big_floorage)"); 
try { 
//开始执行查询 
sf = new Configuration().configure().buildSessionFactory(); 
session = sf.openSession(); 
Query query = session.createQuery(sb.toString()); 
query.setProperties(qp); 
List<House> list = query.list(); 
//第一种用:的循环 
/*for(House house:list){ 
System.out.println("标题是:"+house.getTitle()); 
System.out.println("面积是:"+house.getFloorage()); 
System.out.println("价格是:"+house.getPrice()); 
System.out.println("区是:"+house.getStreet().getDistrict().getName()); 
System.out.println("街道是:"+house.getStreet().getName()); 
System.out.println("----------------------------------"); 
}*/ 
//第二种循环 
for(int i = 0;i<list.size();i++){ 
System.out.println("标题是:"+list.get(i).getTitle()); 
System.out.println("面积是:"+list.get(i).getFloorage()); 
System.out.println("价格是:"+list.get(i).getPrice()); 
System.out.println("区是:"+list.get(i).getStreet().getDistrict().getName()); 
System.out.println("街道是:"+list.get(i).getStreet().getName()); 
System.out.println("----------------------------------"); 
} 
} catch (HibernateException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
}finally{ 
session.close(); 
sf.close(); 
} 
} 
} 

 上面例子中的第一种循环是我没有记住的,用了关键字符“:”,一般这种循环是用来对一个集合的遍历上的(List<House>、Map)中的用的很方便。

第二种循环是普通的循环我这是Java中最常见的一种for循环。

猜你喜欢

转载自847104446.iteye.com/blog/2312609