关键字
关键字:就是被Java语言所赋予了特殊意义的英文单词,如果你用的是第三方记事本(例如:EditPlus),这些关键字会以蓝色显示。
标识符
标识符:就是你给变量,常量,类,方法等等起的名字。
标识符的命名规范:
1.使用字母,数字,符号的组合。
2.数字不能开头,不能拿纯数字命名。
3.不能拿关键字来命名。
4.命名时最好见名知意。
5.尽量不要用去使用一些特殊符号来命名,但是 _ ,$可以使用。
6.给类起名字,除了遵循上面的通用规范,类名一般首字母大写。
字面值常量
常量:在程序执行过程中,其值不发生变化的量。
java中常量分为:字面值常量和自定义常量(后面说)。
字面值常量:
1.整数常量 :100 、15
2.小数常量:3.14、5.5
3.字符常量:需要用单引号,引起来的单个字符:‘a’,‘1’,‘你’,’ ’
4.字符串常量:需要用双引号,引起来单个或多个字符:“a”,“sac”,“100”
5.布尔常量:true(真,对) false 假,错)
6.空常量:null
运算符
运算符:操作变量或常量的符号
算数运算符
算数运算符:+ - * % ++ –
++ 和 --:单独使用放前放后没有区别(i++,++i,j–,--j)
混合使用:++/–在前,先运算后使用,++/–在后,先使用后运算
赋值运算符
= += -= *= /= %=
赋值运算符是从右往左运算
比较运算符
== != < > <= >=
注意=和==的区别!
比较运算符的运算结果是boolean类型
逻辑运算符
&(并且) |(或者) !(非) ^(异或) &&(短路与) ||(短路或)。
逻辑运算符的运算结果是布尔类型的。
逻辑运算符一般用于连接boolean类型的表达式或者值。
&:运算两端只有同时为true最终结果才为true,只要任意一端为false其最终结果都是false。
|:运算两端只要有任意一端结果为true,最终会结果就为true。
^:相同为false,不同为true------>男女 女男为true,男男 女女 为false。
&和&&的区别:它们再最终的运算结果上,是没有区别的,只是在运算效率上有区别,在运算效率上是有区别的,因为&运算两端的表达式都会执行,而&&当左端的表达式结果为false时,右端的表达式就不执行了。但是左端为true,右端的表达式还是要执行的。(后续最好用&&,运算效率会高一些)。
|和||的区别:|两端的表达式都需要计算,||的话当左端的表达式为true时,右端表达式就不执行,但是左端为false时,那么右端的表达式还需要执行。
位运算符
位运算符是直接对补码进行运算,所以运算效率比较高
&:有0则0
|:有1则1
^:相同则0,不同则1
~:按位取反。0变1,1变0,符号位也包含在内取反,补码取反之后再推回到原码
<< 左移 >>右移 >>>无符号右移
原码,反码和补码
定点表示法:把一个数据的二进制数据的最高位作为符号位
0表示正数 1表示负数 剩余作为数值位
计算机底层做运算时,使用补码做运算的
正数的原码、反码、补码时一样的
即+7的原码、反码、补码都是 00000111
负数的反码,在原码基础上,符号位不变,其余位取反
负数的补码,在反码基础上。末位+1
即-7的原码:10000111
数据类型(四类八种)
Java中的数据类型,基本数据类型和引用数据类型(后面讲)
基本数据类型:整数型,小数型(浮点型),字符,布尔
整数型:
byte(占用一个字节 它能表示的整数范围:-128----127)
short(占用两个字节 -2^15 ~ 2^15-1)
int (占四个字节 -2^31 ~ 2^31-1)
long(占八个字节 -2^63 ~ 2^63-1)
小数型:
float(占四个字节)
double(占八个字节)
字符型:
char (占两个字节)
布尔:
boolean(占一个字节)-----值只有两个 true false
变量
变量:程序执行过程当中,其值可以发生变化的量。例如:身高,体重,年龄。
变量:其实就是内存中开辟的一块空间,可以存储数据,并且存储的数据可以发生变化。
Java中定义变量的语法:数据类型 变量名=值;
数据类型的转换
数据类型的隐式转换
当byte short char的数据在参与运算时,会自动提升为int类型,如何还有long float double类型参与运算,则会相应的提升为long float double。
byte short char不参与转换
数据类型的强制转换
强制类型转换:把数据类型强制转换成我要的类型,经常会丢弃掉多余字节,就有可能会发生精度损失的问题。
常量优化机制:当多个常量参与运算时,会把结果算出来,看这个结果,在没在这个数据类型范围内,如果在,就不报错,如果不在,就报错。