Java学习笔记之水题日志
java 之arrays
- 导入模板: import java.util.Arrays;
- 常用函数:
- 排序: Arrays.sort(a,start,end );
- 转化成字符串: Arrays.toString(a);
- 复制数组: Arrays.copyOfRanges(a,start,end);
- 二分查找: Arrays.binarySearch(a,x); // 返回索引,即数组下标,找不到时返回-1;
java 之 格式化输出:
- java 格式化输出浮点类型:
- 方法一:
double d1 = 123.635; double d2 = 123.6; System.out.printf("%#.2f %#.2f/n", d1, d2); // 記住是%f,而不是%lf
- 方法二:
double d1 = 123.635; double d2 = 123.6; DecimalFormat df = new DecimalFormat(".00"); System.out.println(df.format(d1) + " " + df.format(d2));
java 接受用戶輸入:
- 导入模板: import java.util.Scanner;
- 接受用戶輸入:
PS: java 基本数据类型: 真正赋值 ,对象则是引用Scanner in =new Scanner(System.in); in.hasNext(); //判断用户是否有下一次的输入 int x =in.nextInt(); // x接收用户输入的int类型数据
java String类 java api
string s ;
char[] arr = s.toCharArray();
s.equals(str);// 判断s 与str是否相等,相等返回 true,否则false
s.equalsIgnoreCase(str);// 忽略大小写
s.split(String regex) ; //差分字符
s.replace(str1,str2);//用str2替换s中的str1
s.indexof(str);//返回str在s中第一次出现的位置,没有返回-1
s.substring(int start,int end);// 返回一个s[start,end)的字符串
java 接口的区别:
- Interface是用来定义类的,I并且是一个极度抽象的类,因为它允许人们通过创建一个能够被向上转型为多种基类的类型,来实现某种类似多种继承变种的特性。
- Interface接口仅包含方法的声明,而不包含其实现。也就是说,实现接口的每个类都必须为该接口中声明的每个方法提供实现。
Interface接口方法定义不能包含任何属性(如 public 或 private),但在实现接口的类的定义中,已实现的方法必须标记为 public。 - 通过 extends 语句可以使用一个接口继承多个接口,通过 implements 语句可以使用一个类继承多个接口。
- 通俗的讲:interface 只能定义,不能实现,implements可以实现
- 引自:传送门
java 多级自定义排序: (update: 2018-03-29)
- 前提说明:
输入学生姓名,年龄,以及成绩
以成绩降序,年龄升序的形式输出.- Ps:如果你学过c++,也用c++写过线性求素数,仔细比较下,你会发现这两者之间存在的区别.(⊙v⊙)嗯,就是这样!
/**
* @author John Nash
* @date Crate time:2018年3月26日下午10:26:03
*/
import java.util.Scanner;
import java.util.Arrays;
class Person implements Comparable<Person> {
String name;
int score ;
int age ;
public int compareTo(Person b) // 返回值有三种 1,0,-1
{
if (score!=b.score)
return b.score - score;
else
return age -b.age;
}
}
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
int n = in.nextInt();
Person a[] = new Person[n];
for (int i = 0; i < n; i++) {
a[i] = new Person();
a[i].name = in.next();
a[i].score = in.nextInt();
a[i].age =in.nextInt();
}
Arrays.sort(a);//
for (int i = 0; i < n; i++) {
System.out.println(a[i].name + " " + a[i].score+ " "+a[i].age);
}
}
}
}
注意:
以上内容,作者一字一句码出来的,纯属不易,欢迎大家转载,转载是还请您表明出处。另外如果我有侵权行为,请在下方留言,确认后我会及时撤销相应内容,谢谢大家!
猜你喜欢