关键字
注意:
- 关键字都是小写的
- 用做类名的单词首字母一般大写。要用多个单词组成的话,每个词的首字母都要大写。
- 方法名第一个单词首字母小写,多词组成则其他单词首字母大写
标识符
在程序中自定义的名称。
可包含:①26个英文字母大小写 ②数字 ③_ $
不包括空格
注意:
- 数字不能开头,不能使用关键字
- Java严格区分大小写
- main是函数名称,也是一种标识符
注释
解释程序+调试程序
(1)单行注释 // 可以嵌套单行、多行注释
(2)多行注释 /* */ 可以嵌套单行注释,不可嵌套多行注释
(3)文档注释 /** */ 可以用javadoc提取文档注释,生成包含文档注释和源代码的网页形式的说明书
注释不编译到字节码文件里
多行注释示例:
/*
需求:
思路:
步骤:
*/
在重要语句后面也要加注释
代码仅仅是思想的体现形式
常量与变量
常量
注意:
字符常量:单个数字、字符或符号 用‘ ’标识
“”空字符串常量 不等于 null空常量
变量
数据类型
简介
byte 一个8位(-27)--------(+27-1)
short 两个8位(-215)--------(+215-1)
int 四个 8位(-231)-------(+231-1)
long 八个8位 末尾标识l
强制转换数据类型时要主意数据溢出的问题
float 四个8位末尾标识f
double 八个8位 精确度更高
char 两个8位 一个中文的长度是两个字节,可存在char类型空间中 用单引号标识
转换
(1)自动类型提升
一般来说,变量运算,两端必须是同类型。
但都是整数类型的时候,即使类型不一样也还可以运算。即为自动类型提升,提升为占用内存更大的类型。
(2)强制类型转换
4默认为int类型,自动类型提升之后得到的7也是int,不能放入byte型的b中。需要执行强制类型转换。
强制类型转换比较危险,超出类型范围时容易丢失精度导致结果出错
运算符
算术运算符
(+ - * / % +连接符 ++ --)
% 取余,模运算 得除法的余数 -5%2 = -1 5%-2=1 负号只看被模数 用模运算模以2 进行开关运算
连接符+ 运算对象里包含字符串,表示相连接的意思 ‘3’+2 = 32 打印输出中有诸多应用
++ 自增 原有数据基础上加1再赋值给原有数据
a++ ++a -----> a = a+1
b = a++ ------->b = a then a++ 真正在内存中的过程:a进行了当前值的临时存储,用于参与自增运算,=的右侧运算完成,之后进行赋值运算,取出临时存储的数据赋值给=左端
b = ++a ------->a++ then b = a
– 自减 原有数据基础上减1再赋值给原有数据
赋值运算符
(= += -= *= /= %=)
+= 左右两边的和赋值给左边 其他符号功能以此类推 代表一次赋值运算 可以进行类似于=的检查与自动类型转换过程
比较运算符
(> < >= <= == !=) 输出布尔值
逻辑运算符
(&与 | 或 ^异或 !非 && ||) 用于连接布尔类型的表达式
与: 全真为真,有假为假
或: 有真为真,全假为假
异或:一真一假为真 全真全假为假
非: 真变假,假变真
双与:碰到假直接输出假,不再进行之后的运算 高效
双或:碰到真直接输出真,不再进行之后的运算 高效
位运算符
二进制位运算,即为比特位
位运算与:和1相与的数保留,和0相与的数舍弃
位运算或:凡是有效位,均保留
位运算异或:相同则舍弃,不同则保留 一个数异或同一个数两次,结果还是之前的那个数,但可能存储数据量变了。异或过程为加密过程。真实应用中要通过更复杂的算法来实现。
反码:按位取反
<<:3<<2 3往左移2位 3是int型4个字节
0000 0000 0000 0000 0000 0000 0000 0011
左移两位 00 | 0000 0000 0000 0000 0000 0000 0000 1100
整体向左移,再在尾部补零,头部的移出部分去掉 左移是*2运算,移几位乘几个2
>>:整体向右移,尾部移出部分丢弃,头部缺失部分按最高位补位 最高位是0就用0补,是1就用1补 右移是/2运算,移几位除以几个2,保留整数部分
>>>:区别 无符号右移 高位出现的空位都用0补
三元运算符
三个元素参与运算时可以使用的符号