public PageControl(HttpServletRequest rq,int totalRecord,int pagesize){
this.page=rq.getParameter("page");
if(page==null)nowPage =1;
else
{
nowPage =Integer.parseInt(page);
if(nowPage<1) nowPage = 1;
}
this.pageSize=pagesize;
this.totalRecord=totalRecord;
this.pageCount=this.totalRecord%pageSize==0?this.totalRecord/pageSize:this.totalRecord/pageSize+1;
this.pagename=rq.getRequestURI();
}this.pageCount=this.totalRecord%pageSize==0?this.totalRecord/pageSize:this.totalRecord/pageSize+1;这句看得有点晕了!%号?号是什么意思呀???
this.page=rq.getParameter("page");
if(page==null)nowPage =1;
else
{
nowPage =Integer.parseInt(page);
if(nowPage<1) nowPage = 1;
}
this.pageSize=pagesize;
this.totalRecord=totalRecord;
this.pageCount=this.totalRecord%pageSize==0?this.totalRecord/pageSize:this.totalRecord/pageSize+1;
this.pagename=rq.getRequestURI();
}this.pageCount=this.totalRecord%pageSize==0?this.totalRecord/pageSize:this.totalRecord/pageSize+1;这句看得有点晕了!%号?号是什么意思呀???
if(this.totalRecord%pageSize==0){
this.pageCount=this.totalRecord/pageSize;
}else{
this.pageCount=this.totalRecord/pageSize+1; }
%是指取余操作
xx1?xx2:xx3
意思就是xx1 是布尔表达式,如果是true就xx2 ,如果是false就计算 xx3
那么什么叫三目运算符呢:也就是需要三个操作数的运算符。它的作用:a?b:c
当为真的时候,运算的结果为b,否则为c。
因此,在这个运算符中的第一个操作数必须是逻辑类型,即逻辑运算或关系运算的结果。你可以到网上查一下C的运算符表就会知道了。
http://hi.baidu.com/webtop1/blog/item/ca72473dc8542fe83c6d9737.html所以你这里的这句可以分解一下
this.pageCount=(this.totalRecord%pageSize==0)?(this.totalRecord/pageSize):(this.totalRecord/pageSize+1);
第一个操作数:this.totalRecord%pageSize==0 "%"是求余看结果是否为0。 "=="是关系运算符。
第二个操作数:this.totalRecord/pageSize "/"是整除
第三个操作数:this.totalRecord/pageSize+1 和第二个是一样的。