目录
java之父:詹姆斯•高斯林(James Gosling)
java语言平台版本
Java语言特性:简单性、安全性、面向对象、高性能、编译性、解释性、分布式处理、健壮性、开源、跨平台
三者关系:JDK>JRE>JVM(三者是包含关系)
由上面观之Java跨平台前提:安装对应的JVM
java是一门解释性的语言:jvm将字节码文件一行一行的解释为当前操作系统可执行文件格式。
.java文件(javac.exe)=>.class文件(java.exe)=>jvm运行.class得到结果
标识符:标识符可以简单的理解成一个名字。
在Java中,我们需要给代码中的很多元素起名,包括类名、方法名、字段名、变量名等等。我们给对应元素起的名称就被称为标识符
注意:除了上述的50个关键字以外,true,false,null也不可以被用作标识符
注释名称 | 注释内容 |
单行注释 | // |
多行注释 | /*……*/ |
文档注释 | /**……*/ |
注意:多行注释内容不能用于生成一个开发者文档,而使用文档注释内容可以生成一个开发者文档
类型 | 默认值 |
整数型 | 0 |
浮点型 | 0.0 |
字符型 | '\u0000'(空格) |
布尔型 | false |
引用类型 | null |
隐式转换:小类型到大类型直接转
- byte m = 120;
- int n = m;//小转大,右面的m是小类型,给左面的n大类型赋值,可以直接使用
- float f = 3.2f; double d = f; //-->可以执行
显示转换:大转小强制转,浮变整,小数没
- double a=3.2;
- int b=(int)a;
- System.out.println(b);//b=3
注意:不能对boolean类型进行类型转换。
1.计算结果的数据类型,与最大数据类型一致
2.byte,short,char三种比int小的整数,运算时会先自动转换成int
- byte a=3;
- byte b=5;
- byte c=(byte)(a+b);//a+b会自动提升为int
- System.out.println(c);//c=8
3.整数运算溢出
4.浮点数运算不精确——后面有解决办法
5.浮点数的特殊值
Infinity 无穷大 3.14/0
定义:除了基本类型以外的所有类型都是引用类型
注意:引用类型是一个对象类型,它的值是指向内存空间的引用,就是地址,所指向的内存中保存着变量所表示的一个值或一组值。如:类,接口,数组
运算符:用于连接 表达式的操作数,并对操作数执行运算的符号。
运算符5种类型以及优先级:
算术运算符>比较运算符>逻辑运算符>三目运算符>赋值运算符。
根据操作数来分类
当一个表达式包含多个运算符时,就需要考虑运算符的优先级,优先级高的运算符先参与运算,优先级低的运算符后参与运算。在实际的开发中,不需要特别去记忆运算符的优先级别,也不要刻意的使用运算符的优先级别,对于不清楚优先级的地方使用小括号辅助进行优先级管理。
自增自减运算符
i++ i先参与运算 i=i+1
++i i=i+1 i参与运算
三目运算符
exp1?exp2:exp3
注意:如果表达式1结果为true那么整个式子的结果就是表达式2的结果,否则是表达式3的结果