Java的编译运行
Jdk:j ava开发工具包
Jre:java运行环境
Jvm:java虚拟机
编译指令:javac 将java编译为字节码文件class
Java运行指令:java + 类名(原理:jvm解析class文件为系统指令,系统在进行执行指令)
Java跨平台性:JVM将字节码内容解析成系统执行和系统交互,在不同的系统上安装不同版本的虚拟机,就可以执行字节码文件
Java项目的结构
- 包名都是小写
- 类名首字母大写、常量名全部大写、尽量使用驼峰命名法
- 注释:
注释的三种形式:
- 类:
关键字
定义:开发语言中已经内定的一些单词,开发人员只能按照指定的语法进行使用
Java中的关键字一般都是小写。
标识符
起到标识的作用(包括变量名、类名、方法名、参数名、常量名等).
标识符的命名规范:java中标识符只能由字母、数字、$、下划线组成,并且首字母不能是数字(中文语法上是通过的,但是不允许);
标识符不能是关键字;
所有的标识符都要见名知意;
标识符可以缩写(在不影响见名知意的前提下)
来到了Java 9 后,单个下划线不再担当普通变量名的角色,变成了一个保留关键字,只说是另有任用。
变量
定义:在程序运行阶段可能发生变化的量
1)声明变量:
声明变量的类型和名字:类型 + 名字
2)变量赋值和初始化:
初始化:给变量第一次赋值
未初始化:从来没有赋值(不可使用)
//
常量
常量:程序运行时不可以发生变化的量
final修饰的变量初始化以后不可以改变
八大基本数据类型
整数、浮点数、字符、bool
Byte
一个字节
字节:8bit
范围:2的7次幂 – 1 ~ -2的7次幂 – 1 -128 ~ + 127
二进制下负数的计算要反码+1;
第一位是符号位
Short
两个字节
范围:-2^15 ~ 2^15 - 1
Int
四个字节
范围:-2^31 ~2^31 - 1
Long
八个字节
范围:-2^63 ~ 2^63 -1
Double
双精度、八个字节
浮点数的默认类型。存储的数据范围大于long。
默认值:0.0
Float
单精度、四个字节
默认值:0.0f
Char
2个字节 0 ~ 65535 FFFF
Boolean
一个或者四个
默认值是false;
不可以和任意类型转换。
基本数据类型之间的转换
隐式转换
程序会自定完成的转换
取值范围小的可以自动转换成取值范围大的
强制转换
范围大的向范围小的进行转换时使用。
整数和字符转换
Unicode:
Int类型转char需要强制转换,因为char的范围较小:
转义字符:\
代码中各进制的写法:
输入输出
输出将会把整数转换为字符输出。
运算符
Int类型之间的运算得到的结果是int,如果有long类型参与,得到的结果是long类型。
A%B得到的结果正负号和A的符号一样:
自增自减运算:
X++ 、++x 、x--、--x;
c = a++ 先将a的值赋值给表达式(a++),然后a自己加1,最后将表达式的值赋值给c;
d = ++a 先将a的值加1,然后再赋值给表达式(++a),然后将表达式的值赋值给d;
比较运算符
== 在基本数据类型中比较的是值一样。
逻辑运算符
|| :或
&&:与
! : 非
短路现象:多个表达式中如果前面的表达式可以明确整个表达式的结果,后面的表达式就不用执行了。