最近看java学习笔记,刚开始第一张 发现良老师打印多好都用printf  没学过C很不喜欢  System.out.println("年级\t 得分\t 等级");
  System.out.println(ageOfStudent+"\t"+scoreOfStudent+"\t"+levelOfStudent);
  System.out.printf("%4d\t %4.1f\t %4c",ageOfStudent,scoreOfStudent,levelOfStudent); 后面两句打印出来效果地区不一样,主要是对齐方式,后者比较整齐。请问这个区别在哪?
java程序员 喜欢用哪种打印方式?
%号后面4的 是指在结果前面加了4个字符吗?

解决方案 »

  1.   


            目前printf支持以下格式:
              %c        单个字符
              %d        十进制整数
              %f        十进制浮点数
              %o        八进制数
              %s        字符串
              %u        无符号十进制数
              %x        十六进制数
              %%        输出百分号%
            一个格式说明可以带有几个修饰符,用来指定显示宽度,小数尾书及左对齐等:
              -         左对齐
              +         在一个带符号数前加"+"或"-"号
              0         域宽用前导零来填充,而不是用空白符
            域宽是一个整数,设置了打印一个格式化字符串的最小域。精度使用小数点后加数字表示的,
            给出每个转换说明符所要输出的字符个数。
      

  2.   

    %d 是按你的数据的实际长度输出,而%md 是输出m位宽度的数据,不够用空格补充,太长则输出全部。
    其的也有%m.nf 是输出实数,总共m位,n位小数。除非对结果显示有要求,一般都不怎么用到的吧。
      

  3.   


    呵呵……建议LZ仔细看书,很多基础书中不是有关于%md的例子么……