输入:
next():读取到空格或换行符结束
nextline():读取到换行符结束
System.exit(0):结束程序
while (num != 0) //读取到num=0结束
Scanner s = new Scanner(System.in);
while(s.hasNext()) //当不在输入时结束
输出:
当需要保留小数时:
1.使用DecimalFormat类:DecimalFormat类可以帮助我们将数字格式化为指定的模式,以便于输出。例如,保留两位小数可以使用以下代码:
double d = 3.1415926;
DecimalFormat df = new DecimalFormat("#.00");
String result = df.format(d);
System.out.println(result); // 输出 3.14
2.使用String.format()方法:String.format()方法类似于C语言中的sprintf函数,它可以根据指定的格式化字符串格式化输出结果。例如,保留两位小数可以使用以下代码:
double d = 3.1415926;
String result = String.format("%.2f", d);
System.out.println(result); // 输出 3.14
当要四舍五入时:
Java中可以使用BigDecimal类的setScale()方法实现四舍五入。setScale()方法接受两个参数,第一个参数是保留小数位数,第二个参数是舍入模式,常用的有三种:
- RoundingMode.UP:向上舍入,即若保留位后一位大于等于5,则进一,否则舍去。
- RoundingMode.DOWN:向下舍入,即直接舍去保留位后面所有的数字。
- RoundingMode.HALF_UP:四舍五入,即若保留位后一位大于等于5,则进一,否则舍去。
例如,以下代码展示了如何将一个double类型的数值保留两位小数并进行四舍五入:
double num = 3.1415926;
BigDecimal bd = new BigDecimal(num);
double result = bd.setScale(2, RoundingMode.HALF_UP).doubleValue();
System.out.println(result);
排序:
对数组:
1.使用Arrays类的sort()方法排序:
int[] arr = {4, 2, 7, 1, 3};
Arrays.sort(arr);
2.使用Collections类的sort()方法排序:
Integer[] array = {4, 2, 7, 1, 3};
List<Integer> list = Arrays.asList(array);
Collections.sort(list);
对集合:
1.使用Collections类的sort()方法排序:
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Collections.sort(list);
Comparator接口实现自定义排序:
- 对象数组自定义排序
-
使用Comparator实现比较方法来进行自定义排序
public class Student { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } // 自定义比较方法 public static Comparator<Student> ageComparator = new Comparator<Student>() { @Override public int compare(Student s1, Student s2) { return s1.getAge() - s2.getAge(); } }; } // 调用自定义比较方法进行排序 Student[] students = {new Student("Tom", 20), new Student("Jerry", 18), new Student("Mary", 21)}; Arrays.sort(students, Student.ageComparator);
- 集合自定义排序
-
使用Comparator实现比较方法来进行自定义排序
List<Student> students = new ArrayList<>(); students.add(new Student("Tom", 20)); students.add(new Student("Jerry", 18)); students.add(new Student("Mary", 21)); // 调用自定义比较方法进行排序 Collections.sort(students, Student.ageComparator);
Comparable接口实现自定义排序:
-
在进行排序时,可以直接使用Java提供的
Arrays.sort()
或Collections.sort()
方法进行排序。接口定义如下:public interface Comparable<T> { public int compareTo(T o); }
其中
compareTo()
方法用于比较当前对象和另一个对象的大小,返回值为int类型,根据返回值的正负来决定两个对象的大小。自定义排序需要实现
Comparable
接口,并重写compareTo()
方法,然后在compareTo()
方法中编写比较逻辑。以下是示例代码:public class Student implements Comparable<Student> { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } @Override public int compareTo(Student s) { // 按年龄从小到大排序 if (this.getAge() < s.getAge()) { return -1; } else if (this.getAge() > s.getAge()) { return 1; } return 0; } }