1.
java跨平台原理:
Java程序的运行机制:首先使用javac.exe将源程序(后缀.java)编译成与平台无关的字节码文件(后缀.class),
然后由Java虚拟机(JVM)读取并处理.class文件,Java解释器(JVM
组件)负责将处理后的文件在相应的平台上运行。
Java中所有程序都是在JVM中执行的,所以开发源代码时无需考虑平台;
只要根据不同的平台安装对应的JVM,就可以在不同的平台执行所有的JAVA程序了。
注:javac.exe编译器,保持在JDK的bin目录下
2.在Windows中搭建JAVA开发环境JDK:
2.1 目录说明:
bin:存放各种JAVA命令,需要在Windows中注册后才可以使用;
lib:存放Java类库文件;
2.2 环境变量说明:
PATH:bin目录的绝对路径,用于找到JAVA可执行命令;
CLASSPATH:类执行路径,指向lib目录,才能找到并执行类库中的类;
注:classpath默认指向当前目录,但可以通过命令set classpath修改;修改后可以跨盘执行类;
修改classpath只是修改类路径,对源代码路径没有影响;跨盘编译源代码需要在源文件前面加上绝对路径,
例如:在C盘编译E盘的代码:javac E:/hello.java
在C盘执行E盘的类: set classpath=E:
java hello
3. 数据类型
3.1 八大基础数据类型及对应的封装类:
Integer类:byte(8bit) short(16bit) int(32bit) long(64bit)
Float类:float(32bit)
Double类:double(64bit)
Character类:char(16bit)
Boolean类:boolean(1bit)
3.2 引用数据类型:数组、类(如:String)、接口
3.3声明变量
3.3.1 声明格式:
1.声明变量同时赋值:数据类型 自定义变量名=变量值;
2.声明变量暂不赋值:数据类型 自定义变量名; 变量名=变量值;
3.数据类型 自定义变量名=new 类型对应的封装类(参数);
注:声明变量会开辟一个内存空间,但初始空间为null,不能访问(未实例化),否则会出现空指针异常;
变量的赋值就是实例化的过程;
1及2为基础类型常用声明赋值的方法,但不适用于类变量;类变量一般采用第三种方法;
基础类型变量的第3种方法实例:int a=new Integer(10);等价于int a=10;
3.3.2 命名规则:
1.首字符:字母、下划线_、$;
2.其余字符:字母、下划线_、$、数字;
3.所有关键字不能作为变量名,即使符合以上两条规则;
3.3.3 作用域:
1.块的定义:每个块由大括号{}括起来,可以嵌套;每个块就是一段代码段。
2.静态变量(全局变量):由关键字static修饰的变量,只能在类块与方法块之间定义,其作用域为整个类块;
3.非静态变量:作用域为当前所在的块及其非静态嵌套块;
4.作用域重合时(常见于全局变量与局部变量),按最近原则取值,即先在当前块查找变量,查不到后到父块查找变量;
4.数据类型转换
4.1 自动转换:转换前后类型兼容且转换后的类型表示的数据范围比转换前的类型大;例如:short a,byte b,int c=a+b;
4.2 强制转换:格式:(要转换的数据类型)变量名称;例如:int a=(int)1.25
4.3 所有基础数据类型都可以自动转换为String类型;例如:int a=5;String b=a+"a";则b="5a"
注意:由大范围强制转换为小范围时,数据会溢出,其溢出原理参考数据的机器码读取规则;