×

java中printf输出格式

java中printf输出格式(Java语句中的两种输出语句println和printf有什么区别)

admin admin 发表于2024-07-01 16:19:06 浏览20 评论0

抢沙发发表评论

这篇文章给大家聊聊关于java中printf输出格式,以及Java语句中的两种输出语句println和printf有什么区别对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

Java语句中的两种输出语句println和printf有什么区别

print\println\printf的区别print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。println 将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。printf是格式化输出的形式。下在举个例子:package other;public class TestPrint {public static void main(String args) { int i = 4; double j = 5;System.out.print("用print输出i:"+ i); System.out.println( "用println输出i:"+ i); System.out.printf("i的值为%d,j的值为%f", i,j);}}运行结果为用print输出i:4用println输出i:4i的值为4,j的值为5.000000可以看到,用print输出i后,没有换行,用println输出的结果直接在print输出语句后面,而输出println后换行了,所以用printf输出时,在第二行输出。我们再来看printf“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"是一个字符值的点位符的意思。可能读者还会问为什么j输出变成了5.000000?那是因为double是默认有6位小数的(这个可能和系统电脑有关,有的不是6位吧)但是如果你想只要输出两位小数行不行?可以啊!只要改下语句就行了!System.out.printf("i的值为%d,j的值为%.2f", i,j);这里的"%.2f"的意思是输出两位小数点。如果想输出三位那就"%.3f"。说到这里你会发现原来printf也很有用的。这样可以控制输出的格式。再学多点知识吧,将代码改为以下:public class TestPrint {public static void main(String args) { int i = 4; double j = 5.000f; System.out.printf("i的值为%5d,\n", i); System.out.printf("i的值为%3d,j的值为%.2f", i,j); }}运行结果为:i的值为 4,i的值为 4,j的值为5.00原来在"%"与"d"之间加个数5的意思是输出5个占位符。默认向右对齐。这样的输出是很有用的,比如你想输出一个表格,因各个数大小不一,有的5位有的4位,这样输出的的表格结果就对不齐了。如果将输出结果全部为同一样的占位符数。那样就对齐了。呵呵。除了"%d"可以这样外,别的也可以,读者不防试试。会有很多收获的。我们再试着将代码改一下:public class TestPrint {public static void main(String args) { int i = 4; double j = 5.000f; System.out.printf("i的值为%05d,\n", i);}}运行结果为:i的值为00004,哈哈,原来"%05d"的意思是输出5个占位符,如果数字不足5的话就有左边以0相补***隐藏网址***

java不是支持C语言的printf输出吗为什么double不行

在java中的格式化字符串规定所有浮点数都是%f,没有%f和%lf的区别了,所以把”lf“改成“f”就可以了。

public class app{public static void main(String args){int a=10,b=20,c=30;char ch1=’A’,ch3=’B’;String s="abcdef";double aa=2.3;System.out.printf("%f",aa);}}

java语言的输出函数怎么写

Java中常用的输出语句有以下三种

1.System.out.println();

2.System.out.print();

3.System.out.printf()

  • System.out.println(); 是最常用的输出语句,它会把括号里的内容转换成字符串输出到输出窗口(控制台),并且换行,当输出的是一个基本数据类型时,会自动转换成字符串,如果输出的是一个对象,会自动调用对象的toString();方法(1),将返回值输出到控制台

  • System.out.print(); 与第一个很相似,区别就是上一个输出后会换行,而这个命令输出后并不换行。

输入输出体系介绍

什么是输入输出处理(IO)

包括对控制台,内存,文件,图形图像,网络和数据库的读写等。在Java语言中,java.io包就提供了 很多完成输入输出处理功能。

  1. 什么是流?

