IDE
IDE(Integrated Development Environment)集成开发环境,是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。
常用的Java开发工具有:IntelliJ IDEA(主流),Eclipse
IDE的使用会大大提高我们的变成效率
注释
使用特定的符号,标注内容,对代码功能进行说明
// 单行注释
/* */多行注释
/** */ 文本注释,用于类,方法,属性功能进行说明,可在调用时提示
关键字
关键字的定义和特点
**定义:**被Java语言赋予了特殊的含义,用做专门用途的字符串(单词)
**特点:**关键字中的字母都是小写
关键字会在以后的章节慢慢讲解
保留字
**Java保留字(goto const):**现在的Java版本尚未使用,但以后的版本可能会用作关键字使用
自己在起变量名的使用同样要避免与关键字和保留字
那为什么不在更新版本的时候直接将保留字作为关键字使用呢?为什么要多此一举定义一个目前用不到的保留字呢?
我的理解是,我们写的所有代码肯定有很多代码实在使用旧版本jdk时书写的,但是如果有一天更新了jdk,恰巧你的代码中含有这些保留字,那么你的某些使用旧版本jdk书写的代码就无法运行呢,当我们定义保留字这个概念后就会避开这个问题,使得我们的代码可以永久执行
标识符
**标识符:**Java中对各种变量,方法,类进行命名时使用的字符序列
标识符的规则:
- 由26个英文字母大小写组成,0-9,_或$组成数字不可以开头
- 不可以直接使用关键字或者保留字,但是可以包含
- Java中严格区分大小写,长度无限制
- 标识符不能包含空格
- 要见名知意
- 约定:类名首字母大写(大驼峰),方法名、变量名首字母小写(小驼峰),常量名全部字母大写
变量
变量是程序中最基本的存储单元,运行的时候值可以改变
本质上,变量是内存中的一小块区域,需要使用变量名来进行访问。因此,每一个变量都需要先声明,再赋值,然后才能使用
数据类型
为什么需要数据类型呢?
我们直接a = 10不就行了吗?
这里提一下,我们一般在某种场合使用的数字是有范围的,比如,现在可观测宇宙138亿光年,那么我们与某个星体之间的距离就不可能超过138亿光年,因为宇宙诞生之初到现在138亿年,光从其他星体传播到地球最多只能看到138亿年光年距离以内的星体,以外的我们看不到。定义两个星球之间距离变量的时候,我们无需定义太大,只需要一个固定存储空间即可,越小越节约内存空间,但是要适量
所以Java中定义了各种数据类型,在计算机层面看,对数据类型进行管理,是为了节约空间。
分类
1.基本数据类型:
1.数值型
1.整数类型:byte(1),short(2),int(4),long(8)L
2.浮点类型:float(4)F,double(8)
2.字符型(char)(1)
3.布尔型(boolean)(1)
2.引用数据类型:类,数组
Java中的整数字面量,默认是int类型,long类型在字面之后加L(建议大小,否则小写l小1)
浮点型字面量,默认是double类型,float类型在字面量后加F或f
java中只能使用boolean类型表示真假,而不能使用0或1
我们在使用字符型变量进行打印的时候会发现,打印结果是97,这是因为计算机在底层是以二进制存储数据的,在Java中默认使用的是unicode编码,集成了世界上大多数字符,可以支持各国人民轻松编程。
基本数据类型转换
八种基本数据类型之间除了布尔型不可以与其他七种之间转换
其他byte,short,int,long,float,double,char之间都可以相互转换
由于数据之间需要传递,那么就可能会出现类型不一致,所以不同类型之间需要相互转换
转换规则
1.默认转换
byte->short->int->long->float->double
为什么long8个字节可以默认转化为float4个字节?
这是因为float与一般整数型字面量不同,它32个bit位,第一位存储符号,第二到9位存储指数,剩下的23位存储小数域。虽然float只有4个字节,但是他的存储范围大于8个字节的long
2.强制类型转换
byte<-short<-int<-long<-float<-double
为什么这里需要强制类型转换,而不是直接转换,因为强制类型转换丧失精度太多,需要我们编程者手动确认才行,否则Java直接转换会导致大量精度损失,等于Java加了一层防护