zoukankan      html  css  js  c++  java
  • java 中 printf()语句的理解


    对print和println的理解很简单,今天突然接触到printf(),有点懵,整理了下也帮自己理一理


    printf是格式化输出的形式

    下在举个例子:

    package other;
    public class TestPrint {                         //声明打印测试类
      public static void main(String[] args) {          //主方法
         int i = 4;                          //声明int类型i
       
    double j = 5;                        //声明double类型j    System.out.print("用print输出i:"+ i);          //对比print()、println()、printf()    System.out.println( "用println输出i:"+ i);
        System.out.printf(
    "i的值为%d,j的值为%f", i,j);   } }

    运行结果为

                  用print输出i:4用println输出i:4

    
    

                  i的值为4,j的值为5.000000

    重点来看语句:

    System.out.printf("i的值为%d,j的值为%f", i,j);

    “i的值为%d,j的值为%f”这个字符串中的"%d"变为i的值了,而"%f"变为了j的值了!

    这里,"%d"的意思是一个int值的占位符,"%f"为一个double 或float值的点位符,这个变量的参数在后面提供。注意的是实参名必须按顺序排,而且类型也要相符。否则报错!

    如果把语句改为:System.out.printf("i的值为%d,j的值为%f", j,i);//i和j位置反了,这时就有错了因为"%d"对应的参数变为j,"%f"对应的变为i了,而j是double的,与"%d"是int型的不一致。所以有错了。

    另外:"%s"是一个字符串值的点位符的意思。"%c"是一个字符值的点位符的意思。

     
    public class TestPrint {
      public static void main(String[] args) {
         int i = 4;
         double j = 5.000f;
         System.out.printf(
    "i的值为%5d, ", i); // %与d之间的数字5的意思是插入五个占位符 空格符      System.out.printf("i的值为%3d,j的值为%.2f", i,j); //j的值为%.2f 意思是,保留小数点后2位
      } }

    运行结果为:

    i的值为    4,

    i的值为 4,j的值为5.00

     
    public class TestPrint {
      public static void main(String[] args) {
        int i = 4;
        double j = 5.000f;
       System.out.printf("i的值为%05d,
    ", i);      //"%05d"的意思是输出5个占位符,如果数字不足5位的话就在左边以0相补
      }
    }
    
    运行结果为:
    i的值为00004,
    总结

    System.out.printf("i的值为%d,j的值为%f", j,i)

    %+(数字:占位作用,控制输出格式整齐一致)+数据类型(对应数据类型的字母简写)  j,i对应的数字和类型,严格按需















  • 相关阅读:
    java继承中的初始化顺序
    java可访问修饰符
    java简单数据类型转化
    java运算符优先级
    面向切面编程的例子
    什么是面向切面编程
    return 的使用
    通过修改my.ini配置文件来解决MySQL 5.6 内存占用过高的问题
    spring 注入使用注解(不用xml)
    spring在扫描包中的注解类时出现Failed to read candidate component错误
  • 原文地址:https://www.cnblogs.com/slowcity/p/6817210.html
Copyright © 2011-2022 走看看