java 程序运行同时拥有 编译型语言和解释型语言的特点

程序运行流程:

源程序 .java文件 --> Java 编译器--> 字节码 .class 文件 --> 类装饰器 --> 字节码校验器 --> 解释器--> 操作系统平台


数据类型

  1. 基本数据类型

    • 整数类型

      1. byte 1个字节,8位
      2. short 2个字节,16位
      3. int 4个字节, 32位
      4. long 8个字节, 64位
    • 浮点类型
      1. float 4个字节, 32位
      2. double 8个字节,64位
    • char类型
      1. 2个字节, 16位
    • boolean类型
      1. true
      2. false
  2. 引用数据类型

    • 接口
    • 数组

字节

计算机内存的最小存储单元是字节(byte),一个字节就是一个8二进制数,即8个bit。它的二进制表示范围从0000000011111111,换算成十进制是0255,换算成十六进制是00~ff

举例:

定义int a = 1; short b = 9;

在计算机内存中分别表示为:

00000000 00000000 00000000 00000001

00000000 00000011

为什么byte类型的区间是 -128 - 127之间呢?

一个byte 在计算机内存中是 8位。

则定义区间为:

10000000 ~ 01111111 -> -128 ~ 127

(这里涉及到计算机基础知识:原码、反码、补码 的知识。)

简易记住 各类型区间的范围的方法:-2^(8*字节数) ~ 2^(8*字节数)-1

位运算

对于正数来讲:

int a = 9;

在计算机内存中表示为: 00000000 00000000 00000000 00001001

a = a << 2; 代表 : 00000000 00000000 00000000 00100100

则a = a * 2 * 2 = 36;

a = a >> 2; 代表 : 00000000 00000000 00000000 00000010

则a = a / 2 / 2 = 2;

位运算是按位进行与、或、非和异或的运算

两个整数进行位运算,实际上就是按位对齐,然后依次对每一位进行运算

与 &: 两个数的同一位,都为1时,结果才为1

或 |: 两个数的同一位,有一个为1时,结果为1

非 ~: 01 互换

异或 ^:如果两个数不同,结果为1,否则为0

    public static void main(String[] args) {
int i = 167776589; // 00001010 00000000 00010001 01001101
int n = 167776514; // 00001010 00000000 00010001 00000010 int p = 167776512; // 00001010 00000000 00010001 00000010
int q = 167776591; // 00001010 00000000 00010001 01001111
int m = -167776590; // 11110101 11111111 11101110 10110010
int o = 79; // 00000000 00000000 00000000 01001111
System.out.println((i & n) == p); // 与 true
System.out.println((i | n) == q); // 或 true
System.out.println(~i == m); // 非 true
System.out.println((i ^ n) == o); // 异或 true
}

运算优先级

在Java的计算表达式中,运算优先级从高到低依次是:

  • ()

  • ! ~ ++ --

  • * / %

  • + -

  • << >> >>>

  • &

  • |

  • += -= *= /=

    括号在第一;不等取反自加减;乘除取模排第三;加减高于位移符,与1或2加减乘除等

