Java基础语法Ⅰ【注释、关键字、字面量、变量】

Java基础语法①

  • 注释
  • 关键字与标识符
  • 数据类型
  • 字面量和常量
  • 变量
  • 转义字符

注释

注释是在写代码时,对代码作出的一些解释说明,比如某一个函数的作用(功能)、函数接收的参数以及函数返回什么东西等等。 这些解释说明没有任何功能,编译器编译的时候也会直接忽略注释。
注释有三种类型【图源:B站黑马程序员java入门到精通课程】:
在这里插入图片描述

  • 单行注释://注释信息两个斜杠,后面是注释信息;换行以后如果还要注释需要打新的“//”;
  • 多行注释:/* 注释信息 随意换行 */,多行注释顾名思义,就是可以写很多行的注释(hhhhhhh),以/*开始,以*/结束;
  • 文档注释:以 /** 开始,*/ 结束,用于生成文档。这种注释通常用于类、方法和变量的说明;文档注释的格式通常包含一些特定的标签,如 @param 用于描述方法参数,@return 用于描述返回值,@throws 用于描述可能抛出的异常等等,这些标签有助于生成清晰的API文档,以便其他开发者能够更好地理解和使用你的代码。
/**  * 这是一个简单的方法  * @param x 参数 x  * @return 返回结果  */  
public int myMethod(int x) {  return x * 2;  
}  

关键字与标识符

  • 关键字(Keywords):

关键字是编程语言预定义的单词,具有特殊含义,用于表示语言结构、控制流程、数据类型等。在Java中,关键字是被保留的单词,不能用作标识符(如变量名、方法名等)。例如,在Java中,publicclassvoid等都是关键字。

  • 标识符(Identifiers):

标识符是程序员定义的用于表示变量、常量、函数、类等的名称。标识符可以由字母、数字、下划线美元符号组成,但必须以字母、下划线或美元符号开头。不能以数字开头;不能使用关键字作为标识符(会冲突)。例如,在Java中,变量名myVariable、方法名calculateTotal等都是标识符。

二者的关联、区别如下:
1、含义:关键字是编程语言预定义的单词,具有特殊含义;而标识符是程序员定义的用于表示各种元素名称的字符序列。
2、用途:关键字用于表示语言结构、控制流程、数据类型等;标识符用于命名变量、常量、函数、类等。
3、限制:关键字是被保留的,不能用作标识符;标识符则是由程序员自定义的,不能与关键字相同。
总的来说,关键字是编程语言的一部分,具有预定义的含义和用途;而标识符是程序员在编写代码时定义的名称,用于表示各种元素。

数据类型

在说到下面的变量、常量之前,还是要先说一下这个Java中的数据类型。因为不管是变量还是常量,其目的都是为了声明一块内存空间存储一个值,常量和变量的区别只是这个值能不能改变而已。前面这句话的一个重点是“存储一个值”,那个这个值是什么类型呢,就需要先学习一下这个数据类型。
我们学数学的时候,一开始学什么?正整数,1,2,3,4,5……,然后我们才知道有负数;之后我们知道有小数、实数虚数、有理数无理数…… 我们知道计算机能够理解的实际上只是0/1比特是吧,不管是整数还是浮点数(小数),在计算机中都会以某种编码格式编程0/1比特串存储起来。实际上,我们说话用到的字母、句子,计算机想要理解也是需要转换成0/1比特串的,这些字母、句在Java(或者其他编程语言中)中被称之为字符、字符串。
java中的数据类型可以分为基本数据类型引用数据类型,后者涉及到引用,后面再细说吧吧吧吧吧(我也没有搞明白呜呜呜)。先来看看基本数据类型吧:

