1.关键字:
被java赋予特定含义的单词
特点:
全部小写
注意事项:
goto和const作为保留字存在
2.标识符:
给类、接口、方法、变量等起名的字符序列
组成规则:
a.英文大小写字母
b.数字字符(0—9)
c.$和_
注意事项:
a.不能以数字开头
b.不能是java中的关键字
c.区分大小写
常见命名规则:
a.包:
单级:全部小写
举例:liuyi,com
多级:全部小写,单词与单词之间用“.”隔开
举例:cn.itcast,com.baidu
b.类名及接口名:
每个单词首字母都大写
举例:Student,Demo,StudentName
c.变量名及方法名:
单个:全部小写
举例:name,main
多个:从第二个单词开始,每个单词的首字母大写
举例:studentAge,showAllNames()
d.常量:
单个:全部大写
举例:PI
多个:全部大写,单词与单词之间用“_”隔开
举例:STUDENT_MAX_AGE
3.注释:
对程序进行解释说明的文字
分类:
a.单行注释 //注释内容
b.多行注释 /*注释内容 */
c.文档注释 /**注释内容 */
作用:
a.解释说明程序,提高了代码的阅读性
b.可以帮助我们简单的调试程序
4.常量:
在程序执行过程中,其值不发生改变的量
分类:
a.字面值常量
b.自定义常量
字面值常量:
a.字符串常量 "hello"
b.整数常量12,23
c.小数常量12.345
d.字符常量‘a‘,‘A‘,‘0‘
e.布尔常量true,false
f.空常量null
5.进制:
在Java中针对整数常量提供了四种表现形式
A:二进制由0,1组成。以0b开头。
B:八进制由0,1,...7组成。以0开头。
C:十进制由0,1,...9组成。整数默认是十进制。
D:十六进制由0,1,...9,a,b,c,d,e,f(大小写均可)组成。以0x开头。
进制转换:
a.其他进制到十进制
系数*基数^权次幂之和。
系数:就是每一个位上的数值
基数:x进制的基数就是x
权:对每一个位上的数据,从右,0开始编号,该编号就是权。
b.十进制到其他进制
除基取余,直到商为零,余数反转
进制快速转换法:
a.十进制与二进制
8421法
b.二进制到八进制、十六进制的转换
三位一体 四位一体
6.变量:
程序的执行过程中,其值在某个范围内可以发生改变的量
格式:
a.数据类型 变量名 = 初始化值;
b.数据类型 变量名;
...
变量名 = 初始化值;
7.数据类型
java是一种强类型语言,针对每种数据都提供了对应的数据类型
分类:
a.基本数据类型
4类8种
b.引用数据类型
类、接口、数组
基本数据类型:
A:整数 占用字节数
byte 1
short 2
int 4
long 8
B:浮点数
float 4
double 8
C:字符
char 2
D:布尔
boolean 1
注意:a.整数默认是int类型,浮点默认是double类型
b.长整型数末尾要加L或l;单精度类型浮点数末尾要加F或f
8.数据类型转换:(注意:boolean类型不参与转换)
a.默认转换(从小到大,自动完成)
顺序:byte,short,char -- int -- long -- float -- double
注意:byte,short,char之间不相互转换,直接转成int类型参与运算。
b.强制转换(从大到小,需要手动完成)
可能会有精度的损失,一般不建议这样使用。
格式:
目标数据类型 变量名 = (目标数据类型) (被转换的数据);
思考题和面试题:
A:下面两种方式有区别吗?
float f1 = 12.345f;
float f2 = (float)12.345;
答:有,第一个数据本身就是float类型的,只是赋予了f1,第二个数据本身是double类型,通过强制转换,转换成float类型并赋值给f2。
B:下面的程序有问题吗,如果有,在哪里呢?
byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
byte b4 = 3 + 4;
答:有,第三句会出现问题。变量相加时,会首先考虑数据类型问题,赋值时也会考虑数据类型问题,而常量相加时,会首先做加法,然后看是否在被赋予的数据类型的范围内,不在,就报错。
C:下面的操作结果是什么呢?
byte b = (byte)130;
答:-126
D:字符参与运算
是查找ASCII里面的值
‘a‘97
‘A‘65
‘0‘48
System.out.println(‘a‘);
System.out.println(‘a‘ + 1);
E:字符串参与运算
这里其实是字符串的连接
System.out.println("hello"+‘a‘+1);
System.out.println(‘a‘+1+"hello");
System.out.println("5+5="+5+5);
System.out.println(5+5+"=5+5");
答:helloa1
98hello
5 + 5 = 55
10 = 5 + 5
扩展:(原码、反码、补码)
在计算机内有符号数由三种表示法:原码。反码和补码,所有的数据的运算都是采用补码进行的
原码:
正数的原码最高位为0,负数为1,其他的是数值位
反码:
正数的反码与原码相同,负数逐一取反,符号位除外。
补码:
正数的补码与原码相同,负数的补码在反码的基础上末尾加一。