技巧
# Java 小知识
(此处归纳比较琐碎的知识点)
- 字符串中的 “+” 就是把两个字符串拼接在一起
System.out.println("ab" + "c" + 4 + 6);//结果是:abc46
System.out.println(4 + 6 + "abc");//结果是:10abc
1
2
2
- java 中的真是 true,假是 false,它们都是布尔类型的,不是 C 语言中的 0 和 1
- java 中的关键字都是小写的
- 如下代码:f1 其实是通过一个 double 类型转换过来的,可能会有精度损失,f2 本身就是一个 float 类型,不会有精度损失,所以建议采用第二种写法(在数据后面加 F\f 后缀),同样的,在定义 long 类型变量的时候要加 L 后缀,byte 和 short 没有对应的后缀,double 其实也有后缀 D\d
float f1 = (float)12.345;
float f2 = 12.345F;
1
2
2
- 在 java 虚拟机中,大部分的指令都不支持 byte、char、short,没有任何指令支持 boolean,编译器在编译期间或者运行期间将 byte、char、short、boolean 类型的数据扩展为相应的 int 类型数据,因此,对于大多数 byte、char、short 和 boolean 类型数据的操作,实际上都是使用相应的 int 型作为运算类型的,但是对于 float、double 类型数据的操作还是浮点型,不是 int 型,所以不必强转,如下代码:
byte b1 = 3, b2 = 4, b3;
b3 = b1 + b2;//这是错误的,应改为b3 = (byte)(b1 + b2);
b3 = 3 + 4;//这是对的,因为3和4是常量,常量运算是先把结果计算出来,然后看是否在byte的范围内(-128~+127),如果在就不报错
1
2
3
2
3
- 变量的运算结果只有在运行时才能确定,而常量运算结果在编译时就确定了
- Java 中的 char 占 2 个字节,而单个汉字也占 2 个字节,所以 Java 中的 char 可以存储一个中文汉字
- 在 Java 语言中,像 "+= “、”-=“、”/="… 这些扩展的赋值运算符其实隐含了一个强制类型转换,例:s+=1; 不等价于 s = s+1,而是等价于 s = (s 的数据类型)(s+1);
- 位运算符是针对二进制的运算,其中位异或运算符(^)特点是:一个数据对另一个数据位异或两次,该数据保持不变
int a = 10;
int b = 20;
System.out.println(a^b^b);//10
System.out.println(a^b^a);//20
1
2
3
4
2
3
4
- 在 Java 语言中,break 不仅有跳出单层循环的功能,还有跳出多层循环的功能
wc : for(int i = 0; i < 3; i++)
{
nc : for(int j = 0; j < 4; j++)
{
if(j == 2)
{
break wc;
}
}
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
- Java 中的字面值就是 C 语言中的常量
- 对象变量(对象引用变量)并没有实际包含一个对象,它只是存储了某个对象在堆内存中的引用(地址)
- new 操作符的返回值是一个引用
- 在一个 Java 文件中,文件名必须与 public 类的名字相同,只有一个公共类,但可以有任意数目的非公共类
- 如果可以从变量的初始值推导出它们的数据类型,那么可以用 var 关键字声明局部变量而无需指定数据类型,注意:var 关键字只适用于方法中的局部变量
var a = 10;
等价于
int a = 10;
1
2
3
2
3
- 调用构造器的语句只能作为另一个构造器的第一条语句出现
- 在 Java 中,只有基本数据类型不是对象,例如:数值、字符、布尔类型都不是对象
- Java 中能直接调用系统时间并显示
import java.util.Date;
System.out.printf("%tc", new Date());
1
2
2
# Eclipse 中常用的快捷键
- main 方法
main + Alt + /
1
- 输出语句
syso + Alt + /
1
- 起变量名
Alt + /
1
- 格式化
Ctrl + shift + f
1
- 导包
Ctrl + shift + o
1
- 注释
单行注释:Ctrl + /
多行注释:Ctrl + shift + /
取消多行注释:Ctrl + shift + \
1
2
3
2
3
- 代码上下移动,选中代码 Alt + 上 / 下箭头
- 查看源码,选中类名(F3 或 Ctrl + 鼠标左键)
- 快速创建类的无参构造
Alt + shift + s + c
1
- 快速创建类的带参构造
Alt + shift + s + o
1
- 快速创建类属性访问方法(get/set)
Alt + shift + s + r
1
编辑 (opens new window)
上次更新: 2024/06/09, 21:19:54