这里写自定义目录标题
- 1. Java标识符
- >> 标识符命名规范
- 2. 关键字和保留字
- Java中关键字
- Java中保留字
- 3. 常量与变量
- 4. 内存及内存的单位
- 5. 数据类型
- 6. 基本数据类型
- 6.1 整数类型
- 6.2小数/浮点类型
- 6.3 布尔类型
- 6.4 字符类型
- 7. 类型转换
- 7.1 自动类型转换
- 7.2 强制类型转换
- 7.3 特殊点
1. Java标识符
标识符(identifier)是指用来标识某个实体的一个符号,在不同的应用环境下有不同的含义。
在计算机编程语言中,标识符是用户编程时使用的名字,用于给变量、常量、函数、语句块等命名,以建立起名称与使用之间的关系。
>> 标识符命名规范
1、 标识符只能由英文、数字、下划线_、美元符号$组成,并且首字符不能是数字。
2、 标识符没有长度限制。
3、 标识符对大小写敏感(区分大小写:public和Public是不一样的)
4、 不能使用java中的关键字和保留字作为标识符。
类的命名:每个单词的首字母大写;
变量、方法的命名:首字母小写,其余单词首字母大写;
包的命名:字母全部小写;
2. 关键字和保留字
保留字:系统留用(可能永远也不会用, 但是你不能用)。
关键字:系统规定有特殊意义的词。
关键字,一定是保留字。保留字一般是等同于关键字的。
Java中关键字
abstract | assert | boolean | break | byte | case | catch | char | class | const |
continue | default | do | double | 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 | transient | try | void | super | volatile | while |
Java中保留字
goto、const
3. 常量与变量
- 常量
在程序执行过程中,其值不能发生改变的数据。比如:人的性别
如何定义常量:必须使用 final 关键字 - 变量
在程序执行过程中,其值可以发生改变的数据。比如:人的年龄
变量声明:变量类型,变量名以及变量值。
String name = “张三”;
4. 内存及内存的单位
- b(bit,位)是计算机内存中的最基本的计量单位。
- B(Byte,字节) 一个字节占8位,1B=8b,一个英文占一个字节,一个汉字占2个字节。
- KB(千字节)1KB=1024B MB(兆字节)1MB=1024KB
- GB(十亿字节)1GB=1024MB
- TB(万亿字节)1TB=1024GB JB(京)
- 1JB = 1024T
5. 数据类型
Java 语言是一种强类型语言。
内存中存储的数据都是有类型的,而且必须在编译时就确定其类型。
Java 中有两类数据类型:基本数据类型、引用数据类型。
6. 基本数据类型
基本数据类型分类 | 数据类型 | 所占内存大小 |
整数类型 | byte字节类型 | 1个字节 |
short短整型 | 2个字节 | |
int整型 | 4个字节 | |
long长整型 | 8个字节 | |
小数类型/浮点类型 | double双浮点/双精度 | 8个字节 |
float单浮点/单精度 | 4个字节 | |
布尔类型 | boolean布尔类型 | 1个字节 |
字符类型 | char字符类型 | 2个字节 |
6.1 整数类型
byte b = 123;
short a2 = 1500;
int a1 = 20;
long a3 = 20L; // 长整型 , L
整数类型 | 内存方面 | 表数范围(该类型的变量能够表达数字的范围) |
byte字节 | 1个字节 | -2的7次方----2的7次方-1(-128----127) |
short短整型 | 2个字节 | -2的15次方----2的15次方-1 |
int整型 | 4个字节 | -2的31次方----2的31次方-1 |
long长整型 | 8个字节 | -2的63次方----2的63次方-1 |
如果一个整数没有明确数据类型,那么他的数据类型默认为int类型。
6.2小数/浮点类型
如果一个小数没有明确数据类型,那么他的数据类型默认为double类型。
float f1 = 25.9234F; // 单精度 , F
double d1 = 7897614.787521;
- float 和 double 的区别
区别 | double双精度 | float单精度 |
内存 | 8个字节 | 4个字节 |
精度 | 精确到小数点后16位 | 精确到小数点后8位 |
运算速度 | 相对较慢 | 相对较快 |
精度丢失 | 容易产生精度丢失(有解决办法) | 不容易产生精度丢失 |
double类型的精度丢失,精度保留到小数点后16位。
float不容易产生精度丢失。
double d1 = 2.0;
double d2 = 1.1;
System.out.println(d1-d2); // 0.8999999999999999
float f1 = 2.0F;
float f2 = 1.1F;
System.out.println(f1-f2); // 0.9
6.3 布尔类型
只有两个值,一个是真(true),一个是假(false),不可能有其他值。
boolean b1 = true;
boolean b2 = false;
System.out.println(b1);
System.out.println(b2);
6.4 字符类型
方式一:使用单引号:
语法:char c = ‘a’;
注意:单引号里面有且仅有一个字符(甚至可以是一个汉字)。
char c1 = 'A';
char c2 = '男';
// char c3 = '你好'; 错误代码
System.out.println(c1); //A
System.out.println(c2); //男
方式二:不用单引号,值是某个数字(0-65535之间)
char c4 = 65;
System.out.println(c4);
按照ASCII码表进行对译。65对应A,97对应a。
7. 类型转换
7.1 自动类型转换
如果从表数范围较小的,变成范围较大的,则自动转换
小 int — long — float — double 大
//自动类型转换(小类型 --> 大类型)
double d1 = 90;
System.out.println(d1); //90.0 , 自动类型转换(int --> double)
double result = 3.0 / 5 + 2;
System.out.println(result); // 2.0 ? 2.6 ?
7.2 强制类型转换
如果从表数范围较大的,变成范围较小的,则强制转换
大 double—float—long—int 小
强转的语法
范围较小的数据类型 变量名 = (范围较小的数据类型)范围较大的数据类型;
【注意】强制类型转化会出现精度丢失。
//强制类型转换(大类型 --> 小类型)
double d2 = 235.95654;
int num = (int) d2;
System.out.println(num); //235
float f1 = (float) d2;
float f2 = (float) (d2+1);
System.out.println(f1); //235.95654
System.out.println(f2); //236.95654
7.3 特殊点
所有的byte类型、short类型和char类型的数据在参与类型转换的时候,将直接被提升为int类型。
boolean类型的数据不参与类型的转换。