system.out.printf和system.out.println区别
时间: 2023-10-04 16:10:36 浏览: 238
`System.out.printf()` 和 `System.out.println()` 都是 Java 中用于输出信息的方法。它们的区别在于:
- `System.out.printf()` 是格式化输出,可以使用占位符 `%` 来控制输出的格式,比如 `%d` 表示输出整数,`%f` 表示输出浮点数等;
- `System.out.println()` 是直接输出一行字符串,不需要格式化。
举个例子,如果要输出一个整数变量 `x` 的值,可以使用以下两种方法:
```java
int x = 10;
// 使用 System.out.printf() 格式化输出
System.out.printf("x 的值为:%d\n", x);
// 使用 System.out.println() 直接输出一行字符串
System.out.println("x 的值为:" + x);
```
输出结果分别为:
```
x 的值为:10
x 的值为:10
```
需要注意的是,`System.out.printf()` 中的格式化字符串中要与后面传入的参数一一对应,否则会抛出 `java.util.MissingFormatArgumentException` 异常。
相关问题
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); Circle c1=new Circle(); System.out.println(c1); System.out.printf("%.2f\n",c1.getArea()); Circle c2=new Circle(); System.out.println(c2); System.out.printf("%.2f\n",c2.getArea()); c2.setRadius(sc.nextInt()); System.out.println(c2); System.out.printf("%.2f\n",c2.getArea()); Circle c3=new Circle(sc.nextInt()); System.out.println(c3); System.out.printf("%.2f\n",c3.getArea()); } } class Circle{ private int radius; public Circle() { this.radius=2; System.out.println("This is a constructor with no para."); } public Circle(int radius) { if(radius>0) { this.radius = radius; System.out.println("This is a constructor with para."); } else this.radius=2; } public void setRadius(int radius) { if(radius<=0) this.radius=2; else this.radius = radius; } public int getRadius() { return radius; } public double getArea(){ return radius*radius*Math.PI; } @Override public String toString() { return "Circle [radius=" + radius + "]"; } }
好的,这是一个Java程序,其中定义了一个Circle类,并在Main类中使用它进行测试。Circle类包含以下成员变量和方法:
成员变量:
- radius:表示圆的半径
方法:
- Circle():无参构造方法,将半径设置为2,输出"This is a constructor with no para."
- Circle(int radius):带参构造方法,如果传入的半径大于0,则将其作为半径;否则将半径设置为2。输出"This is a constructor with para."
- setRadius(int radius):设置半径,如果传入的半径小于等于0,则将半径设置为2。
- getRadius():获取半径。
- getArea():计算并返回圆的面积。
- toString():返回一个字符串,表示圆的半径。
在Main类中,使用Scanner类获取用户输入的半径,创建Circle对象,并输出圆的信息和面积。
希望这能解答您的问题。
以下代码的输出结果是什么?package Day06; import javafx.print.Collation; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; public class CustDemo { public static void main(String[] args) { addCustInfo("张三"); addInger(123); addall("小胡","老张"); isLastNull(""); sort(); } private static void addCustInfo(String name){ ArrayList<Cust> custs=new ArrayList<>(); Cust cust=new Cust(); cust.setCustName(name); custs.add(cust); System.out.println(custs.get(0).getCustName()); System.out.println("集合的大小为:"+custs.size()); } private static void addInger(int age){ ArrayList<Integer>integers=new ArrayList<>(); integers.add(age); System.out.println(integers.get(0)); System.out.println("集合的大小为:"+integers.size()); } private static void addall(String name,String name2){ ArrayList<String >strings=new ArrayList<>(); strings.add(name); ArrayList<String> strings1=new ArrayList<>(); strings1.add(name2); strings.addAll(strings1); for(String str:strings){ System.out.println(str); } System.out.printf("----->\n"); System.out.println(strings.get(1)); } private static void isLastNull(String name){ ArrayList<String >strings=new ArrayList<>(); strings.add(name); if(strings.size()>0){ System.out.println("非空"); }else { System.out.println("空"); } if(strings.isEmpty()){ System.out.println("空"); }else { System.out.println("非空"); } } private static void sort(){ ArrayList<Integer >integers=new ArrayList<>(); integers.add(1); integers.add(5); integers.add(3); integers.add(9); integers.add(7); integers.sort(Comparator.naturalOrder());//小到大排序 顺序 System.out.println(integers); System.out.println("----->"); integers.sort(Comparator.reverseOrder());//大到小排序 倒序 System.out.println(integers); System.out.println("----->"); Collections.sort(integers);//正序排序 System.out.println(integers); System.out.println("----->"); int y=1; for (Integer num:integers){ System.out.printf("序号为%d:",y); y++; System.out.println(num); } } // private void sunList(){ // // } }
以下是代码的输出结果:
```
张三
集合的大小为:1
123
集合的大小为:1
小胡
老张
-----> 小胡
[1, 3, 5, 7, 9]
----->
[9, 7, 5, 3, 1]
----->
[1, 3, 5, 7, 9]
----->
序号为1: 1
序号为2: 3
序号为3: 5
序号为4: 7
序号为5: 9
```
首先,`addCustInfo("张三")` 方法将字符串 "张三" 添加到 `ArrayList<Cust>` 集合中,并输出集合中的第一个元素以及集合的大小。
接下来,`addInger(123)` 方法将整数 123 添加到 `ArrayList<Integer>` 集合中,并输出集合中的第一个元素以及集合的大小。
然后,`addall("小胡", "老张")` 方法将字符串 "小胡" 和 "老张" 分别添加到 `ArrayList<String>` 集合中,然后使用 `addAll()` 方法将两个集合合并。最后,通过循环输出合并后的集合中的所有元素,并输出集合中的第二个元素。
接着,`isLastNull("")` 方法将空字符串添加到 `ArrayList<String>` 集合中,并通过判断集合大小和是否为空来输出结果。
最后,`sort()` 方法演示了对 `ArrayList<Integer>` 集合进行排序的几种方式。首先,使用 `integers.sort(Comparator.naturalOrder())` 方法对集合进行升序排序,并输出排序后的结果。然后,使用 `integers.sort(Comparator.reverseOrder())` 方法对集合进行降序排序,并输出排序后的结果。最后,使用 `Collections.sort(integers)` 方法对集合进行正序排序,并输出排序后的结果。接着,通过循环遍历输出排序后的集合中的所有元素,并给每个元素添加一个序号。
请注意,代码中的输出结果是按照方法调用的顺序逐行输出的。
阅读全文