Java 如何打印一个字节和一个字符串?
我有一个字节:Java 如何打印一个字节和一个字符串?,java,byte,printf,output,system.out,Java,Byte,Printf,Output,System.out,我有一个字节: byte STX = 0x02; 使用printf按原样打印会返回0x02,这正是我想要的: System.out.printf("0x%02X", STX); 但是,我想用如下或类似的字符串连接它: System.out.println("Found " + STX + " at " + i); 但它返回整数值。因此,如何打印字节并将其与字符串连接?使用: 使用: 试着这样做: System.out.println(“Found”+String.format(“0x%0
byte STX = 0x02;
使用printf
按原样打印会返回0x02
,这正是我想要的:
System.out.printf("0x%02X", STX);
但是,我想用如下或类似的字符串连接它:
System.out.println("Found " + STX + " at " + i);
但它返回整数值。因此,如何打印字节并将其与字符串连接?使用:
使用:
试着这样做:
System.out.println(“Found”+String.format(“0x%02X”,STX)+“at”+i)代码>
或者更好:
System.out.println(String.format(“在%d处找到0x%02X”,STX,i))代码>
或者更好:
System.out.printf(“在%d%n处找到0x%02X”,STX,i)代码>请尝试以下方法:
System.out.println(“Found”+String.format(“0x%02X”,STX)+“at”+i)代码>
或者更好:
System.out.println(String.format(“在%d处找到0x%02X”,STX,i))代码>
或者更好:
System.out.printf(“在%d%n处找到0x%02X”,STX,i)代码>不幸的是,这实际上是一个现有答案的副本,被否决了。。。但正如你现在的评论所表明的,你会欢迎这样的选择
您可以使用printf
格式化整个字符串:
这里的0x%02X
是您已经知道的部分;%d
是i
的格式说明符;%n
是特定于平台的换行符
我发现在语句中使用一种格式更为清晰:要么printf
/String.format
格式,要么字符串串联,而不是两者的混合
如果您不想在控制台上打印格式,只需使用:
(假设在这种情况下不需要行分隔符。)
有关格式字符串中的所有选项,请参见。不幸的是,这实际上是已被否决的现有答案的副本。。。但正如你现在的评论所表明的,你会欢迎这样的选择
您可以使用printf
格式化整个字符串:
这里的0x%02X
是您已经知道的部分;%d
是i
的格式说明符;%n
是特定于平台的换行符
我发现在语句中使用一种格式更为清晰:要么printf
/String.format
格式,要么字符串串联,而不是两者的混合
如果您不想在控制台上打印格式,只需使用:
(假设在这种情况下不需要行分隔符。)
有关格式字符串中的所有选项,请参见。是否有任何原因不想一直使用printf
?我发现对整个字符串使用一种格式更为清晰——要么一直采用串联格式,要么一直采用printf
——格式。原因是我不知道如何使用!如果有办法一直到System.out.printf,请告诉我!是否需要前导零的填充?STX的字节值为“0x2”。您可以通过在格式字符串中使用%#2x
来进一步清理格式,该格式字符串的输出值为0x2
,您有什么理由不想一直使用printf
?我发现对整个字符串使用一种格式更为清晰——要么一直采用串联格式,要么一直采用printf
——格式。原因是我不知道如何使用!如果有办法一直到System.out.printf,请告诉我!是否需要前导零的填充?STX的字节值为“0x2”。您可以通过在格式字符串中使用%#2x
来进一步清理格式,该格式字符串的输出值将为0x2
当System.out.printf
可以在一次调用中同时执行这两个操作时,为什么在System.out.println中使用string.format?因为在某个时间点处理代码库的人会忘记添加“%n”而且会像我上面说的那样弄乱任何打印输出。现在添加%n。当System.out.printf
可以在一次调用中同时执行这两项操作时,为什么要在System.out.println中使用String.format?因为在某个时间点处理代码库的人会忘记添加“%n”,并会像我一样弄乱任何打印输出。正在添加%n。
System.out.println("Found " + String.format("0x%02X", STX) + " at " + i);
System.out.printf("Found 0x%02X at %d%n", STX, i);
String text = String.format("Found 0x%02X at %d", STX, i);