数据类型关键字取值范围占用内存
整数byte-127 ~ 128 (-2^7 ~2^7-1)1 Byte
整数short-32768 ~ 32767 (-2^15 ~2^15-1)2 Byte
整数int-2^31 ~2^31-14 Byte
整数long-2^63 ~2^63-18 Byte
浮点数float后续解释4 Byte
浮点数double后续解释8 Byte
字符char0 ~ 655352 Byte
布尔booleantrue,false1 Byte
public class Main {public static void main(String[] args) {//bytebyte a = 20;System.out.println(a);//shortshort b = 10;System.out.println(b);//intint c = 10;System.out.println(c);//longlong d = 20L;//注意需要L后缀System.out.println(d);//floatfloat e = 15.5f;//注意需要一个f后缀System.out.println(e);//doubledouble f = 20.5;System.out.println(f);//booleanboolean g = true;System.out.println(g);//charchar h = 'A';System.out.println(h);}
}

在Java中,浮点数的编码方式遵循IEEE 754标准。这个标准定义了单精度浮点数(float)和双精度浮点数(double)的表示方法。

  • 单精度浮点数(float):
    符号位:1位,表示正负号。
    指数位:8位,用于表示指数部分。
    尾数位:23位,用于表示尾数部分。
  • 双精度浮点数(double):
    符号位:1位,表示正负号。
    指数位:11位,用于表示指数部分。
    尾数位:52位,用于表示尾数部分。

这种编码方式允许浮点数在计算机中以二进制形式表示,同时保留了一定的精度和范围。 后续复习计算机组成原理相关内容的时候再来讨论,float、double两种浮点数所能表示的数据范围!

我们常用的数组、字符串String,其实都是引用类型的数据结构,后续我学会了再总结!!!

字面量和常量

  • 字面量(Literals) 是指在程序中直接表示数值、字符串或者其他数据类型的值。它们是程序中的固定值,不会改变。在Java中,一些常见的字面量包括整数字面量(如 5)、浮点数字面量(如 3.14)、布尔型字面量(如 truefalse)、字符串字面量(如 "Hello")、字符变量(如'a')等。
public class Main {public static void main(String[] args) {// 字面量的输出-整数System.out.println(123);System.out.println(-456);// 字面量的输出—浮点数System.out.println(3.14);System.out.println(-2.718);// 字面量的输出—布尔值System.out.println(true);System.out.println(false);// 字面量的输出—字符System.out.println('A');System.out.println('中');// 字面量的输出—字符串System.out.println("Hello, world!");System.out.println("你好,世界!");}
}
  • 常量(Constants) 是程序中用于存储固定值的标识符,其值在程序执行期间不会改变。在Java中,可以使用 final 关键字来定义常量。例如:final int MAX_VALUE = 100;。在这里,MAX_VALUE 是一个常量,它的值被设定为100,并且在程序执行期间不会改变(补充,在C、C++中用const关键字定义常量)。
    final定义一个常量以后,其值是不可更改的👇
    在这里插入图片描述

