请问,为何下面的判断语句,会让双位数也加零呢?本来想只对单位数(<=15)的前面补零。
public static void printHexByByteArray(String fileName) throws IOException{ FileInputStream in=new FileInputStream(fileName); byte[] buf=new byte[8*1024]; int bytes=0; int j=1; while((bytes=in.read(buf, 0, buf.length))!=-1){ for(int i=0;i<bytes;i++){ //为何下面的判断,会让双位数也加零 if(buf[i]<=0xf){ System.out.print("0"); } System.out.print(Integer.toHexString(buf[i] & 0xff)+" "); if(j++%10==0){ System.out.println(); } } } in.close(); } }