标识符 凡是自己可以取名字的地方
关键字 goto const
常量 final变量 也是常量
变量 变量(变量名,作用域)是内存中的一小块区域,必须先申请(声明),然后进行填充内容(赋值),才能用通过变量名使用。
内存四部分:
code segment 存放代码
data segment 静态变量 字符串常量
stack(栈) 局部变量
heap(堆) new出来的东西
局部变量
成员变量
基本数据类型变量 8种 byte(1) short(2) int(4) long(8) char(2) boolean double(8) float(4)
引用数据类型变量 类 接口 数组
boolean
char java Unicode编码(UTF-16) 每个字符占两个字节哪怕是 ‘a’。
对1101进行 2、10、16进制相互转换
‘\u0061’ 转换为二进制
转义字符 \u 十六进制的编码
\n 换行符
\r 回车符
基本数据类型转换
boolean不能转换成其他类型
char型用ascll编码计算。
整型、字符型、浮点型混合运算中 Byte,short,char→int→long→float→double;
Byte,short,char之间先转换为int;
多种数据类型之间进行运算首先都转换成最大的。
大转小时要加强制转换符;
int转byte溢出时砍掉表示不到的部分,剩几就是几;
double转float溢出时显示无穷大。
float转换为long是直接砍掉小数部分。
可以在byte、short直接赋值成整型,前提是数值在类型的容量范围内。比如 byte b = 126;
int i = 1;
int j = 1/10;
j=?
0.1f == (float)0.1 ?
运算符
8%3=2 求模求余
逻辑运算符 两边只能是ture或者false A&&B 和A&B 的区别 当计算完A 就知道答案了就不再计算B
三目条件运算符 x?y:z 如果X为true 那么值位Y,否则为Z
语句
if
switch 只能装int类型的值(byte short char也行);每个语句都要有break;
for
while
do while 语句至少执行一遍
break 注意只跳出一层循环
continue 只终止当前这一次循环。
方法
形参
实参
递归 在方法内部对自身进行调用。
除了在code segment中放代码以外,其他部分只有在程序执行过程中才放在内存中
-------------------------
segment
Unicode
ascll
continue
convert
infinity
invalid
parameter
-------------------------
对1101进行 2、10、16进制相互转换
‘\u0061’ 转换为二进制
int i = 1; int j = 1/10; j=?
练习1: 1!+2!+3!+ ... + 10!.
练习2: 1+3+5+7+...+99
练习3:输出1-100内前5个可以被3整除的数
练习4:输出101到200内的质数
练习5:输出斐波那契数列第40个数(1.递归;2.非递归)