流是一种有序的字节源或目的,当程序需要读取数据时就要打开一个通向数据源的流;而当程序需要 写入数据的时候就会打开一个通向目的地的流,数据就好像在管道中流动一样。 流的分类 将流按三种方式分类:输入流和输出流,字节流和字符流,以及从一个特定地方读写的结点流和连接已经存在的流的过滤流。这种分类方式是相互重叠的

  • 输入流和输出流

  • 字节流和字符流

  • 从一个特定地方读写的结点流和连接已经存在的流的过滤流

  • 基本流的介绍

    基本流一般是指

  • InputStream

  • OutputStream

  • Reader

  • Writer

    1.InputStream

  • 这个类是一个抽象类,为所有字节输入类的父类,其方法都是通过子类对象来调用的,主要方法有 

    2.OutputStream

    这个类是抽象类,是所有字节输出类的父类,其方法都是通过子类对象来调用 

    3.字符输入输出系列(字符IO)

    输入输出两大分支,以Reader为父类的字符输入,以Writer为父类的字符输出。它们与各自的子类共同构成了字符输入输出体系

    字符输入输出

    4.Reader

    是一个用于读取字符类的抽象类,为所有字符输入类的父类,其方法都是通过子类对象来调用的。 

    5.Writer

    是一个用于写入字符流的抽象类,为所有输出字符类的父类,其方法都是通过子类对象来调用的。

    扩展:

    Java简介:

    Java是一种计算机编程语言,拥有跨平台、面向对象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。

    • 1991 年Sun公司的James Gosling等人开始开发名称为 Oak 的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器

    • 1994年将Oak语言更名为Java

    • 1998年JDK1.2时,更名为Java 2 Platform 分为标准版J2SE,企业版J2EE,微型版J2ME

    • Java 既安全、可移植,又可跨平台,而且人们发现它能够解决Internet 上的大型应用问题

    • Internet使Java成为网上最流行的编程语言

    • Java对Internet的影响也意义深远

    • B/S的兴起 & C/S的没落

    • 任职于太阳微系统的詹姆斯•高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展,Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

      Java编程语言的风格十分接近C++语言。继承了C++语言面向对象技术的核心,Java舍弃了C++语言中容易引起错误的指针,改以引用替换,同时移除原C++与原来运算符重载,也移除多重继承特性,改用接口替换,增加垃圾回收器功能。在Java SE 1.5版本中引入了泛型编程、类型安全的枚举、不定长参数和自动装/拆箱特性。太阳微系统对Java语言的解释是:“Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。”

      Java不同于一般的编译语言或直译语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编写,到处运行”的跨平台特性。在早期JVM中,这在一定程度上降低了Java程序的运行效率。但在J2SE1.4.2发布后,Java的运行速度有了大幅提升。

      与传统型态不同,Sun公司在推出Java时就将其作为开放的技术。全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。“Java语言靠群体的力量而非公司的力量”是 Sun公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同,此外,微软公司后来推出了与之竞争的.NET平台以及模仿Java的C#语言。后来Sun公司被甲骨文公司并购,Java也随之成为甲骨文公司的产品。

java中printf()的用法及作用是什么它和System.out.print()有什么区别

print\printf的区别

1、System.out.print将它的参数显示在命令窗口,并将输出光标定位在所显示的最后一个字符之后。

2、printf是格式化输出的形式,将它的参数显示在命令窗口,并在结尾加上换行符,将输出光标定位在下一行的开始。

***隐藏网址***

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。

java中的printf()方法

public void print(){ System.out.println("Star information:"); System.out.printf (" - name:\t\n", get_name()); System.out.printf (" - ID:\t\t %d\n", get_ID()); System.out.printf (" - distance:\t% 4.2e meters\n", Math.pow(10,get_logdist()) ); System.out.printf (" - distance:\t% 3.2f lightyears\n", Math.pow(10,get_logdist())/9.461e15);if(t》=0) System.out.printf (" - vmag:\t% -8.2f\n", get_vmag());else System.out.printf (" - vmag: \t% -8.2f\n", get_vmag()); System.out.printf (" - Sp_Class:\t %s\n", get_sp_class()); }

java中用print函数的输出问题

用printf输出"%d",可以这样printf("%s","%d"); 这个是对的,本人亲测// 定义一些变量,用来格式化输出。 05 double d = 345.678; 06 String s = "你好!"; 07 int i = 1234; 08 // "%"表示进行格式化输出,"%"之后的内容为格式的定义。 09 System.out.printf("%f", d);// "f"表示格式化输出浮点数。 11 System.out.printf("%9.2f", d);// "9.2"中的9表示输出的长度,2表示小数点后的位数。 13 System.out.printf("%+9.2f", d);// "+"表示输出的数带正负号。 15 System.out.printf("%-9.4f", d);// "-"表示输出的数左对齐(默认为右对齐)。 17 System.out.printf("%+-9.3f", d);// "+-"表示输出的数带正负号且左对齐。 19 System.out.printf("%d", i);// "d"表示输出十进制整数。 21 System.out.printf("%o", i);// "o"表示输出八进制整数。 23 System.out.printf("%x", i);// "x"表示输出十六进制整数。 25 System.out.printf("%#x", i);// "#"表示输出带有十六进制标志的整数。 27 System.out.printf("%s", s);// "s"表示输出字符串。 29 System.out.printf("输出一个浮点数:%f,一个整数:%d,一个字符串:%s", d, i, s); 30 // 可以输出多个变量,注意顺序。 32 System.out.printf("字符串:%2$s,%1$d的十六进制数:%1$#x", i, s); 33 // "X$"表示第几个变量。

