C语言的编译运行过程:-------效率高、与操作系统相关 .c源文件,经过编译,直接生成可执行文件(0和1) QQ是用C语言写的: Windows版的QQ-----------------运行在Windows系统上 Linux版的QQ-------------------运行在Linux系统上 IOS版的QQ---------------------运行在IOS系统上 ???版的QQ---------------------运行在???系统上 不同操作系统的指令是不同的: Windows系统: 你----------------01010101 Linux系统: 你----------------11110011 IOS系统: 你----------------00111100二、Java 的编译运行过程
java编译运行过程:------------------------------效率稍低、
1).java源文件,经过编译,生成.class字节码文件
2)JVM加载.class并运行.class(0和1)
假设QQ是用Java语言写的:
java版的QQ,经过编译,生成.class字节码文件
1)Windows装JVM-----------运行在Windows系统上
2)Linux装JVM-------------运行在Linux系统上
3)IOS装JVM---------------运行在IOS系统上
4)???装JVM---------------运行在???系统上
跨平台、一次编程到处使用
银行系统------用Java语言写的(上亿的资金)
银行服务器----------------Windows系统
银行服务器----------------Linux系统
银行服务器----------------IOS系统
三、Java 开发环境
1. Java编译运行过程
- 编译期:.java源文件,经过编译,生成.class字节码文件
- 运行期:JVM加载.class并运行.class(0和1)
- 特点: 跨平台、一次编程到处使用
- JVM: java虚拟机
- 加载.class并运行.class
- JRE: java运行环境
- 除了包含JVM以外,还包含了运行java程序所必须的环境
- JRE = JVM+java系统类库(小零件)
- JDK: java开发工具包
- 除了包含JRE以外,还包含了开发java程序所必须的命令工具
- JDK=JRE+编译、运行等命令工具
- 结论:
- 运行java程序的最小环境为JRE
- 开发java程序的最小环境为JDK
-
是JetBrains公司的,分社区版(免费的)和终级版(收费的)
-
开发步骤:
2.1) 新建Java项目/ 工程---------------------------小区
2.2) 新建Java包--------------------------------------楼+单元
2.3) 新建Java类--------------------------------------房子
- main中: System.out.println(“hello world”);
-
注释: 解释性文本(计算机不执行)
3.1) 单行注释: //
3.2) 多行注释:
3.3) 文档注释:
package D01; // 声明包D01(楼+单元)
public class HelloWorld { // 声明类HelloWorld(房子)
// 主方法,为程序的入口(大门口),程序的执行从main开始,main结束则程序结束
public static void main(String[] args) {
// 输出Hello world
// 1.严格区分大小写
// 2.所有符号必须是英文模式的
// 3.每句话必须以分号结尾
System.out.println("Hello world"); // 双引号中的原样输出
}
}
五、变量(存数的)
1. 声明:----------- 相当于在银行开帐户
int a; //声明一个整型的变量,名为a int b,c,d; //声明三个整型的变量,名为b,c,d //int a; //编译错误,变量不能同名2. 初始化:--------- 相当于给帐户存钱
int a = 250; //声明整型变量a并赋值为250 int b; //声明整型变量b b = 250; //给变量b赋值为250 b = 360; //修改b的值为3603. 使用:----------- 使用的是帐户里面的钱
1)对变量的使用就是对它所存的那个数的使用
int a = 5;
int b = a+10; //取出a的值5,加10后,再赋值给变量b
System.out.println(b); //输出变量b的值15
System.out.println("b"); //输出b,双引号中的原样输出
a = a+10; //在a本身基础之上增10
System.out.println(a); //15
2)变量在用之前必须声明并初始化
//System.out.println(m); //编译错误,变量m未声明
int m;
//System.out.println(m); //编译错误,变量m未初始化
- 命名:
1)只能包含字母、数字、_和$符,不能以数字开头 2)严格区分大小写 3)不能使用关键字 4)允许中文命名,但不建议,建议"英文的见名知意"、
package D02;
// 变量的演示
public class VarDemo {
public static void main(String[] args) {
// 1. 变量的声明;----在银行开账户
int a; // 声明一个整型的变量,名为a
int b,c,d; // 声明三个整型的变量,名为b,c,d
// int a; // 编译错误,变量不能同名
// 2. 变量的初始化:----给账户存钱
int e = 25; // 声明整型变量e并赋值为25
int f; // 声明整型变量f
f = 25; // 给变量f赋值为25
f = 50; // 修改f的值为50
// 3. 变量的使用:----使用的是账户里面的钱
int g = 5;
int h = g + 10; // 取出g的值,加10后,再赋值给变量h
System.out.println(h); // 输出变量h的值15
System.out.println("h"); // 输出h,双引号中的原样输出
g = g + 10; // 在g本身基础之上增10
System.out.println(g); // 15
// System.out.println(i); // 编译错误,变量i未声明
int i;
// System.out.println(i); // 编译错误,变量i未初始化
// 4. 变量的命名
int a1, a_5$, _3c, $5g;
// int a*b; // 编译错误,不能包含*号等特殊符号
// int 1a; // 编译错误,不能以数字开头
int aa = 5;
// System.out.println(aA); // 编译错误,严格区分大小写
// int class; // 编译错误,不能使用关键字
// int 年龄; // 允许,但不建议
// int nianLing; // 既不直观也不专业 ---- 必须杜绝
int age; // 建议“英文的见名知意”
int score, myScore, myJavaScore; // 驼峰命名法(变量)
}
}
六、八种基本数据类型
- byte, short, int, long, float, double, boolean, char
- 整数直接量默认为int类型,但不能超出范围,若超范围则发生编译错误
- 两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
- 运算时若超出范围,则发生溢出(溢出不是错误,但是需要避免)
- 表示长整型直接量,需要数字后加L或l
- 运算时若有可能溢出,建议在第1个数字后加L
- 浮点数直接量默认为double型,若想表示float需在数字后加F或f
- double与float型数据参与运算时,有可能发生舍入误差(精确运算场合不能选用)
- 只能存储true或false
- 采用的是Unicode字符集编码格式,一个字符对应一个码
表现的形式为字符char,但本质上是码int(0到65535之间)
(ASCII码: ‘a’–97 ‘A’–65 ‘0’–48) - 字符型直接量必须放在单引号中,只能有一个
- 特殊符号需要通过来转义
数据类型从小到大依次为: byte--short--int--long--float--double
char--
- 自动/隐式类型转换:小类型到大类型
- 强制类型转换:大类型到小类型
- 语法: (要转换成为的数据类型)变量
- 强转有可能发生溢出或丢失精度
- 整数直接量可以直接赋值给byte、short、char,但不能超范围
- byte,short,char型数据参与运算时,系统将其一律先转为int再运算
package D02;
public class DataTypeDemo {
public static void main(String[] args) {
}
}



