------Java培训、Android培训、iOS培训、.Net培训、期待与您交流!
一、关键字
在Java中有特殊含义的单词,每个字母都是小写。关键字不能用作变量名、方法名、类名、包名和参数。main不是关键字,但是一个可以被虚拟 机所识别的名称,也不能定义成变量名、方法名等。
关键字的具体分类:
1. 定义数据类型:整数类型(byte,short, int, long),浮点类型(float,double),字符类型char,布尔型boolean
定义引用数据类型:类class,接口interface,
2.定义数据类型值:true,false,null
3.定义流程控制:判断(if,else,switch,case,default)
循环(for,while,do,continue)
结束循环或选择break
返回return
4.定义访问权限:私有private,受保护的protected,公有public
5.类、函数、变量修饰符:抽象abstract,最终final,静态static
6.类与类之间的关系:继承extends,实现implements
7.建立实例,引用实例,判断实例:建立new,引用(this,super),判断instanceof
8.处理异常:寻找try,处理catch,最终要执行finally
9.用于包:建立package,导入import
10.其他:本地的native
精确浮点 stictfp
transient:用它声明一个实例变量,在对象序列化时不会被序列化。
二、标示符
在程序中自定义的名称,可以由26个字母,0-9,以及_和$组成,其中严格区分大小写,不能以数字开头,也不可以使用关键字,要有意义,方便阅读。
标示符的使用规则:
1.定义包名:所有单词的字母小写,xxxyyyzzz
2,定义类名、接口名:多单词时所有单词的首字母大写,XxxYyyZzz
3.定义变量名、方法名:多单词时第一个单词首字母小写,其他单词首字母大写,xxxYyyZzz
4.定义常量名:多少单词的字母都大写,多单词时要单词之间用_连接,XXX_YYY_ZZZ
三、常量
表示固定的、不能改变的数值。
Java中常量分为整数常量,小数常量,布尔型常量(只有true和false两个值),字符常量(将一个字母或数字或符号用(' ') 标示),字符串常量(将一 个或多个字符用(" ")标示),null常量(值为null,表示空或不存在)。
进制:对于整数,Java有三种进制表现形式,分别是十进制(0-9,满10进1),八进制(0-7,满8进1,以0开头),十六进制(0-9,A-F,满16进1,以0x开 头),进制越大,表现形式越短。
进制的转换:
(1)十进制转为二进制:将一个十进制数除2,得到的商再除2,以此类推知道商等于0或1为止,倒取除得的余数,即换算为二进制的结果,过程 如下 图:
所以,13转化为二进制的结果是1101。
(2)二进制转化为十进制:每个位置上的数值乘以2的(数值对应位置)次幂相加后的值,例如:1011的十进制:1*23+1*22+0*21+1*20=13;
(3)其他进制转换:十进制转为八进制或十六进制,可以现转换为二进制,二进制三位转为八进制的一位,四位转为十六进制的一 位。如下图:
(4)负数的二进制:将对应的正数取反(即将二进制位上的0都转换为1,原来位置上的1都转换为0),最后加1即可。
四、变量
内存中的一个存储空间,有自己的名称(变量名)和类型(数据类型),用来不断的存放同一类型的数据,可以重复使用。当数据 不确定时,需要对数据进行存储,就定义一个变量来完成存储动作。
定义变量的格式:数据类型 变量名=初始化值。使用变量时要注意变量的作用范围和初始化值。
Java对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间。Java中数据类型分类如下图:
注意:
1.Java中默认的整数类型是int,小数类型是double。
2.表示long和float类型变量时,数值后面要加上对应的l和f,例如:float f=35.2f;
类型转换:
(1)弱类型数据自动向上提升
在弱类型数据与强类型数据进行计算时,系统会自动将弱类型数据向上提升为强数据类型,计算出的结果也是强类型。
例如:
byte b=1;
int c=b+2; //b会自动向上提升为int型进行运算。
(2)强制转换
在上述运算中,如果想把运算后的结果赋给弱类型,需进行强制转换。例如:
byte b = 3;
b = (byte)b+4;//强制将b+4的结果转换为byte类型,再赋值给b。
1.算术运算符
加+,减-,乘*,除/
在对整数类型运算式要注意运算结果一直都是整数,例如
int x=4270;
x=x/1000*1000;
x现在的数值是4000;
取模%:即取两个数相除的余数。注意如果被除数是负数,则结果为负数,不考虑除数的正负。如:
int a=3,b=4;
b%a=1;
a%b=3 //a、b都大于0时,a
-a%b=-3;-a%-b=-3 //a<0时,a的绝对值小于b,结果为-a;
-b%a=-1;-b%-a=-1//b<0时,b的绝对值大于a,结果为-(b%a);
自增++,自减--:使用时要注意区分下面的情况下的运算结果:
int a=3,b;
b=a++;//等同于b=a=3,a=a+1=4;等号的左边等于要自增的变量的原值,然后变量的值自增;
b=++a;//等同于b=a=a+1=4;等号两边都等于变量自增后的值。
自减同理。
字符串相加+:字符串数据和任何数据使用+相连,会变成字符串;
2.赋值运算符:
=,+=,-=,*=,/=,%=
例如:
a+=6//等同于a=a+6;
在赋值运算中,会自动完成数据的类型转换,例如:
byte b=3;
b=b+2//编译失败。因为b会被自动提升为int型,运算后的结果还是int型,无法赋值给byte型。
b+=2//编译成功。因为+=运算符给变量赋值时,自动完成强制类型转换。
3.比较运算符
== ,!=,<,>,<=,>=,instanceof(判断是否是类的对象)
比较运算符的结果要么是true,要么是false。 要注意==不能写成=。
4.逻辑运算符
用于连接boolean的表达式。
&:and,两边的表达式结果有一个为false,结果为false。例:true&true= true;true&false=false;
|:或,有一边的表达式结果为true时,结果为true。例:false|true=true;false|false=false;
^:异或,两边结果都相同时结果为false。例:true^true=false;true^false=true;
!:非,表达式的结果为真,则结果为假。例:!true=false;!false=true;
还有&&和||这两个运算符,它们与&和|在运算时有一点区别,如下:
单&时,左边无论真假,右边都进行运算;
双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。在以后的使用中,&&的使用频率较高。
“|”和“||”的区别同理,双或时,左边为真,右边不参与运算。
5、位运算符
<<:左移,空位补0,左移的过程就是将二进制的各位置上的数字乘以2的(所移位数)次幂。例:3<<2等同于3*22=12。
>>:右移,被移位的二进制最高位是0,空缺位补0;最高位是1,空缺位补1;右移的过程就是将二进制的各位置上的数字除以 2的(所移位数)次幂。例如:3>>1=3/21
>>>:无论二进制最高位是0或者是1,都用0补。
&:与,二进制&运算时,只有1&1时,结果才是1.例如:6&3=>110&011=>010=>2;
|:或,二进制或运算时,只有0|0时,结果为0.例如:6|2=>110|010=>110=>6;
^:异或,二进制异或运算时,对应位置的数值相同时,结果为0;例如6^3=>110^011=>101=>5;
当一个数异或另一个数两次时,结果还为原来的数,异或经常用于对文件保密。例如:6^3^3=>5^3=>101^011=>110=>6.
在操作中, 异或可以用来实现变量的值的互换。 例如:
int a=4,b=5;
a=a^b;//a=4^5=1
b=a^b;//b=1^5=4
a=a^b;//a=1^4=5
如图,b和a的值实现了互换。
~:反码,对二进制进行取反。
6、 三元运算符
格式:(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1,否则运算后的结果是表达式2。三元运算符必须有结果返回,具有局限性。
举例:
int a=3,b=4,c;
c=(a>b)?a:b//c变量存储的是两个数中的大的数。
结果为:c=4;
六、转义字符
通过 \ 来转变后面字母或符号的含义,写在要转义的字符的前面。常用的转义字符有:\r\n:windows系统中的换行; \ n linux系统中的换行
\t 制表符 \b 退格
\"双引号,保证在输入时能输出双引号。
-------------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------