1.三者的区别

printf主要是继承了C语言的printf的一些特性,可以进行格式化输出。

print就是一般的标准输出,但是不换行,如果从mysql 读取10行记录,每行记录13列,可以一次输出10行13列,

但是输出1行后,要结合println 输出空格后,游标才能移动到下一个记录。

println 1行记录有13个字段,每输出一个字段就会换行

2.printf的参数说明

System.out.printf("the number is: d",t);
参照JAVA API的定义如下:
'd' 整数 结果被格式化为十进制整数
'o' 整数 结果被格式化为八进制整数
'x', 'X' 整数 结果被格式化为十六进制整数
'e', 'E' 浮点 结果被格式化为用计算机科学记数法表示的十进制数
'f' 浮点 结果被格式化为十进制数
'g', 'G' 浮点 根据精度和舍入运算后的值,使用计算机科学记数形式或十进制格式对结果进行格式化。
'a', 'A' 浮点 结果被格式化为带有效位数和指数的十六进制浮点数

java print方法 java中print_bc

3.代码实例

package com.bjsxt.jdbc;

import java.sql.*;

/** 
 * 测试打印输出多行结果
 * 
 * @author Administrator
 *
 */
public class demo2 {
	public static void main(String[] args) {		
		try {
			//加载驱动类
			Class.forName("com.mysql.jdbc.Driver");
			
			try {
				//建立连接(实际内部包含了一个socket对象,是一个远程的连接。比较耗时!这是Connection 对象管理的一个要点!)
				//真正开发中,为了提高效率,都会使用连接池来管理这些连接池对象!
				Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/study","root","123456");
				Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
				
				//获取某个表的字段信息
				DatabaseMetaData metadata = conn.getMetaData();
				ResultSet tableMessage = metadata.getColumns(null,null,"meituan_info_cq_meishi",null);
				int a = 0;
				//获取返回结果的总列数,用于循环每列
				while(tableMessage.next()) {
					a++;
				}
				
				String sql = "select * from meituan_info_cq_meishi limit 10";
				ResultSet rs= stmt.executeQuery(sql);//执行查询

				while (rs.next()) {
					for(int i=1;i<=a;i++){
						System.out.print(rs.getString(i)+"\t");//这里必须是print函数输出,否者会把所有记录输出为一行
					}
					System.out.println("");//要输出空格才能 输出所有的记录,否则只能输出一行记录
					}
					rs.close();
					stmt.close();
					conn.close();

				
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
						
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}