Java运行原理01

Java里的一些文件

JDK - Java Development Kit 开发工具
工具:java、javac、javadoc…
JRE

JRE - Java Runtime Environment 运行环境
工具:java
类库:Library + 写好的代码
JVM

JVM - Java Virtual Machine 虚拟机
不能独立安装

文件夹是什么
bin -> java的开发工具 java\javac\javadoc\jar....
conf -> 配置文件
lib -> jar包(字节码文件打包而成)

java变量

jvm内存中分配了一块空间,存储数据

变量使用:
1.声明/定义 - 类型 变量名
2.初始化 - 第一次赋值
java变量类型以及编码原理

2种数据类型:基本数据类型 + 引用类型

基本数据类型:8种
整型:byte、short、int、long
浮点型:float、double
字符型:char
布尔:boolean

java虚拟机中存储基本数据类型的格式:二进制补码

	2 4 8 16 32 64 128 256 512 1024

以20为例

20      
0(符号位) 001 0100
-20
原码:1	001 0100 
反码:1  110 1011
补码:1  110 1100  - JVM

byte:1个字节 = 8位
范围:-128~127

0 111 1111 -> 127
 
补:1 111 1111
反:1 111 1110
原:1 000 0001 -> -1

1 111 1110
1 111 1101
1 000 0010 -> -2

最小值: 
1 000 0000
1 111 1111
1 1 000 0000 -> -128

基本单位:1 字节 = 8位

short:2个字节 = 16位 范围:-2^15 ~ 2^15-1
int: 4个字节 = 32位 范围:-2^31 ~ 2^31-1
long: 8个字节 = 64位 范围:-2^63 ~ 2^63-1 (通常用来表示时间)

自动类型转换:
byte -> short -> int -> long -> float

char: 2个字节 = 16位

1111 1111 1111 1111 -> 0 ~ 2^16-1 = 65535

'\u0000' ~ '\uffff'

科学计数法
float:32位
1位符号位 8位 指数位 23位 尾数位

double:64位
1位符号位 11位 指数位 52位 尾数位
客观存在:精度缺失问题, 不能判断两个浮点数是否相等

boolean: true false

运算符

1.算数运算符
+ - * / %(取模) ++ - -
++ i 先运算,再使用
i ++ 先使用,再运算

2.赋值运算符
= += -= *= /=
a += 2; // a = a+2

3.比较运算符
> < >= <= == !=
结果:boolean类型

4.位运算符
&(都是1,才是1)
|(有一个是1,就是1)
^(相同是0,不同是1)

 二进制计算 2 ^ 4
 	0000 0010
 	0000 0100
 	0000 0110 = 6
 抑或:相同是0,不同是1

5.逻辑运算符
&& & || |
两边都是boolean值,结果也是boolean值
&&: 两边都是true,结果才是true
||: 有一个是true,结果就是true

 && 比 & 多了一个“短路”
 短路:通过第一个表达式已经能确定整个结果,第二个表达式就跳过了

6.位移运算符
>>, <<, >>>
>>>:无符号右移,永远补0
>>:补位是符号位

7.三目运算符
表达式1[boolean值] ? 值1 : 值2
可以用来做判断
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值