-------
android培训、
java培训、期待与您交流! ----------
一、Java的实现机制:
1.1 虚拟机机制
Java虚拟机特点:多线程,动态连接,异常处理。
程序编译执行过程:.Java源程序——Java编译器——生成字节码文件.class——JVM Java解释器——操作系统。
1.2 垃圾回收机制
系统自动回收不再使用的内存,提高安全性。
二、语言基础:
1.1 数据类型定义了数据的性质、取值范围、存储方式以及所能进行的操作。包括基本数据类型和引用类型。
基本数据类型:8种基本类型
- 整型:byte shortintlong
- 浮点型(实型):float double
- 布尔型:boolean
- 字符型:char
1.1.1 整型:
进制:十进制、八进制、十六进制、二进制转换
占用字节:byte:1short:2int:4long:8
整数隐含 int 型。
1.1.2 浮点型
占用字节:float:4double:8
浮点数默认为 double 型。
1.1.3 boolean
值:true false 不能与其他类型相互转换
1.1.4 字符型
char:2个字节,Java中字符使用16位的Unicode码表示。
转义字符\
1.2 变量和常量
变量分为局部变量,成员变量;
常量可使用final 关键字声明,常量标识符 一般用大写字母表示。如final int MIN = 0;
1.3 运算符和表达式
1.3.1 算术运算符
一元运算符:+-++--
二元运算符:+-*/%
1.3.2 位运算符
~非^异或&与|或>>右移<<左移>>>补零右移
1.3.3 关系运算符
==!=>=<=><
1.3.4 布尔运算符
与&或 |非 !异或^短路与 &&短路或 ||
1.3.5 三目运算符: 表达式?表达式1:表达式2
1.3.6 字符串合并 "+"
1.3.7 组合运算符 如 += 会将右边的值强制转换为左边的类型参加运算
数据类型之间运算的转换:
容量小的向容量大的转换,类型提升。byte short 和char之间运算会自动转换为int型在进行运算。
大转小需要进行强制类型转换,会损失精度。
运算符的优先级和结合顺序:
注意: 一元运算符如--++ 自右向左
System.out.println((int)(char)(byte)-1); 输出结果为 65535
public static void main(String[] args){
final String pig = "length: 10";
final String dog = "length: " + pig.length();
System.out.println("Animals are equal: " + pig==dog); //输出flase 因为+号优先级高于==
}
1.4 流程控制
1.4.1 选择语句
(1)ifelse 语句
(2)switch 后的表达式只接受 byte short int char 4种类型的值
case 语句没有顺序,从case执行,以break结束
条件满足时 则执行语句,直到遇见break
以default语句结束,default语句放在最后可以不要break
switch语句不适合判断区间和布尔型
//JDK1.7增强switch功能
1.4.2循环结构
for循环:如果变量仅用作于循环变量,可以用for,for循环结束,则循环变量释放。
while循环:如果循环变量有其他用处,可以用while循环,将循环变量定义在循环体外。
循环体内定义的变量作用域只在循环体内有效。
for的简单无限循环 for(;;){}
while的简单无限循环while(true);
累加思想:通过变量记录每次变化的结果,通过循环,进行累加动作。
计数器思想:通过变量记录数据的状态变化。通过循环完成。
循环嵌套:(大圈套小圈)
1、打印长方形,外循环控制行数,内循环控制列数
* 尖朝上,可使内循环条件随外循环变量变化
* * 尖朝下,可使内循环变量随外循环变量变化
* * *
打印九九乘法表
1.4.3转向语句:
break语句:用于跳出switch选择结构和循环结构,给循环加标号,可控制跳出循环的位置(内循环或外循环)
continue语句:用于循环结构,提前结束本次循环,执行下一次循环,给循环加标号,可控制跳出循环的位置(内循环或外循环)
break和continue单独存在时,后面不能有语句,因为执行不到,编译不通过。
for循环执行continue语句后,跳出循环体,执行for循环中的表达式3,再判断表达式2。
方法(函数):当方法类型为void时,方法体内的return语句可以省略。renturn用于结束函数。
不能在函数体重定义函数。
定义函数:1、明确函数功能和返回结果
2、是否需要未知内容参与运算(参数类型和参数个数)
函数重载:当功能相同,但参数不同时,使用同一个函数名表示其功能,通过参数列表来区分调用哪一个函数。
函数的重载和函数返回类型无关。