【Java SE】基础语法,程序是怎么跑起来的?

本文介绍了Java程序的运行机制,从编译到解释执行的过程,并对比了编译型和解释型语言的区别。接着详细讲解了Java的数据类型,包括基本类型和引用类型,强调了在银行业务中避免使用float和double的原因。此外,还讨论了类型转换的规则和变量的分类。文章还提到了常量的定义和命名规范,并简要阐述了包机制的作用以及JavaDoc的用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Java 程序的运行机制

思考?一个Java 程序是怎么跑起来的

在这里插入图片描述

  • 首先通过 Java 编译器编译为 .class 文件
  • 通过类装载器装入 .class 并且进行字节码校验器
  • 通过解释器解释一步,执行一步

这只是一个简单模型,后期深入探讨研究

编译型语言与解释型语言的必需知识点

概念:由于计算机不能直接的理解高级语言,只能直接理解二进制的机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言的编写的程序。翻译的方式有两种,一个是编译一个是解释。两种方式只是翻译的时机不同

  • 编译型语言:使用一个“编译器”来编译成机器语言,然后就可以直接运行可执行文件,比如C,C++

  • 解释型语言:使用一个“解释器”来执行,解释器对于程序是一句一句“翻译”成机器语言来一句一句执行,例如 shell ,python

编译型语言和解释型语言的区别

如图
区别

  • 编译器型语言执行速度快
  • 编译型语言所需要内存更少
  • 编译型语言不安全,可以访问内存任意位置
  • 解释型语言平台独立性,可移植性
  • 解释型语言占用资源多,执行速度慢

2、数据类型

Java 是强类型语言,要求所有变量必须先定义后使用

Java 数据类型分为两类

  • 基本类型

    • 数值类型:整数(byte,short,int,long),浮点数(float,double),字符类型(char)
    • boolean 类型:(boolean)占1位字节数
  • 引用类型:

    • 接口
    • 数组

注意:在 Java 中的 char 类型一般占2个字节,因为其采用的字符集为 unicode,而C/C++采用的是ASCII编码集,只占1个字节

面试题:银行业务怎么表示?
切记不可以使用 float 和 double,因为他们是有限的,有舍入误差
比如 float d1 = 34189242142478515f
float d2 = d1 +1 ,这个时候,d2 和 d1 是相等的,不符合逻辑
后期会更新一个类,叫 BigDecimal 大数类,可以解决这个问题

3、类型转换

  • 强制类型转换:由高到低
  • 隐式类型转换:由低到高

注意点

  1. 不能对 boolean 类型转换
  2. 不能把类型转换为不相关的类型
  3. 转换的时候可能存在内存溢出或精度损失问题

4、变量

  • 局部变量:和 C++一样,在函数内部,使用之前必须初始化
  • 实例变量:从属于对象,通过对象访问,默认值为 0/null/false
  • 类变量:一个变量前面加 static ,从属于类,可以直接输出

5、常量

使用到一个关键字 final

static final double PI = 3.14
final static double PI = 3.14

两种写法都行,修饰符不区分顺序,而C++使用的是 const 关键字定义一个常量

命名规范
1.常量:一般使用大写字母来定义,中间用下划线连接
2.变量:使用驼峰规则,除 了第一个单词,其余单词首字母都为大写
3.类名:首字母需要大写,其它单词首字母也大写
4.方法名:首字母小写,其他单词驼峰命名
5.局部变量:首字母小写,其他单词驼峰命名

6、包机制

包的本质就是一个文件夹,用于区别类名的命名空间,C++ 使用的 namespace 避免命名污染

一般使用公司域名导致来规范包的命名

7、JavaDoc

用来将注释生成自己的 API 文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序猿的温柔香

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值