java 程序运行机制的更多相关文章

  1. Java程序运行机制

    Java程序运行机制 编译型(compile) 它有一个负责翻译的程序(编译器),将我们写的 Java 源代码转为计算机可执行的代码 举个例子:把一本中文书翻译成英文书 应用:操作系统.C.C++ 解 ...

  2. 02 基础 卸载JDK 安装JDK Java程序运行机制

    基础 JDK:Java Development Kit(Java开发者工具 包含JRE和JVM) JRE:Java Runtime Environment(java运行时环境,包含JVM) JVM:J ...

  3. 基础知识《零》---Java程序运行机制及运行过程

    Java运行机制 Java虚拟机(Java Virtual Machine):Java虚拟机可以理解成一个以字节码为机器指令的CPU:对于不同的运行平台,有不同的虚拟机:Java虚拟机机制屏蔽了底层运 ...

  4. 1、Java语言概述与开发环境——Java程序运行机制

    Java语言是一种特殊的高级语言,它既有解释型语言的特性,也具有编译型语言的特征,因为Java要经过先编译后解释两个步骤. 一.高级语言的运行机制 计算机高级语言按程序的执行方式可以分为编译型和解释型 ...

  5. Java程序运行机制及开发环境

    Java既是编译型语言,又是解释型语言 java源文件首先需要通过javac编译生成后缀名为.class的字节码文件(与平台无关,只面向JVM),然后使用Java虚拟机将字节码解释成特定平台上的机器码 ...

  6. 5.Java程序运行机制

    一.编译型和解释型语言区别 计算机是不能理解高级语言的,更不能直接执行高级语言,它只能直接理解机器语言,所以任何的高级语言编写的程序都必须转换成计算机语言,也就是机器码.而这种转换的方式有两种: 编译 ...

  7. 2.Java程序运行机制

    1.编译型:compile,把所有东西翻译好,若有更新需要重新全部翻译.执行速度够快,对操作系统要求比较低.开发操作系统时用到编译型语言,例如c/c++...运行时需编译整个程序 2.解释性:运行一个 ...

  8. Java的运行机制

    Java程序运行机制 编译型(操作系统 c/c++) 解释型(网页 不追求速度) 程序运行机制

  9. java入门(1) 程序运行机制及运行过程

    首先我们来看一下java程序在底层是怎么工作的: JAVA有两种核心机制: Java虚拟机(Java Virtual Machine): 1.java虚拟机可以理解成一个以字节码为机器指令的CPU. ...

  10. 第一个java程序以及java的运行机制

    课堂要点: 编写第一个java程序以及理解java的运行机制. 1.基本命令介绍: javac命令: 编译java文件得到.class字节码文件 -encoding 参数:指定编译的编码 java命令 ...

随机推荐

  1. mysql8.0修改密码

    把密码设置为空:UPDATE mysql.user SET authentication_string='' WHERE user='root' and host='localhost'; 查看USE ...

  2. 新版 Mediasoup Windows 安装 编译

    https://vc.feiyefeihua.top/ ps:视频测试demo,服务器配置很低,加载有点慢:需要有音视频设备,不然会报错. 关于官网文档 官网文档地址 只测试了 Windows .讲的 ...

  3. 高级纹理以及复杂而真实的应用——ShaderCp10

    --20.9.7 这章主要分成三个部分 立方体纹理(cubemap) 渲染纹理(RenderTexture,rt) 和程序纹理 一.立方体纹理 立方体纹理顾名思义是一种三维的纹理形状类似于立方体,由六 ...

  4. 2021版idea关于translation插件翻译报错

    cn.yiiguxing.plugin.translate.trans.TranslateException: Google 翻译 :: 翻译失败: 未知错误 这是idea拉下来的报错信息,trans ...

  5. <连城诀>剧情大纲+随笔

    --剧情还是偷个懒,从百度百科抄袭一下,红色字体为补充和说明   在湘西沅陵南郊的麻溪乡下,三间小屋之前的晒谷场上,隐居此处多年的剑术名家"铁索横江"戚长发,看着徒弟狄云与女儿戚芳 ...

  6. MySQL Atlas 读写分离软件介绍

    MySQL Atlas介绍 目录 MySQL Atlas介绍 一.MySQL Atlas介绍 1.1.1 MySQL Atlas介绍 1.1.2 Atlas基本管理 一.MySQL Atlas介绍 1 ...

  7. 移动端H5开发坑位指南

    一.HTML方向 调用系统功能 使用<a>能快速调用移动设备的电话/短信/邮件三大通讯功能,使用<input>能快速调用移动设备的的图库/文件. 这些功能方便了页面与系统的交互 ...

  8. ssh免密码登录服务器

    A机为本地主机(即用于控制其他主机的机器) B机为远程主机(即被控制的机器server)B机:192.168.3.145 假如A机无密码登录B机器     A机上的命令: 1,ssh-keygen - ...

  9. QTreewidget勾选功能

    //connect(ui->treeWidget,&QTreeWidget::itemClicked,this,&PushSelectUser::treeItemChanged) ...

  10. 4组-Beta冲刺-5/5

    一.基本情况 队名:摸鲨鱼小队 组长博客:https://www.cnblogs.com/smallgrape/p/15608986.html github链接:https://github.com/ ...