//我是单行注释内容
/* 我是 多行 注释内容 */
/** *我是 *文档 *注释内容 */
标识符的第一个字符不能是数字
例:12a 是非法的标识符
首字符之后可以是字母(A~Z或a-z)、下划线(_)、美元符($)或数字的任何组合,不限长度
例:a1、$1、_12a 是合法的标识符
标识符不能是关键字
标识符是大小写敏感的
hello和Hello是不一样的
标识符不能是false、true和null(尽管他们不是Java的关键字)
abstract | assert | boolean | break | byte |
---|---|---|---|---|
case | catch | char | class | const |
continue | default | do | doulble | else |
enum | extends | final | finally | float |
for | goto | if | implements | import |
instanceof | int | interface | long | native |
new | package | private | protected | public |
return | strictfp | short | static | super |
switch | synchronized | this | throw | throws |
transient | try | void | volatile | while |
整数类型
byte:-128~127(占1个字节范围)
short:-32768~32767(占2个字节范围)
int:-2147483648~2147483647(占4个字节范围)
long:-9223372036854775808~9223372036854775807(占8个字节范围)
long num = 10L; //long类型要在数字后面加“L”
浮点类型
float:占4个字节
float num = 3.14F; //flaot类型后面加“f”
double:占8个字节
float f = 0.1f; //0.1 double d = 0.1; //0.1 System.out.println(f == d); //flase float f1 = 123312f; float f2 = f1 + 1; System.out.println(f1 == f2); //true //浮点数能表示的字长是有限的,也是离散的,浮点数一般都会存在舍入误差,很多数字没有办法精确表示(大约)
字符类型
char:占两个字节
char name = "字"; //string 不是关键字,string是一个类
true和false:占1位
位(bit):计算机内部储存的最小单位
例:1111 1001 这是一个8位二进制数
字节(byte):计算机中数据处理的基本单位,一般用“B”表示
1B = 8bit (1字节 = 8位)
字符:计算机中使用的字母、数字、字和符号
二进制 | 十进制 | 八进制 | 十六进制 |
---|---|---|---|
0b | 0 | 0x | |
0~1 | 0~9 | 0~7 | 0~9 A~F |
Java是强类型语言,进行有些运算的时候,需要用到类型转换。
不同类型数据先转换为同一类型,然后再进行运算。
自动类型转换: 低 ———————————————————————————————————————————> 高 byte\short\char->int->long->float->double 强制类型转换: 高 ———————————————————————————————————————————> 低
强制类型转换:(类型名)变量名
int i = 128; dyte n = (byte)i; System.out.println(i); //128 System.out.println(i); //-128(byte最大值是127,内存溢出)
int i = 128; double d = 128; System.out.println(i); //128 System.out.println(d); //128.0
注意:
不能对布尔值进行转换
不能把对象类型转换为不相干的类型
高容量转换成低容量的时候需要强化转换
转换的时候可能存在内存溢出或精度问题
//精度问题 System.out.println((int)10.34); //10