/**
* 这篇文章供自己学习JAVA总结回顾使用
* 主要借鉴了马士兵老师的视频进行总结
* @author Kingram
*/
标识符的概念和命名规则
JAVA常量---不可变的变量
程序的执行过程
从现在开始,你应该记住,内存里分四块区域,code segment,data segment,stack,heap,真正执行的时候,代码首先放到code segment里面,虚拟机找到相关的main方法,然后开始噼里啪啦噼里啪啦的执行,在执行的过程中,会牵扯到其他三块内存区域.因为执行的时候需要在不同的区域分配内存.
JAVA变量
1,java中的变量是程序中最小的存储单元,其要素包括变量名,变量类型,作用域.
2,java程序中每一个变量都属于特定的数据类型,在使用前必须先声明,再赋值.
JAVA变量的作用域
凡是在大括号里面声明的变量,出了这个大括号就没人认识它了.(为什么不能说方法和类,因为在if语句和循环语句中,出了语句就没人认识它了).
JAVA变量的分类
注意:方法的参数是局部变量
JAVA数据类型的划分
基本数据类型包括四类八种,依据内存里所占空间的大小区分,大小相同时也有可能内存中布局不同(0101的排列不同);
char类型;
java字符采用Unicode编码,每个字符占俩个字节,因而可以使用16进制编码表示(编码问题:无论是任何东西在计算机里面都是用 0101表示,每个0每个1叫做bit(位),一个字节占8位,所有的文字都可以使用0101表示,但是不同的文字可能占的0101的个数不一样,一个字节最多能表示2^8个字符,所以表示不了中文,Unicode包括了世界上所有的语言.)
整数类型;
JAVA里没有无符号的整数,所有的整数都是带符号位的,所以int类型的表述范围是-2^7-2^7-1.
浮点类型
计算机内部表示浮点数是有误差的,情况复杂,有待深究.
基本数据类型转换
字符型在计算机内部也是数字,所以也可以进行运算,
long a = 123;// 相当于把一个int类型转换为long类型;
float a = 12.3;// 相当与把一个double转换为float,需要加上强制转换负符;
long l = 3000000000000;// 必须加L,3000000000000超出了int类型的表示范围;
int类型占四个字节,要想转换成byte类型,就把三个字节咔嚓砍掉,剩下的字节是几就是几;但是double转换成float不行,计算机内部有专门表示小数点的位,直接砍掉内部的格式就不对了.
float类型转换成long类型,直接把小数部分咔嚓砍掉.
运算符
int i = j++;先赋值再运算;
int i = ++j;先运算在赋值;
三目: (boolean表达式) ? y : z;
如果boolean值为true则返回y,如果boolean值为false,则返回false;
语句
条件语句--根据不同条件,执行不同语句.
if() { }
if() { } else { }
if() { } else if() { }
if() { } else if() { } else if() { } else { }
循环语句--重复执行某些动作
for(表达式1;表达式2;表达式3) {语句;...; }
首先执行计算表达式1,接着执行表达式2,若表达式2的值=true,则执行语句,接着计算表达式3,再判断表达式2的值,依次重复下去,直到表达式2的值=false;
for语句中三个表达式都可以省略.
while(逻辑表达式) {语句;...; }
先判断逻辑表达式的值,若=true.则执行其后面的语句,然后再次判断条件并反复执行,直到条件不成立为止.
do {语句;..; } while(逻辑表达式);
先执行语句,再判断表达式的值,若为true,再执行语句,否则结束循环.
break & continue 语句
break语句用于终止某个语句块的执行,用在循环语句中,可以强行退出循环;
continue语句用在循环语句体中,用于终止某次循环过程,跳过循环体中continue语句下面的未执行的循环,开始下一次的循环过程.
switch() {
case xx :
...
break;
defalt :
...
break;
}
小心case穿透!多个case可以合并到一起!default可以省略.