------- android培训、java培训、期待与您交流! ----------
一.关键字
1.定义:被java赋予了特殊含义的单词。
2.特点:所有字母都小写。
3.用于定义数据类型的关键字:
引用数据类型:class(类) interface(接口)
4.基本数据类型:
整数类型:byte short int long 浮点类型:float double
字符类型:char 布尔型:boolean
5.用于定义数据类型值的关键字:
true(真) false(假) null(空)
6.用于定义流程控制的关键字:
if else switch case default
while do for break
continue return
7.用于定义访问权限修饰符的关键字:
private(私有化) protected(受保护的) public(公有的)
8.用于定义类,函数,变量修饰符的关键字:
abstract(抽象) final(最终) static(静态的)
synchronized(同步) enum(枚举)
9.用于定义类与类之间关系的关键字:
extends(继承) implements(实现)
10.用于定义建立实例及引用实例,判断实例的关键字:
new(新建对象) this(当前引用)
super(父类引用) instanceof(判断类型)
11.用于异常处理的关键字:
try catch (检查和捕获异常) finally (最终执行)
throw throws(抛出,但是使用的方法不同)
12.用于包的关键字:
package import
13.其它修饰符关键字:
native(本地的)
strictfp(strict float point,精确浮点)
transient(变量修饰符,用它声明一个实例变量,在对象序列化时不会被序列化)
volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)
assert(断言,可以看作是异常处理的一种高级形式,用于捕捉在代码中做出的假设)
二.修饰符
特定的保留字,用来指定数据,方法和类的属性及使用方式.
public static private final abstract protected
三.标识符
1.定义:在程序中定义的一些名称。(变量,包,类,方法,常量等)
由字母,数字,下划线和美元符号$构成的字符串
2.规则:
不能以数字开头。
不可以使用关键字。
注意:
Java中严格区分大小写。
在起名字的时,为了提高阅读性,要尽量有意义。
3.Java中的名称规范
包名:多单词组成时所有字母都小写。
举例:cn.itheima.bank
类名,接口名:多单词组成时,所有单词的首字母大写
举例:ArrayDemo
变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词的首字母大写。
举例:
变量:arr maxValue
函数:getAge setAge
常量名:所有字母大写,多单词组成时用下划线连接。
举例:PI MAX_VALUE
四.常量
1.常量表示不能改变的数值。
2.Java中常量的分类:
a.整数常量。所有整数
b.小数常量。所有小数
c.布尔型常量。较为特有,只有两个数值。true false。
d.字符常量。将一个数字字母或者符号用单引号( ' ' )标识。
e.字符串常量。将一个或者多个字符用双引号标识。
f.null常量。只有一个数值就是:null.
3.对于整数:java有三种表现形式。
a.十进制:0-9 ,满10进1.
b.八进制:0-7 ,满8进1. 用0开头表示。
c.十六进制:0-9,A-F,满16进1. 用0x开头表示
4.定义方式: final 变量名=值;
5.进制的基本转换
a.十进制二进制互转
十进制转成二进制除以2取余数
二进制转成十进制乘以2的幂数
b.十进制八进制互转
可以先将十进制转换为二进制,再转换为八进制,一个八进制位相当于三个二进制位。
c.十进制十六进制互转
可以先将十进制转换为二进制,再转换为十六进制,一个十六进制位相当于四个二进制位。
6.负数的二进制表现形式
对应的正数二进制取反加1。
负数的最高位都是1。
五.变量
1.定义:内存中的一个存储区域,该区域有自己的名称(变量名)和类型(数据类型)
该区域的数据可以在同一类型范围内不断变化
2.作用:用来不断的存放同一类型的常量,并可以重复使用
注意:变量的作用范围(一对{}之间有效)
初始化值
3.定义变量的格式:
数据类型 变量名 = 初始化值;
4.数据类型
整数默认: int 小数默认:double
注意:
在java中,局部变量的声明不能使用public,private,static,protected。
float类型有默认的后缀f或F,否则会被认为是double型。
六.自动类型转换
1.自动类型转换(也叫隐式类型转换)由系统自动实现
低级类型——>高级类型
2.基本数据类型的优先级:
byte short charà int à long à float à double
高级与低级都是相对而言,如int类型相对与short类型是高级类型。
3.表达式的数据类型自动提升
所有的byte型、short型和char的值将被提升到int型。
如果一个操作数是long型,计算结果就是long型;
如果一个操作数是float型,计算结果就是float型;
如果一个操作数是double型,计算结果就是double型。
举例:
byte b = 3;
int x = 4;
x = x + b;//b会自动提升为int类型进行运算。
4.System.out.println(‘a’)与System.out.println(’a’+1) 的区别:
System.out.println('a');//a
System.out.println('a'+1);//98
七.强制类型转换(也叫显式类型转换)
1.将高级数据类型转换为低级数据类型。
举例:
byte b = 2;
b = b + 3;//编译不通过,出错
b = (byte)b+3;//强制类型转换,强制将b+3的结果转换为byte类型,再赋值给b。
八.转义字符
1.通过\来转变后面字母或者符号的含义。
\b :退格 \n :换行 \t : 制表符
\r :回车符,在windows系统中,回车符为\r\n
\” \” :双引号(一对) \\ \\ :一对反斜杠
\’ \’ :单引号(一对)
注意:
char=”\n”;//正确的写法
char=”’”;//错误的写法
九.注释
1.单行注释: //被注释的内容
2.多行注释:
3.文档注释: 主要用于描述类和数据,方法。注释内容可以被JDK提供的工具
javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档
4.作用:
注解,说明,解释程序。
调试程序。
十.运算符
1.算术运算符
注意:
如果对负数取模,可以把模数负号忽略不记,如:5%-2=1。但被模数是负数就另当别论。对于除号
“/”, 它的整数除和小数除是有区别的:
整数之间做除法时,只保留整数部分而舍弃小数部分。
例如:int x=3510;x=x/1000*1000; x的结果是:3000
“+”除字符串相加功能外,还能把非字符串转换成字符串
例如:System.out.println("5+5="+5+5);//打印结果是:5+5=55
自增和自减运算符
++n; n++; - -n;n- -;
若运算符是前置于变量的,则变量加1或减1,再返回变量的新值。
若运算符是后置于变量的,先返回变量原来的旧值,再加1或减1;
在表达式中的区别:
int i=10; int newnum=10*i++;等同于 int newnum=10*i; i=i+1;
在此例中,i先增加1,然后返回i的旧值参与运算。newnum=100;
int i=10; int newnum=10*(++i);等同于i=i+1; int newnum=10*i;
在此例中,i先增加1,然后返回i的新值参与运算。
double x=1.0;
double y=5.0;
double z=x- - + (++y);
执行结束后:
y=6.0; z=7.0; x=0.0;
2.赋值运算符
符号:= , +=, -=, *=, /=, %=
举例:
int a,b,c; a=b=c =3;
int a = 3; a+=5;等同运算a=a+5;
short s = 3;
s=s+2;//两次运算,先加后赋值。编译失败
s+=2;//只做一次赋值运算,自动转换
3.比较运算符
注意:比较运算符的结果都是boolean型,也就是要么是true,要么是false。
比较运算符“==”不能误写成“=” 。
4.逻辑运算符
定义:能参加布尔逻辑运算的运算符号。
作用:用于连接boolean型的表达式。
符号: & : 与 |: 或 ^:异或 && :短路 ||: 短路
特点:
&:只要两边的布尔表达式的结果有一个为false,那么结果为false。
只有两边都为true,结果为true。
:只要两边的布尔表达式的结果有一个为true,结果为true。
只有两边都为false,结果为false。
^: 只要两边的布尔表达式的结果相同为false,两边不同为true。
&和&&的区别:
&:左边无论真假,右边都进行运算;
&&:如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算。
|和||的区别:
|:两边都参与运算。
||:左边为真,右边不参与运算。
5.位运算符
位运算是直接对二进制进行运算。
细节:<<: 空位补0,最高为丢弃,空缺位补0。
>>:被移位的二进制最高位是0,右移后,空缺位补0。最高位是1,空缺位补1。
>>>:被移位二进制最高位无论是0或者是1,空缺位都用0补。
&:二进制位进行&运算,只有1&1时结果是1,否则是0。
:二进制位进行| 运算,只有0 | 0时结果是0,否则是1。
^:任何相同二进制位进行^ 运算,结果是0;1^1=0 , 0^0=0。
不相同二进制位^ 运算结果是1。1^0=1 , 0^1=1。
~: 对二进制取反。
特点:
<<:结果变大,就是乘以2的移动位数次幂。
>>: 结果变小,就是除以2的移动位数次幂。
6.三元运算符
格式:(条件表达式)?表达式1:表达式2;
如果条件为true,运算后的结果是表达式1;
如果条件为false,运算后的结果是表达式2;
举例:获取两个数中大数。
int x=3,y=4,z;
z = (x>y)?x:y;//z变量存储的就是两个数的大数。