Java语言跨平台原理
- 跨平台性 (平台指定的是操作系统)
通过Java语言编写的应用程序在不同的系统平台上都可以运行。 - Java语言跨平台原理
只要在需要运行java应用程序的操作系统上,先安装一个Java虚拟机(JVM Java Virtual Machine)即可。 由JVM来负责Java程序在该系统中的运行。 - Java语言跨平台图解
因为有了JVM,所以同一个Java程序在三个不同的操作系统中都可以执行。这样就实现了Java程序的跨平台性。也称为Java具有良好的可移植性。
JAVA语言是跨平台的,而JVM不是跨平台的。
JVM是不跨平台的,应为针对不同的操作系统,JAVA提供了不同的JVM,而各个操作系统的可执行文件是不同
HelloWorld案例的编写和运行
在记事本中创建一个HelloWorld.java的文件(HelloWorld程序的源文件都是以.java命名的)。
- 定义类
格式: class 类名 { } - 写main方法
在大括号中间添加一个主(main)方法/函数
格式: public static void main(String[] args){ } - 写输出语句
在主方法的大括号中间添加一行输出语句
格式: System.out.println(“Hello World!”); - 编译和运行程序
使用javac命令编译HelloWorld源文件,生成字节码文件(后缀名为.class)
格式: javac 文件名.java (注意:这里是带有后缀名的)
使用java命令对class字节码文件进行解释运行
格式: java 字节码文件名 (注意:这里是没有后缀名的)
class Hello{
public static void main(String[] args){
System.out.println("Hello nihao!");
}
}
运行结果:
常量的概述和使用
- 常量就是在程序的执行过程中其值不发生改变的量。
- Java中常量的分类
(1):字面值常量
(2):自定义常量 - 字面值常量的分类
(1): 字符串常量 用双引号括起来的内容 “HelloWorld” ,“Hello”
(2): 整数常量 所有整数 12,23
(3): 小数常量 所有小数 12.34,56.78
(4): 字符常量 用单引号括起来的内容 ‘a’,‘A’,‘0’ (注意事项:单引号中只能是单个字母,单个数字,单个符号)
(5): 布尔常量 只有true和false
(6): 空常量 null
变量的概述及格式
-
变量就是在程序执行的过程中,在某个范围内其值可以发生改变的量(例如:体重、气温)
-
定义变量用来不断的存放同一类型的常量,并可以重复使用
-
变量的定义格式:
数据类型 变量名 = 变量值 ;int bianliang=20;
数据类型的概述和分类
- Java中数据类型的分类
(1): 基本数据类型
(2): 引用数据类型: 数组 , 类 , 接口 - 基本数据类型的详细讲解
-
数值型
整数型 字节数 范围 byte 1(8bit) -128 ~ 127 short 2(16bit) -2^15 ~ 2^15 - 1 int 4(32bit) -2^31 ~ 2^31 - 1 long 8(64bit) -2^63 ~ 2^63 - 1 浮点数 float 4(32bit) -3.403*10^38 ~ 3.403*10^38 double 8(64bit) -1.798*10^308 ~ 1.798*10^308
-
字符型
char 2(16bit) 0 ~ 2^16 - 1 = 65535
-
布尔型
boolean 1
整数默认是int类型的 , 浮点数默认是 double类型的
-
数据类型转换之隐式转换
- Java中的默认转换规则
- boolean类型不能转换为其他的数据类型
- byte,short,char之间不转换,他们参与运算首先转换为int类型
- float参与运算首先转换为double类型
byte a=10;
byte b=120;
byte rr=a+b;
System.out.println(rr);
上例代码是不能运行成功的,因为a、b都是byte类型,参与运算后自动转换为int类型,而rr还是byte类型,所以接收会失败。
将rr定义为int就可以成功。
数据类型转换之强制转换
- 强制转换的格式
目标数据类型 变量名=(目标数据类型)(被转换的数据); - 强制转换的注意事项
尽量不要使用强制类型转化,因为可能存在损失精度的问题。
byte a=10;
byte b=120;
byte rr=(byte)(a+b);
System.out.println(rr);
和上述隐式转换一样,本来会编译失败,我们将a+b的值强制转换为byte类型,就可以成功编译,存入rr。
字符和字符串参与运算
- ASCII码表记住常用三个值:
‘0’ 48
‘A’ 65
‘a’ 97
System.out.println('a'+1);
输出为97+1=98
单个字符用’ '引起来的可以参与运算,带入ASCII码表值进行运算
System.out.println("hello" + 'a' + 1);
输出为helloa1
字符串用双引号“ ”引起来的不参与运算,+号作为连接符
System.out.println('a' + 1 + "hello");
输出98hello
先加再连接
算术运算符++和–的用法
- ++,- -运算符的作用
自加(++)自减(- -)运算
++:自加。对原有的数据进行+1
- -:自减。对原有的数据进行-1
int a = 10;
int b = 10;
int c = 10;
a = b++;
c = --a;
b = ++a;
a = c--;
输出:a=9、b=10、c=8
++在前,先自加再赋值;++在后,先赋值再运算
不管先赋值还是后赋值,自身都是自加|减变化的