-
主类名称需要和文件名相同。
-
数字加上字符串,可以自动转换为字符串
int a = 1, b = 2;
System.out.println(a + " " + b);
-
除法都是向0取整
-
字符串相等比较:
a.equals(b) // a和b可以为字符串常量。
-
将double变量保存到int变量中,会报错(精度损失)。
-
输出百分号:
%% // 而不是\%
- 不可以连续赋值,而CPP可以
int a, b;
a = 0; b = 1; // Java需要用分号分隔,CPP可以用逗号分隔
- int不可以转换为boolean
if (x % 2 == 1) // 不可以写成if (x % 2)
while (n -- > 0) // 不可以写成 while (n --)
-
数组长度可以是变量;可以在程序中多次改变数组长度。
-
数组可以基于范围遍历(字符串不行):
for (var x : a[i])
-
Java中没有
long long
类型,只有long
类型,且字节数与double
相同。 -
String
的api都会返回新的字符串,不会对原来的字符串进行修改(包括replace
)。 -
检查是否还有输入:
while(sc.hasNext())
- Scanner的读取值可以直接用于初始化
int[] a = {sc.nextInt(), sc.nextInt()};
data[i] = new Data(sc.nextInt(), sc.nextDouble(), sc.next()); // 自定义类
- 整数的最大值和最小值
Integer.MAX_VALUE
Integer.MIN_VALUE
-
支持问号表达式。
-
自定义类的大小关系
实现接口Comparable<>
和方法compareTo()
。
class Data implements Comparable<Data> {
int x;
double y;
String z;
public Data(int x, double y, String z) {
this.x = x;
this.y = y;
this.z = z;
}
public int compareTo(Data t) {
return x - t.x;
}
}
-
常用容器中,stack是类,其他的容器是类实现的接口。
-
定义容器时只能用
Integer
,而不能用int
。 -
直接返回一个数组
return new int[]{1, 2, 3};
-
若要使用
ceilingEntry(key)
,则变量类型必须声明为TreeMap<K, V>
,而不是Map<K, V>
。 -
声明容器时,只需要在左边的尖括号内写元素类型
Stack<Integer> stk = new Stack<>();