最后还是迫于现实(实习项目)要学JAVA(#——# 其实我想学学C#),好吧废话就不多说了
JAVA的8种基本类型:
1. 整型
byte(1字节,-128~127) short(2字节,-32768~32767)
int(4字节,-2147483648~2147473647,20亿左右)
long(8字节,-9223372036854775808~9223372036854775807,92亿亿左右)
- JAVA没有任何的unsigned类型
2. 浮点型
float(4字节,有效位数为6~7位)
double(8字节,有效位数为15位)
- 浮点型还有3个特殊值,无穷大,无穷小和NaN,检测是否为NaN应该使用if(Double.isNaN(x))
- 另,由于二进制的缘故,浮点数计算会出现误差,如10个0.1相加结果是9.999....,在判断相等时应当取两数相减的绝对值,判断是否小于一个较小的数(如1e-6,1e-9)
3. 字符型
char(2字节,\u0000~\Uffff)
- JAVA采用的是Unicode编码,不同于C/C++的ASCII,因此JAVA中1个char变量也可以存储一个中文啦,不过貌似还有个码点的东西,具体么看懂(=-=)
4. 布尔型
boolean(4字节,false和true)
- 注意是boolean不是bool
- 其实很不理解为啥要4个字节,明明1个bit就够了,查了下是这样解释的
- 理由来源是《Java虚拟机规范》一书中的描述“虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。在Java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达式所操作的boolean值,在编译之后都使用Java虚拟机中的int数据类型来代替,而boolean数组将会被编码成Java虚拟机的byte数组,每个元素boolean元素占8位”。这样我们可以得出boolean类型占了单独使用是4个字节,在数组中又是1个字节”。
---------------------------------------------------------------------------------------------------------------------------
- JAVA中变量若只声明而未初始化或赋值,则不能够使用
- Eclipse快速打印System.out.println()的方法是 "syso"+"alt+/"+"回车"
- Eclipse快速打印Scanner的方法是 "sc"+"alt+/"+"回车"
- Eclipse单/多行注释或取消注释“//”,选中注释区域,按"ctrl+/";类注释先打“/**”,再回车即可
---------------------------------------------------------------------------------------------------------------------------
- JAVA中的const是保留字,不能使用,设置常量使用final
- 一般常量名全大写表示
public class Main { public static final double PI = 3.1415926; //可在多个方法中使用 public static void main(String[] args) { final int N = 32; //仅在该类中使用 } }
---------------------------------------------------------------------------------------------------------------------------
- 移位运算符 <<,>>,<<<
- 其中右操作数都先完成了模32(若左操作数是long则模64)运算,因此1<<35等价于1<<3
- >>使用符号位填充,>>>使用0填充
---------------------------------------------------------------------------------------------------------------------------
- enum枚举类型只能定义在顶级类
public class Main { enum Size{S,M,L,LL}; public static void main(String[] args) { // 不能在此处定义enum Size size = Size.S; switch(size) { case S: ; case M: ; case L: ; case LL: ; default: ; } } }