目录
java的技术平台分为
javaSE:标准版的平台,是java基础部分;
javaEE:企业级开发平台,多用于大型技术的开发;
javaME:微小平台,多用于移动端等小型电子设备上的开发;
javaCard:小型卡,智能卡片上的开发;
JDK、JRE、JVM的区别:
JDK是开发工具,包含开发工具和JRE;
JRE是包含JVN虚拟机和运行java的核心类库API;
JVM是虚拟机,java跨平台运行的关键所在;
计算机执行机制 :
编译执行:把源代码执行一次翻译工作,执行的时候是二进制文件。不能跨平台,执行效率高
解释执行:一行一行的解释,一行一行的执行。不同的环境有自己的解释器。可以跨平台,执行效率低
java可以跨平台的原因:
生成的.class(字节码文件)可以在不同平台对应的虚拟机上解释执行;就是所说的一次编译可以处处运行。
//第一个小程序HelloWorld
public class Test{
public static void main(String[] args){
System.out.print("HelloWorld");
}
}
什么是注释:
注释是对程序的解释,不会影响程序的运行
//单行注释,只能注释掉一行;
/*
多行注释;
可以注释多行;
*/
/***
类注释,生成说明文档时会出现在说明文档中;
*/
字面量:
告诉程序员应该书写什么格式的数据;
变量:
存储数据的空间;
数据类型 变量名称 = 初始值; 例如 byte a = 3;
数据类型:
基本类型:
4类,8种;
数据类型 | 表示方法 | 占用位置 | 占用位置 | 表示数值范围 |
---|---|---|---|---|
整数 | byte | 1个字节 | 8位 | -128~127 |
short | 2 | 16 | -2^15~2^15-1 | |
int(默认) | 4 | 32 | -2^31~2^31-1 | |
long | 8 | 64 | -2^63~2^63-1 | |
小数 | float | 4 | 32 | -2^31~2^31-1 |
double(默认) | 8 | 64 | -2^63~2^63-1 | |
字符 | chart | 2 | 16 | 0~65535(0~2^15*2-1 ) |
布尔型 | Boolean | 1 | 8 | true / false |
注:布尔类型的空间占用貌似有争议;
随便写一个数据是1515515是int型的,要存到long里面就要在数值后加上L(不区分大小写),例如1515515L
两个数值运算,会先把小转大,在进行运算,例如int 1 + byte 2 会先把byte 转化成int类型的在和int 1 进行运算。
引用类型:
除了基本的数值类型,其他的都是引用数据类型;
例如String,还有自己定义的对象类型;
内存运行机制有区别:
基本数据运算时,直接在栈内存中运算,直接拿着数值进行赋值运算操作;
引用数据类型运算时数据在堆内存中,把地址给变量,变量在栈内存中;(一个变量赋值给另一个变量时,一个变量拿着这个地址修改了堆内存中的数据,另一个变量再次使用时,数据也发生了变化)
标识符
标识符就是由一些字符、符号组合起来的名称,用于给类,方法,变量等起名字的规矩。(说白了指的就是类名,变量名、方法命名等名称)
标识符起名要求:
基本要求:由数字,字母,下划线_ 美元符号$ 等组成
限制条件:不能以数字开头;不能是关键字;区分大小写;
变量名起名建议:建议全部英文,全部小写
类名起名建议:建议全部英文,每个单词首字母大写
数据运算时数据的转换分为两种:
自动转换:从小的数据类型转换成大的数据类型,byte、short 、chart ==》int ==》long ==》 float ==》double
强制转换:在要转换的数据类型前加上(类型)数据,例如int b = 5 ; byte a = (byte) b;
注意:
1.要慎用强制转换,强制转换会发生数据的丢失,也可能会发生小数位数的截断;
例如double a =2.7456 ; int b = int(a); ==> int b 的结果就会截断成 2;
2.数据运算时,最终结果是以最高的数据类型决定的;
运算符
1.对字面量或者变量进行操作的符号。运算符号包括(+ - * / %)
2.其中,+ 不紧做运算,也做连字符号用。
3.++i 先自增1,在参与运算; i++先参与运算,在自增1;
--i和i--同理;
赋值运算符
+= -= *= /= %= 例如:a+=b ==》 指的是a = a + b;
关系运算符
对数据进行关系判断并返回一个布尔值
== != > >= < <=
逻辑运算符
把多个关系运算符放在一起进行判断
逻辑符号 | 介绍 | 说明 |
---|---|---|
& | 与 | 2个同为true才是true |
| | 或 | 有1个true就是true |
^ | 异或 | 2个不同是true |
! | 非 | 相反的意思 !true==false |
&& | 双与 | 外号短路与,左边是false就不继续执行右边 |
|| | 双或 | 外号短路或,左边是true就不继续执行右边 |
注:&& || 比较常用,使用方法与& | 相同;
三元运算
判断表达式?值1:值2 ==》 表达式结果是true返回值1,否则返回值2;