  • 区别:
    字面量是数据的值本身,在代码中直接出现;常量是用于存储这些固定值的符号名称。
    字面量是固定的值;常量也是固定的值,但它们是通过符号名称来引用的。
    因此,字面量可以是常量的一种形式,但不是所有的字面量都是常量。常量是一种具有符号名称的固定值,而字面量是程序中直接出现的值。

变量

变量,顾名思义,就是一个值可以变化的标识符。底层一点的解释,就是用一个标识符(变量名)来命名一块内存空间,之后这个内存空间存储的具体值就是这个变量的值,当然这个内存空间中存储的值是可以变化的。变量的声明规则是type variableName = value; ,即需要说明这个内存空间内存储的数据类型是什么,比如float、int、boolean(实际上编译器根据这个类型来分配对应大小的空间),需要说明这个内存空间的名字,以及需要给它一个初始化的值【使用之前必须要赋值(初始化)!!!】。

转义字符

当编写字符串或字符字面量时,有时需要表示一些特殊字符,如换行符、制表符、引号等。然而,直接键入这些字符可能会导致编译器误解你的意图。为了解决这个问题,编程语言引入了转义字符的概念。

转义字符是由反斜杠(\)紧跟着一个字符组成的序列。当编译器遇到一个反斜杠时,它会检查反斜杠后面的字符,并根据这个字符的不同来采取相应的行动。这个过程称为转义序列的解析。

在Java中,一些常见的转义字符包括:

\n:换行符
\t:制表符
\r:回车符
\\:反斜杠
\':单引号
\":双引号
\b:退格
\f:换页
例如,要在一个字符串中表示换行符,你可以使用 \n。这样编译器就知道你希望在那个位置插入一个换行符。

总的来说,转义字符允许你在字符串中表示那些在源代码中难以输入或者不可见的字符,从而使得程序能够正确地解释和显示这些特殊字符。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/27990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

轻松拿捏C语言——【关机代码】

🥰欢迎关注 轻松拿捏C语言系列,来和 小哇 一起进步!✊ 🎉创作不易,请多多支持🎉 🌈感谢大家的阅读、点赞、收藏和关注💕 🌹如有问题,欢迎指正 我们可以通过写…

Java面试题汇总(持续更新.....)

Java面试题 1. JVM & JDK & JRE Java虚拟机(JVM)是运行Java字节码的虚拟机,JVM有针对不同系统的特定实现,目的是使用相同的字节码,他们都会给出相同的结果。字节码和不同系统的JVM实现是Java语言“一次编译、…

【Java】类与类的关系及其总结

类和类的关系 代码 总结: 【1】面向对象的思维:找参与者,找女孩类,找男孩类 【2】体会了什么叫方法的性擦,什么叫方法的实参: 具体传入的内容 实参: 【3】类和类可以产生关系: …

GenICam标准(六)

系列文章目录 GenICam标准(一) GenICam标准(二) GenICam标准(三) GenICam标准(四) GenICam标准(五) GenICam标准(六) 文章目录 系列文…

C++中整型字面量的使用细节

C中整型字面量的使用细节 整型字面值(常量)是显式地书写的常量,如212或1776。与C相同,C能够以三种不同的计数方式来书写整数:基数为10、基数为8(老式UNIX版本)和基数为16(硬件黑客的最爱)。附录A介绍了这几种计数系统:这里将介绍C表示法。C使用前一(两)…

【会议征稿,IEEE出版】第六届物联网、自动化和人工智能国际学术会议(IoTAAI 2024,7月26-28)

第六届物联网、自动化和人工智能国际会议(IoTAAI 2024)将于2024年07月26-28日在中国广州召开。 会议旨在拓展国际科技学术交流渠道,搭建学术资源共享平台,促进全球范围内的科技创新,提升中外学术合作。会议还鼓励不同领…

剃头师傅不担心AI大模型 到底谁该担心?

到底学什么,不会被AI替代? 我家附近有一家美容店,已经开了20多年,店里的一位伙计硬是靠着自己的坚持从学徒熬成了门店的合伙人,所以现在去理发时,我都叫他“周董”。 这天,我问他,…

windows命令帮助大全

有关某个命令的详细信息,请键入 HELP 命令名 ASSOC 显示或修改文件扩展名关联。 ATTRIB 显示或更改文件属性。 BREAK 设置或清除扩展式 CTRLC 检查。 BCDEDIT 设置启动数据库中的属性以控制启动加载。 CACLS 显示或修改文件的访问控制列表(ACL)。 CALL 从另一个批处…

.h5转onnx,获取onnx中间层特征值

0. 背景 因为近些年工作中基本都是使用pytorch框架,tensorflow框架还是最初的时候使用过一段时间,现在一个项目中给到的训练后的模型是基于tensorflow keras保存的.h5文件。但是在后面部署的时候需要使用onnx进行,所以需要进行一下模型的转换…

力扣hot100:75. 颜色分类(双指针)

75.颜色分类 本题是经典的「荷兰国旗问题」,由计算机科学家 Edsger W. Dijkstra 首先提出。 75. 颜色分类 1、遍历两遍 遍历两遍,第一遍放置0的位置,第二遍放置1的位置,我们只需要维护一个当前放置位置即可。 class Solution…

【DPDK学习路径】七、创建RX/TX队列

上一节我们讲述了如何申请内存池缓冲区以便接下来创建 RX 队列,这一节我们将给出具体如何创建 RX/TX 队列。 在 DPDK 中提供了 rte_eth_rx_queue_setup 及 rte_eth_tx_queue_setup 这两个接口用于接收/发送队列的创建。 下面给出一个为各个网卡创建RX/TX 队列的实例…

pytorch学习笔记6

想要找一些官方的小工具数据集,可以进入pytorch官网,DOCS-》pytorch下拉至libraries,点击torchversion,调整版本至0.9.0就可以找到相应的一些数据集,训练集 ctrlp可以看一个函数中需要设置哪些参数 下载数据集可以参考…

nginx性能不够用了,有没有性能更好的代替方案

面对Nginx服务器性能达到瓶颈,寻找更高性能的替代方案是解决该问题的有效策略。在众多可行的解决方案中,Pingora、Traefik和Caddy是三个值得关注的选项,它们各具特点并在某些方面超越了传统的Nginx。具体介绍如下: 1. **Pingora**…

【设计模式深度剖析】【6】【行为型】【中介者模式】

👈️上一篇:迭代器模式 | 下一篇:观察者模式👉️ 设计模式-专栏👈️ 文章目录 中介者模式定义英文原文直译如何理解? 中介者模式的角色1. 中介者(Mediator)2. 具体中介者(ConcreteMediato…

经验分享:使用Python3删除ansible主机known_hosts文件中已下线主机的公钥信息

使用Python3删除ansible主机known_hosts中已下线主机的公钥信息。 简介代码部分调用方法结果验证清理前清理后 简介 在使用ansible工具批量管理主机时,通常会让ansible主机与被控主机之间实现免密登录,从而方便工作的开展。值得注意的是,当被…

C语言小例程20/100

题目&#xff1a;一个数如果恰好等于它的因子之和&#xff0c;这个数就称为"完数"。例如61&#xff0b;2&#xff0b;3.编程找出1000以内的所有完数。 #include<stdio.h> #define N 1000 int main() {int i,j,k,n,sum;int a[256];for(i2;i<N;i){suma[0]1;k…

工业网关在智能制造中的具体应用和效果-天拓四方

随着工业4.0时代的到来&#xff0c;智能制造正逐渐成为工业领域的发展趋势。作为连接物理世界与数字世界的桥梁&#xff0c;工业网关在智能制造中发挥着至关重要的作用。本案例将详细阐述工业网关在某一制造企业中的具体应用&#xff0c;展示其如何助力企业实现数字化转型&…

汽车IVI中控开发入门及进阶(二十八):视频SERDES芯片

前言: SerDes不是很常见,SerDes是将Ser和Des两种产品组合在一起的名称。Ser是Serializer或“并串转换器”的缩写,Des是Deserializer或“串并转换器”的简写。 Serdes是不是必须的?上一节介绍了camera,上上节也研究了video decoder,那么带摄像头的应用应该具体选哪个方案…

JS常用的几种函数

在JavaScript中&#xff0c;有很多常用的函数和内置对象方法。以下是一些最常见的JavaScript函数和它们的简要描述&#xff1a; console.log() 用于在浏览器的控制台或Node.js的命令行界面中打印消息。typeof() 返回一个表示变量或表达式的类型的字符串。parseInt() 和 parseF…

【安卓逆向】adb root adbd cannot run as root in production builds

尝试了很多方法不行, 最终在这篇贴纸看到这段代码 su -c "resetprop ro.debuggable 1";su -c "resetprop service.adb.root 1";su -c "magiskpolicy --live allow adbd adbd process setcurrent";su -c "magiskpolicy --live allow adbd su…