一,Java标识符
【1】标识符:读音 biao zhi fu (注意是标zhi符,不是标shi符,“识”这个字是多音字,我也是才发现^_^,你呢?)
【2】标识符是?
包,类,变量,方法.....等等,只要是起名字的地方,那个名字就是标识符。
【3】标识符定义规范:
1.四个可以(组成部分):数字,字母,下划线_,美元符号$
注:字母概念比较宽泛,指的是英文字母,汉字,日语,俄语......一般起名字尽量使用英文字母
2.两个不可以:不可以以数字开头,不可以使用java中的关键字
3.见名知意:增加可读性
4.大小写敏感: int a ; int A;
5.遵照驼峰命名:
类名:首字母大写,其余遵循驼峰命名
方法名,变量名:首字母小写,其余遵循驼峰命名
包名:全部小写,不遵循驼峰命名
6.长度无限制,但是不建议太长 asdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasfd
二,Java常量与变量:
1,常量:
常量分为两种:
常量通常指的是一个固定的值,例如:1、2、3、’a’、’b’、true、false、”helloWorld”等。
在Java语言中,主要是利用关键字final来定义一个常量。 常量一旦被初始化后不能再更改其值。
为了更好的区分和表述,一般将1、2、3、’a’、’b’、true、false、”helloWorld”等称为字面常量,而使用final修饰的PI等称为符号常量(字符常量)。
2,变量:
变量本质上就是代表一个”可操作的存储空间”,空间位置是确定的,但是里面放置什么值不确定。我们可通过变量名来访问“对应的存储空间”,从而操纵这个“存储空间”存储的值。
Java是一种强类型语言,每个变量都必须声明其数据类型。 变量声明格式:
type varName [=value][,varName[=value]...];
数据类型 变量名 [=初始值] [,变量名 [=初始值]…];//[ ]中的内容为可选项,即可有可无
例:
int age = 19 , age2 = 90 ;
int age,age2;
变量的数据类型决定了变量占据存储空间的大小。 比如,int a=3; 表示a变量的空间大小为4个字节。
变量作为程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。变量在使用前必须对其声明, 只有在变量声明以后,才能为其分配相应长度的存储空间。 变量的作用域:
作用域指的就是作用范围,变量在什么范围中有效,作用范围就是离它最近的{ }。
三,Java基本数据类型:
1,整数类型:
整数常量:
十进制整数,如:99, -500, 0
八进制整数,要求以 0 开头,如:015
十六进制数,要求 0x 或 0X 开头,如:0x15
二进制:要求0b或者0B开头,如:0b11
平时实际生活中用的最多的是:十进制
计算机用二进制最多
整型数据类型变量:
2,浮点类型:
浮点常量:
(1)十进制数形式,例如:
3.14 314.0 0.314
(2)科学记数法形式,如
314e2 314E2 (E的大小写没有区分) 314E-2
double f = 314e2; //314*10^2-->31400.0
double f2 = 314e-2; //314*10^(-2)-->3.14
浮点变量:
float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。而double表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分应用程序都采用double类型。
float类型的数值有一个后缀F或者f ,没有后缀F/f的浮点数值默认为double类型。
也可以在浮点数值后添加后缀D或者d, 以明确其为double类型。
3,布尔类型:
boolean类型有两个常量值,true和false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 的整数替代 true 和 false ,这点和C语言不同。 boolean 类型用来判断逻辑条件,一般用于程序流程控制 。
四,Java运算符:
算术运算符
+,-,*,/,%,++(自增),--(自减)
/ 除法运算符 : 表示两个数相除运算
% 取余运算符: 用来求余数的
+的作用:
(1)表示正数
(2)表示相加操作
(3)进行字符串的拼接
++: 无论这个变量是否参与到运算中去,只要用++运算符,这个变量本身就加1操作
只是说如果变量参与到运算中去的话,对运算结果是产生影响:看++在前还是在后,如果++在后:先运算,后加1 如果++在前,先加1,后运算
赋值运算符
=
=的作用: 将等号右侧的值赋给等号左侧:
int age = 19;
int age = 10+3+8;
扩展赋值运算符
+=,-=,*=,/=
a+=b 和 a=a+b 区别:
(1)a+=b 可读性稍差 编译效率高 底层自动进行类型转换
(2)a=a+b 可读性好 编译效率低 手动进行类型转换
但是两者作用相同*=和/=同理。
关系运算符
>,<,>=,<=,==,!=
表比较, 其中“!”表非的意思,所以“!=”就是不等于。
关系运算符最终结果:要么是true要么是false
逻辑运算符
&,|, &&,||,!,^
&,|, &&,||,!,^
逻辑运算符:进行逻辑运算的,运算符左右连接的都是 布尔类型的操作数,最终表达式的结果是布尔值:要么是true,要么false
位运算符
&,|,^,~ , >>,<<,>>>
位运算符:&,|,^,~ , >>,<<,>>>
如何区分逻辑运算符和位运算符:
逻辑运算符:左右连接的是布尔类型的操作数
位运算符:左右连接的是具体的数值
【1】<< 左移
3<<2 = 12
【2】>> 有符号右移
6>>2 = 1
-6>>2 = -2
【3】>>> 无符号右移:
6>>>2 = 1
【4】 & 与
6&3 = 2
【5】| 或
6|3=7
【6】^异或:
6^3 = 5
【7】~反:
~6 = -7
条件运算符
?:
条件运算符:又称: 三元运算符/三目运算符
格式:
a?b:c
其中a是一个布尔类型的表达式,返回结果要么是true要么false,通过a的结果决定最终表达式的结果:
如果a的结果是true,那么表达式最终结果为b
如果a的结果是false,那么表达式最终结果为c