JavaSE基础知识总结
最近回顾了一下Java的基础知识,决定写成博客梳理一遍,主要是JavaSE部分最基础的知识,适合考前突击,学后回顾,不适合作为初学材料。
简单的列个目录吧:
一、数据类型和运算符
二、流程控制与数组
三、面向对象基础
四、集合概述
五、泛型入门
六、异常处理
七、输入输出
八、多线程
九、反射
一、数据类型和运算符
这一块基本上各种语言都大同小异
基本数据类型:
整数类型:byte 1个字节
short 2个字节
int 4个字节
long 8个字节
字符类型:char 2个字节
浮点类型:float 4个字节
double 8个字节
布尔类型:boolean 1位
引用类型:
类、接口、数组和null类型,注意String也是引用类型;
关于类型转换:
自动类型转换:
byte—>short—>int—>long—>float—>double
char
如上所示,左边类型的值可以直接赋给右边类型,注意char和byte、short之间不能自动转换;
强制类型转换:
语法格式:(targetType)value,要注意可能引起精度丢失;
表达式类型的自动提升:
算术表达式类型自动提升规则:
所有byte、short、和char提升为int;
整个表达式类型提升到与表达式中最高等级操作数相同的类型;
基本类型与字符串类型连接运算,基本类型转换为字符串类型。
运算符:
这个一图胜千言
二、流程控制与数组
顺序结构:不用多说;
分支结构:
if语句:
if(logic expression){
statement...
}
else if(logic expression){
statement...
}
else{
statement...
}
switch语句
switch(expression){
case condition1:
{
statement(s)
break;
}
case condition2:
{
statement(s)
break;
}
...
default:
{
statement(s)
}
}
循环结构:
while循环:
while(test_expression){
statement;
[iteration_statement]
}
do while循环:
do{
statement;
[iteration_statement]
}while (test_expression);
for循环:
for([init_statement];[test_expression];[iteration_statement]){
statement;
}
结束循环的方法:
break:整个循环;
continue:结束单次循环;
return:结束方法。
数组:
数组的初始化:
1.静态初始化:arrayname = new type[]{element1,element2...}
2.动态初始化:arrayname = new type[length];
*foreach循环遍历数组:
for(type variablename:array|collection){
//variablename自动迭代访问每个元素
}