当前位置: 首页 > news >正文

Java基础语法

一、注释

作用:对程序进行说明。

种类:

  1. 单行注释://
  2. 多行注释:/*    */
  3. 文档注释:/**  */  (一般放在类上,方法上,可被提取到程序说明中)

二、字面量与变量

2.1 字面量

数据在计算机中如何写:

2.2 变量

变量可以理解为一个用来存储数据的容器,可以更方便的管理,维护代码。

定义格式:数据类型  变量名称=数据;

变量的本质就是,给这个变量分配一块内存空间,存储数据。

tips:

  1. 变量必须先声明再使用,否则报错。
  2. 变量在定义的时候可以不赋值,但使用时变量内必须有数据,否则报错。
  3. 在定义变量时,数据类型约束变量只能存储什么数据,例如数据类型为int,就只能存储整数数据,不能存储字符等其他类型的数据。
  4. 变量名,也就是标识符,一般由字母,数组,下划线,美元符号$组成,不能使用特殊符号!%,不能是关键字,不能以数字开头。
  5. 变量名命名建议:全部英文,首字母大写,满足驼峰模式。

三、数据类型

3.1 数据类型的种类

  • 基本数据类型
    • 整型:byte(1B)、short(2B)、int(4B)、long(8B)
    • 浮点型:float(4B)、dounble(8B)
    • 字符型:char(2B)
    • 布尔型:boolean(1B)
  • 引用数据类型
    • 字符串类型:String

3.2 类型转换

3.2.1 自动类型转换

  1. 小范围类型的变量可以直接赋值给大范围类型的变量。
  2. 表达式的自动类型提升:表达式中的最终结果类型是由里面最高的数据类型决定的,最高数据类型是什么,最终的结果的数据类型就是什么。例如

3.2.2 强制类型转换

大范围类型的变量是不可以直接赋值给小范围类型的变量,如果要赋值,必须进行强制类型转换。

语法:数据类型 变量2 = (数据类型) 变量1(或者数据)

tips:

  •  强制类型转换可能出现数据失真
  • 小数 强制类型转换为整数,小数部分被丢弃,保留整数部分

四、操作符

Java的操作符大致与C语言的操作符相同,详情可见:C - 操作符_c --操作-CSDN博客

但在逻辑运算符操作数类型上有所不同:

  • C 语言:逻辑运算符的操作数通常是整数类型,非零值被视为true,零被视为false。
  • Java:逻辑运算符的操作数必须是布尔类型,只能是true或false,不能使用其他类型。

五、JDK

JDK 是 Java Development Kit 的缩写,即 Java 开发工具包 ,是Java语言的软件开发工具包,由Oracle公司(前身为Sun Microsystems )开发和维护,是Java开发的核心。

JDK的组成:

  • JRE (Java Runtime Environment )即 Java 运行时环境
    • JVM虚拟机:运行Java 程序的地方,具备内存管理、垃圾回收等功能,也是Java实现跨平台特性的关键。不同操作系统有对应的JVM实现,只要安装了JVM,相同字节码就能在不同系统上运行。
    • 核心类库:包含了 Java 程序运行时常用的类和接口,这些类库提供了丰富的功能,能满足 Java 程序在运行过程中的各种需求。
  • javac(Java编译器):将Java源代码(.java文件)编译成字节码(.class文件) ,供Java虚拟机执行。
  • jdb(调试工具)
  • javadoc(文档生成工具)
  • ……

Java跨平台的原理:

  1. 一次编译,处处可用。
  2. Java为每个平台都提供了对应的JVM虚拟机,Java程序在虚拟机中运行。​​​​​​​
http://www.xdnf.cn/news/49861.html

相关文章:

  • 坐标轴刻度QCPAxisTicker
  • Web3.0热门领域NFT项目实战课程
  • 使用virtualbox的HostOnly建立共享网络-实现虚拟机上网
  • Function calling LLMs 的 MCP:AI开发的双剑合璧
  • 访问”和“初始化本质区别以及C++静态成员变量定义位置详解
  • 【Rust 精进之路之第9篇-所有权·核心】规则与移动 (Move):Rust 内存安全基石详解
  • Go语言中的sync.Map与并发安全数据结构完全指南
  • Linux:文件系统
  • 【C++基本算法】背包问题——完全背包
  • javaSE.二叉树的遍历
  • 8.QT-按钮类控件|Push Button|Radio Button|Check Box|Tool Button(C++)
  • VitePress搭建-接入giscus的注意事项。
  • Python NLTK库【NLP核心库】全面解析
  • 25.4.20学习总结
  • 专业PCB设计外包服务
  • Sharding-JDBC 系列专题 - 第一篇:简介与快速入门
  • 如何一键批量删除多个 Word 文档中的页眉和页脚
  • TCP报文段解析:从抽象到具象的趣味学习框架
  • RNN - 循环神经网络(实现)
  • 【计量地理学】实验四 主成分分析与莫兰指数
  • keil5烧录后No Debug
  • 【工具变量】A股上市企业数据资产披露水平数据集(2000-2023年)
  • 线程安全总结
  • unordered_map、unordered_set详解
  • FTP协议命令和响应码
  • LabVIEW发电机励磁系统远程诊断
  • XSS学习2
  • Spring源码中关于抽象方法且是个空实现这样设计的思考
  • MySQL入门实战篇(零基础学习MySQL指南)
  • 智能座舱所有功能测试