Java基础
一、注释
1.单行注释
//我是单行注释内容
2.多行注释
/*
我是
多行
注释内容
*/
3.文档注释
/**
*我是
*文档
*注释内容
*/
二、标识符
Java关于标识符的语法规则
-
标识符的第一个字符不能是数字
例:12a 是非法的标识符
-
首字符之后可以是字母(A~Z或a-z)、下划线(_)、美元符($)或数字的任何组合,不限长度
例:a1、$1、_12a 是合法的标识符
-
标识符不能是关键字
-
标识符是大小写敏感的
hello和Hello是不一样的
-
标识符不能是false、true和null(尽管他们不是Java的关键字)
三、关键字
Java的50个关键字
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 |
四、数据类型
1.八大基本数据类型
(1)数值类型
-
整数类型
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是一个类
(2)boolean类型(逻辑类型)
true和false:占1位
扩展
1.什么是字节?
-
位(bit):计算机内部储存的最小单位
例:1111 1001 这是一个8位二进制数
-
字节(byte):计算机中数据处理的基本单位,一般用“B”表示
1B = 8bit (1字节 = 8位)
-
字符:计算机中使用的字母、数字、字和符号
2.进制
二进制 十进制 八进制 十六进制 0b 0 0x 0~1 0~9 0~7 0~9 A~F
2.引用数据类型
- 类
- 接口
- 数组
五、数据转换
Java是强类型语言,进行有些运算的时候,需要用到类型转换。
不同类型数据先转换为同一类型,然后再进行运算。
自动类型转换:
低 ———————————————————————————————————————————> 高
byte\short\char->int->long->float->double
强制类型转换:
高 ———————————————————————————————————————————> 低
1.强制类型转换
强制类型转换:(类型名)变量名
int i = 128;
dyte n = (byte)i;
System.out.println(i); //128
System.out.println(i); //-128(byte最大值是127,内存溢出)
2.自动类型转换
int i = 128;
double d = 128;
System.out.println(i); //128
System.out.println(d); //128.0
注意:
-
不能对布尔值进行转换
-
不能把对象类型转换为不相干的类型
-
高容量转换成低容量的时候需要强化转换
-
转换的时候可能存在内存溢出或精度问题
//精度问题 System.out.println((int)10.34); //10