------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
一、关键字
定义:就是java语言中有特殊含义的单词。
特点:字母全部是小写。
注意事项:
a:goto,const是保留字。
b:高级的记事本中,有特殊的颜色标识。
1、用于定义数据类型的关键字
基本数据类型:
整数类型:byte short int double long
浮点类型:float double
字符:char
布尔:boolean
引用数据类型:
类:class 接口:interface
void用于函数上表示无返回值类型
2、用于定义数据类型值的关键字
true(真) false(假) null(空)
3、用于定义流程控制语句的关键字
判断流程:if(如果)、else(否则)、switch、case(分支)、default(默认)
循环流程:for(条件循环)、while(条件判断)、do(执行)、continue(继续循环)、break(跳出)、return(返回)
4、用于定义访问权限修饰符的关键字
private (私有的)、protected (受保护的)、public(公有的)
5、 用于定义类、函数,变量修饰符的关键字
abstract(抽象的) 、final(最终的) 、static(静态的) 、synchronized(同步的)
6、用于定义类与类之间关系的关键字
extends(继承)、 implements(实现)
7、 用于定义建立实例及引用实例,判断实例的关键字
new(建立实例)、 this(当前引用) 、super(父类引用) 、instanceof(判断对象类型)
8、 用于异常处理的关键字
try(检查异常) 、catch(捕获异常) 、 finally(最终执行)
throw和 throws:两个都表示抛出异常,但使用位置不同
9、 用于包的关键字
package(创建包) import(导入包)
10、其他修饰关键字
native(本地)
strictfp(strict float point,精确浮点)
transient(用来表示一个域不是该对象串行化的一部分)
volatile(类型修饰符,用来修饰被不同线程访问和修改的变量)
二、标识符
定义:就是在给类\接口\变量\方法等起名字的时候用到的字符序列
规则:
a:英文带小写字母
b:数字
c:$和_
注意事项:
a:.不能以数字开头
b:不能是java中的关键字
c:区分大小写
1、常见的命名规则
首先要做到见名知意
包:全部小写,多级包的时候用.相隔 cn.itcast
类或者接口:大驼峰式,AaaBbbCcc
变量或者方法:小驼峰式,aaaBbbCcc
常量:全部大写,多个单词用”_”隔开 PI ,STUDENT_MAX_GRADES
三、常量
定义:就是在程序执行过程中,不可改变的量
分类:
a:字面值常量:
整数常量 0,1,100
小数常量 9.9,0.0,1.0
字符串常量 “hello”,”0”,””,” ” 用双引号引起的内容
字符常量 ‘a’,’中’,’0’,’ ’,’\’’ 用单引号引起的内容
布尔常量 true 和false
空常量 null
b:用不同进制表示整数常量:
二进制 由0,1组成,以0b开头
八进制 由0,1,…7组成,以0开头
十进制 由0,1,…9组成,默认就是十进制
十六进制 由0,1,…9,a,b,c,d,e,f(大小写均可)组成, 以0x开头
有时需要转义符号表示一个字符,使用\加后边的字符可以将后边的字符转为其他含义.转义字符代表的是一个字符,它可以写成单独字符或者字符串的一部分
转义符号:\
\t :制表符
\n:换行符
\r :回车符
\’: 单引号字符
\”: 双引号字符
\\ : 反斜杠字符
四、变量
定义:就是在程序的执行过程中,其值可以在一定范围内可以改变的量
1、变量的定义格式
a:数据类型 变量名= 初始化值
b:数据类型变量名
变量名=初始化值
2、数据类型分类
a:基本数据类型(4类8种)
b:引用数据类型
3、基本数据类型取值范围占用内存大小及默认值
4、注意
定义long的时候,一定要以L或者l结尾,建议L
定义float的时候,一定要以F或者f结尾,建议F
5、数据类型转换
a:默认数据类型转换
由”+”号运算符引起的问题.两个int,一个int和一个byte相加的结果是int ,这就是数据提升,也就是默认转换
规则:
1:byte,short,char—int—long—float—double,不同数据类型进行混合运算时,会转成最大的数据类型
2:byte,short,char相互之间不转换,他们参与运算首先转换为int类型
b:强制数据类型转换
格式:目标类型 变量名=(目标类型)(被转换的数据);
注意:强制数据类型转换隐藏了损失精度的问题
byte b1=3,b2=4,b;
b=b1+b2;//报错
int c=b1+3;//正确,运算时byte会自动提升为int类型,这就是默认数据类型转换
b=(byte)b1+b2;//正确,强制数据类型转换,将b1+b2的结果转为byte类型,再赋值给
五、运算符
运算:对常量和变量进行操作
运算符:对常量和变量进行运算的符号
1、算术运算符:+,-,*,/,%,++,--
+的三种用法:
a.正号
b.加法
c.字符串连接(只要”+”的一侧为字符串)`
/和%用法:
/:取的是商,余数舍弃;%取的是余数,商舍弃.
注意:
小数的%运算无意义
整数进行运算的时候,除数不能为0
小数进行相除的时候,除数为0.0的时候,不报错,Infinity
%运算的时候,符号与被除数相同,
++和--:作用就是自增或者自减(我只给大家演示++)
单独使用:放在操作数据的效果一样
混合使用:
符号在前,先自增或自减,再使用
符号在后,先使用,再自增或自减
2、赋值运算符:=,+=,-=,/=,*=,%=
=,将等号右边的值赋给左边的变量;
类似+=这样的运算符是讲符号左右两侧是值进行运算后,再将结果赋值给左边的变量
short s = 1;3、比较运算符:==,!=,>,>=,<,<=
s = s + 1;//报错,损失精度,short类型计算是会提升为int类型
short b = 1;
b += 1;//正确,隐含了强制类型转换</span>
比较运算符的结果都是boolean型,也就是要么是true,要么是false。
int x = 10;4、逻辑运算符:|,&,!,^,&&,||
int y = 10;
boolean flag = (x == y);//true,比较x和y是否相等
boolean flag = (x = y);//报错,=是赋值运算符
逻辑运算符用于连接布尔型表达式,在Java中不可以写成3<x<6,应该写成x>3 & x<6
表达式:用运算符把常量或者变量连接起来符合java语法的式子
&:有false则false
|:有true则true
^:不同为true,相同为false
!:非true即false,非false即true
&&:有false则false
||:有true则true
&&和&的区别是:如果左边有false了,右边将不再执行.
||和|的区别是:如果左边有true了,右边将不再执行.
5、位运算符:&,|,^,~,<<,>>,>>>
&,|,^,两边为数据的时候是位运算.将两边数据都转成补码后操作
&:有0则0
|:有1则1
^:不同为1,相同为0
~:取反,包括符号位
^的特点:一个数据对另一个数据位异或两次,该数本身不变.
<<:左移 左边最高位丢弃,右边补齐0; 结果是把<<左边的数据乘以2的移动次幂
>>:右移 最高位是0,左边补齐0;最高为是1,左边补齐1;结果是把>>左边的数据除以2的移动次幂
>>>:无符号右移无论最高位是0还是1,左边补齐0
6、三目运算符:
格式:
条件表达式?表达式1:表达式2;
流程:
1.计算条件表达式的结果(boolean类型)
2.条件表达式的结果为true,运算后的结果为表达式1
3.条件表达式的结果为false,运算后的结果为表达式2
int a=3;
<span style="font-family: Arial, Helvetica, sans-serif;">int b=4;</span>
System.out.println(a>b?a:b);//判断a和b的大小,结果输出最大值