------- android培训、java培训、期待与您交流! ----------
1 标识符:由26个字母大小写,0-9,"_"和"$"组成.
1.1 关键字:被java赋予民特殊含义的单词,这个形式在C++中也有.
1.2 标识符的定义规则:(1)不可以以数字开头;(2)不可以使用关键字.
在java中严格区分大小写,在起名字时,为了提高阅读性,要尽量有意义.
1.3 main不是关键字,但是却可以被JVM识别.
1.4 ava的名称规范:(1)包名:所有字母都小写,如xxyyzz.
(2)类名,接口名:多单词组成时,单词的首字母大写,如XxYyZz.
(3)变量名,函数名:多单词组成时,第一个单词首字母小写,第二单词开始,首字母大写.如xxYyZz.
(4)常量名:所有字母都大写,单词间用下划线连接,如XX_YY_ZZ.
2 常量:java中固定不变的一些数据.
2.1 Java中常量的分类:(1)整数常量:所有整数;(2)小数常量:所有的小数; (3)布尔型常量:true和false; (4)字符常量:将一个数字,字母或符号用单引号''标识; (5)字符串常量:将一个或多个字符用双引号标识,可以为空; (6)null常量:null.
2.2 对于整数,Java有三种表现形式:(1)十进制:0-9,满10进1; (2)八进制:0-7,满8进1,用0开头表示; (3)十六进制:0-9,A-F,满16进1,用0x开头表示.
3 进制的特点: 进制的由来(偏重于计算机):任何数据计算机中都是以二进制的形式存在,二进制早期是由电信号演变而来的.
3.1 字节由八个进制位(八个开关)组成,是最小的数据单位.
3.2 由于用二进制表示一个数,数字长度过长,就将数字的每三位变成一位,于是就出现了八进制;将数字的每四位变成一位,于是就有了十六进制.
4 进制转换
4.1 十进制--->二进制:对十进制数进行除2运算; 二进制--->十进制:二进制数的乘2运算.
4.2 负数的二进制:负数的绝对值的二进制取反再加1.
5 变量
5.1 概念:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型),该区域的数据可以在同一类型范围内不断的变化.即在内存中开辟一块空间,用来存储不确定的数据。(Java语言对具体的数据都进行了不同的定义,这叫做强类型语言,对数据类型的划分非常细致)
5.2 Java语言中的数据类型:
|--基本数据类型
|--数值型
|--整形类型:byte,short,int,long
|--浮点类型:float,double
|--字符型:char
|--布尔型:true,false
|--引用数据类型:类(class),接口(interface),数组([])
整数默认为int型,小数默认为double型.
6 算术运算符
6.1 % 取模,取余数,如果左边小于右边,结果为左边;左右两边相等,结果为0;如果左边为1,结果为0;如果出现负数,结果为左边.
6.2 字符串数据和任何数据使用"+"都是相连接,最终都会变成字符串.
7 转义字符
7.1 概念:通过反斜线"\"来转变后面字母或者符号的含义. 如: \b 退格键(backspace); \t 制表符(tab键); \n 换行; \r 回车键.
注意:在windows中回车是由两个字符\r\n\表示的.
8 赋值和比较运算
8.1 short s = 4; s = s + 5; //----a
s += 5; //----b
a是两次运算,先右边s + 5,再赋值给左边的s,这中间有类型的自动提升过程,而b是一次运算,把左右两边的和赋值给左边,自动完成了强转操作.
9 逻辑运算
& 两边的布尔表达式,只要有一个为false,结果就为false,只有两边都为true,结果才为true.
| 两边的布尔表达式,只要有一个为true,结果就为true,只有两边都为false,结果才这false.
^ 两边结果相同为false,结果不同为true.
! 非,取反.
&& 功能和&相同.与&的区别: & 无论左边为真假,右边都运算.
&& 当左边为false时,右边不运算.
|| 功能和|相同.与|的区别: | 无论左边为真假,右边都运算.
|| 当左边为真时,右边不运算.
10 位运算符
10.1 左移右移: 3<<2 ---> 3乘以2的2次方.
6>>1 ---> 6除以2的1次方.
>>与>>>的区别: >>空出的高位,原来的数的高位是什么就补什么;
>>>无论原来的数的高位是什么,空出的高位用0补.
10.2 与 & : 6&3 ---> 110
&011
--------
010 ---> 2
10.3 或 | : 6|5 ---> 110
|101
-------
111 ---> 7
10.4 异或 ^ : 6^5 ---> 110
^101
----------
011 ---> 3
10.5 取反 ~ : ~6 ---> ~110
------
001 ---> 1
10.6 三元运算 (条件表达式)?表达式1:表达式2; 如果条件为true,运算的结果为表达式1;如果条件为false,运算的结果为表达式2.
11 if语句
11.1 格式: 1> if...;
2> if...else....;
3> if...else if...else if....else....
11.2 if...else...结构的简写为: 变量 = (条件表达式)?表达式1:表达式2; 这里体现了三元运算的好处:可以简化if...else...的代码.但是三元运算也是有弊端的:因为":"是一个运算符,所以运算完必须有一个结果.而if...else...的全写格式运算可以不需要结果.
12 switch语句
12.1 格式: swicth(表达式) { //----表达式的值只接收四种类型:byte,short,int,char.
case 取值1: 执行语句1;break;
case 取值2: 执行语句2;break; ....
default: 执行语句;break; }
注:default是默认的,如果上面的都不合适,会执行default.
break跳出switch语句,最后的break是可以省略的.
12.2 switch语句需要注意的地方:
1> switch语句中,case和default的排列顺序是可以任意的,但是执行是有顺序的,先case 再default.
2> 当default在case之前,表达式的值与所有的case都匹配时,且default中没有break语句,程序会从default开始往下执行每一条语句,直到碰上break语句为止.
3> 如果要对具体数值进行判断,且数值不多时用swicth语句完成,switch语句相对if语句 效率高,其它一般情况下用if,数值为区间或布 尔型用if语句最为方便.
13 while语句和do while语句
13.1 格式: while语句:
while(条件表达式) {
执行语句; }
do while语句:
do {
执行语句;
} while(条件表达式)
13.2 while : 先判断条件,只有条件满足才会执行循环体.
do while : 先执行循环体再判断条件是否满足,如果满足继续执行循环体.总之:无论条件是否满足循环体至少执行一次.