Java 2
一、关键字
1、关键字的特点:
- 关键字字母全部都是小写
- 常用的代码编辑器,IDEA针对关键字有特殊颜色的标记
- 常用关键字:public、class、static、void
二、常量
常量都可以输出,但是空值常量null不能输出
三、数据类型
Java是一个强类型的语言,对于每个数据类型都给了明确的数据类型。
- byte类型:1个字节
- boolean类型:1个字节
- short类型:2个字节
- char类型:2个字节
- int数据类型:默认4个字节
- float类型:4个字节
- long,double类型:8个字节
定义long类型时,需要在后面加L
定义float类型时,需要在后面加F
ps:几乎所有的数据类型取值范围都是一样的,当学习过C语言以后,就知道为什么每个比特下存储的内存结构,为什么是-128到127,因为数据类型也会出现很多bug和黑客的漏洞
四、变量
声明和赋值的方式和C#一样
- 数据类型 变量名 = 值
- 在一个代码块中不可以定义相同的变量名字,和C#语言一样的规则。
- 数据声明以后,如果没有初始化,就会报错,无法生成。
- 从double到float,不可以隐式转换,需要在小数的数值后面加上f,就可以使用了。
五、标识符
标识符可以包含英文字母、0-9数字、$美元符号、
标识符不能以数字开头;
标识符不能是关键字。
六、类型转换
隐式类型转换:从小到大
byte -> short -> int -> long -> float -> double
char ↗
从大到小也可以强制进行类型转换
七、算数运算符
ps:运算符和C#没什么区别
注:两个int类型计算结果为int类型,其中一个是double,结果也会是double。
int类型加上一个char类型,结果会是ASCII码表中的对应数值加上int数据得出结果。
小结:
- 算术表达式中包含多个基本数据类型的值时,整个算术表达式的类型会自动进行提升,提升的规则是:
- byte类型,short类型和char类型将被提升到int类型
- 整个表达式的类型自动提升到表达式中最高等级操作数的数据类型
- 等级顺序:byte,short,char -> int -> long -> float -> double
- 底层计算使用ASCII码进行计算
八、自增自减运算符/关系运算符
- 符号在前还是在后,是有区别的。这个区别和C#理解一样,但是在学习中知道了在汇编中的方法不太一样,以后再做研究。
- 关系运算符和C#用法一样
九、逻辑运算符
&:逻辑与
|:逻辑或
^:逻辑异或 a^b,a和b结果不同为ture,相同则为false
!:逻辑非
十、短路运算符
ps:&&和||称谓短路运算符,作用和C#中一样的,但是第一次学习到短路运算符,计算一侧满足条件以后,右侧表达式就不再执行。这个可以提高程序的效率。
十一、三元运算符
关系表达式 ? 表达式1 : 表达式2
解释:问号前面的位置是判断的条件,判断为boolean类型,为true时调用表达式1,为false时调用表达式2。如果条件表达式成立或者满足则执行表达式1,否则执行表达式2.
ps:这一块最早学习C#中就学习了三元表达式,但是后期使用过程中很少启用,虽然可以节省大量代码,但是好像其他人也不推荐。目前不太懂为什么不用。