Java标识符命名规则:
由字母,下划线,美元符或数字组成
不能以数字开头
大小写敏感
不能与关键字重名
见名知义
约定俗成的规则
类名 首字母大写,驼峰命名
变量名 首字母小写,驼峰命名
包名 全小写
数据类型:
基本数据类型:
整型:
byte(1个字节,8bit)
short(2个字节,16bit)
int(4个字节,32bit)
long(8个字节,64bit)
浮点型:
float(4个字节,32bit)
double(8个字节,64bit)
字符型:
char(2个字节,16bit)
布尔型:
boolean(1个bit)
引用数据类型:
类,数组,接口等等
基本数据类型和引用数据类型的区别:
1.基本数据类型只有4类8种,且都是关键字。
引用数据类型不是关键字,是由程序员自定义的。
2.基本数据类型的变量值是放在变量本身当中的,
引用数据类型的变量,变量中存储的是引用(地址),指向真正存放值的空间。-----类,接口,数组
变量:
让计算机分配一个空间,存放可以变化的数据量。
1.基本数据类型:存放的是数据对应的具体值
先声明,再赋值
eg. int i = 0;
2.引用数据类型:存放的是一个引用(地址)
常量:
存放不能变化的数据量
命名:全大写,单词之间用下划线(_)分隔
字面常量:eg. 5 ‘A’
符号常量:给字面常量取一个自定义的名字。
声明:
final 数据类型 常量名 = 值;
为什么要给常量命名?
1.方便修改,只需要修改常量声明处即可。
2.赋予常量业务含义。
运算符:
对常量或变量进行操作的符号。
自增:
i++:先赋值,再自增
++i:先自增,再赋值
算术运算符:
+ - * / %
左右两边数据类型不一致时,会自动类型转换为较大的数据类型
% 左右两端只能是整数。最终结果的正负只和被除数相关。
比较(关系)运算符:
== != > >= < <=
返回值结果为boolean类型
位运算符:
& 位与 2个操作数对应位都为1,结果位为1
| 位或 2个操作数对应位任意一个为1,结果为1
^ 位异或 2个操作数对应位相反,结果为1
P^P == 0 P^0 == P
~ 位非 1个操作数,按位取反
>> 右移
<< 左移
>>> 无符号右移,符号位位总是以0填充
逻辑运算符:
&& 短路与 两侧都为true,才为true 短路:若运算符左侧能够决定整个逻辑运算的结果,则右侧不执行。
|| 短路或 两侧都为false,才为false
& 逻辑与 两侧都为true,才为true
| 逻辑或 两侧都为false,才为false
! 逻辑非 一目运算,取反
三目运算符:
布尔表达式?表达式1:表达式2
布尔表达式返回值为true,执行表达式1
否则,执行表达式2
赋值运算符:
= += -= *= /= %= <<= >>= &= |= ^=
运算符左侧只能有1个变量
如果运算符左右两端数据类型不匹配,可能会报错,或发生数据类型转换
肯定赋值(转换)失败的情况:
1.基本数据类型 <--> 引用数据类型
2.boolean <--> 其他数据类型
基本数据类型之间的转换:
自动类型转换(隐式转换) 低精度 --> 高精度
强制类型转换(显示转换) 高精度 --> 低精度 数据类型 变量名 = (转换后类型) 值;
Java中的注释:
1.// --> 单行注释
2./* */ --> 多行注释
3./** */ --> 文档注释
单行和多行注释用于方法或语句块中,给某一行或某一段代码添加说明。
文档注释用于类、方法、属性前面,它是一个特殊的注释符号,和javadoc工具一起使用
输入输出:
输入: Scanner sc = new Scanner(System.in);
sc.nextInt(); 或 sc.nextLine();
输出: System.out.print();
表达式:
由操作数和操作符组成的式子。