Java中如何控制右对齐输出

  • %4.xx  使输出右对齐,不足4位用空格;

  • %-10s  使字符串左对齐输出,不足10位,后加空格;

  • %10s   使字符串右对齐输出,不足10位,前加空格。

输出的对齐格式:printf("%4.d\n",1);printf("%4.d\n%4.d\n%4.d\n",3,12,1123);printf("%-10s%d\n",s,12);%4.xx  使输出右对齐;不足4位用空格;%.4xx  使小数保留4位小数,若该数为整形,不足四位前填0;多余4位原样输出;%-4.xx 使输出的数左对齐;%-10s  使字符串左对齐输出,不足10位,后加空格;%10s   使字符串右对齐输出,不足10位,前加空格;%10.s  不输出字符,只输出10位空格;%.10s  字符原样输出;举例:#include《stdio.h》int main(){printf("%4.d%4.d%4.d\n",1,34,12344);printf("%4.d\n%4.d\n%4.d\n",3,12,11123);  //右对齐;不足四位,前加空格;printf("%.4d\n%.4d\n%.4f\n%.4f\n",23,2342,2.3,343.32);  //对小数,保留四位小数;对整数,不足四位,前加零;printf("%-4.d%-4d\n",1,23423);  //左对齐;不足四位,后加空格;printf("%-10s%-10s\n","asdsd","asdsfdgfhgh");  //不足十位,后加空格;printf("%10s%10s\n","sdsfsf","sdsfdsgsgf");  //不足十位,前加空格;printf("%10.sq\n","asdaff");  //输出十个空格;printf("%.10s%.10s\n","asdad","sdsfdsgfgg"); //字符串原样输出;}

2018年3月计算机二级考试JAVA入门知识点:java流程控制

   2018年3月计算机二级考试JAVA入门知识点:java流程控制

  Java流程控制的语法与 C/C++ 类似,也有 if...else、while、do...while、for、switch...case等,这里不再讲述具体语法,仅举例说明。

  输出九九乘法表(右上三角):

  publicclassDemo{publicstaticvoidmain(Stringargs){inti,j;for(i=1;i《=9;i++){for(j=1;j《=9;j++){if(j

  运行结果:

  1*1=11*2=21*3=31*4=41*5=51*6=61*7=71*8=81*9=9

  2*2=42*3=62*4=82*5=102*6=122*7=142*8=162*9=18

  3*3=93*4=123*5=153*6=183*7=213*8=243*9=27

  4*4=164*5=204*6=244*7=284*8=324*9=36

  5*5=255*6=305*7=355*8=405*9=45

  6*6=366*7=426*8=486*9=54

  7*7=497*8=567*9=63

  8*8=648*9=72

  9*9=81

  Java中也有 printf() 语句,用来控制输出格式,不过实际开发中不常用,因为输出到控制台的数据很少要求严格的格式,一般 println() 和 print() 就够了。

  println() 输出内容后换行,print() 不换行。

  又如,求某一年的某一月有多少天:

  importjava.util.*;publicclassDemo{publicstaticvoidmain(Stringargs){intdays=0;//获取用户输入Scannersc=newScanner(System.in);System.out.print("输入年份:");intyear=sc.nextInt();System.out.print("输入月份:");intmonth=sc.nextInt();switch(month){case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2://判断闰年if(year%4==0&&year%100!=0||year%400==0)days=29;elsedays=28;break;default:System.out.println("月份输入错误!");System.exit(0);//强制结束程序}System.out.printf("天数:%d\n",days);}}

  运行结果:

  输入年份:2014

  输入月份:02

  天数:28

  Java中没有像C语言中的scanf()语句,从控制台获取输入有点麻烦,我推荐使用 Scanner 类,具体语法请大家自行查看API。

关于JAVA中printf的用法

printf必需在jdk1.5和以后的版本才支持的。jdk6u12windowsi586pjava.exe就是jdk1.6,所以可以肯定的是可以用printf的。问题出在你的调用方法的代码有问题。改成如下的样式:double num = {};System.out.printf("%8f",num);//nums参数必需是一个Object数组

如果你还想了解更多这方面的信息,记得收藏关注本站。