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标准(六) 文章目录 系列文…

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

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

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

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

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

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

pytorch学习笔记6

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

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

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

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,那么带摄像头的应用应该具体选哪个方案…

固态u盘长期不用会丢数据吗?u盘数据丢失怎么恢复需要多久

在数字化时代&#xff0c;U盘作为便携存储设备&#xff0c;广泛应用于我们的日常生活和工作中。然而&#xff0c;关于固态U盘长期不使用是否会导致数据丢失的问题&#xff0c;以及数据丢失后如何恢复和所需的时间&#xff0c;常常让人感到困惑。本文将针对这些问题进行深入探讨…

Java—文件拷贝

将指定的文件或目录拷贝到指定目录夹下 import java.io.*; import java.util.Scanner;/*** 实现一个文件拷贝*/ public class FileCopy {public static void main(String[] args) {Scanner scanner new Scanner(System.in);System.out.println("请输入要拷贝的源文件路径…

申请国外访问学者面签技巧有哪些?

申请国外访问学者面签是一项重要的步骤&#xff0c;关系到能否成功获得访问学者身份。以下是一些实用的面签技巧&#xff0c;帮助您顺利通过面试。 1.充分准备材料 成功的面签始于准备充分的材料。确保您的申请材料齐全&#xff0c;包括&#xff1a; 个人简历&#xff1a;突出…

3D 图片悬停效果

3D 图片悬停效果 效果展示 CSS 知识点 background 属性的综合运用transform 属性的综合运用 页面整体布局 <div class"box"><span style"--i: 0"></span><span style"--i: 1"></span><span style"--i…

python-基础篇-函数-是什么

文章目录 定义一&#xff1a;如果在开发程序时&#xff0c;需要某块代码多次执行。为了提高编写的效率以及更好的维护代码&#xff0c;需要把具有独立功能的代码块组织为一个小模块&#xff0c;这就是函数。定义一&#xff1a;我们把一些数据喂给函数&#xff0c;让他内部消化&…

【Qt 学习笔记】Qt窗口 | 标准对话框 | 文件对话框QFileDialog

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt窗口 | 标准对话框 | 文件对话框QFileDialog 文章编号&#xff1a;Q…

搭建知识付费APP平台教学:在线教育系统源码详解

如何搭建一个高效的知识付费APP平台呢&#xff1f;今天&#xff0c;笔者将详细解析在线教育系统的源码&#xff0c;帮助您快速搭建自己的知识付费APP平台。 一、平台的核心功能 一个完整的知识付费APP平台通常需要具备以下核心功能&#xff1a; 用户管理 内容管理 支付 课…

业务动态校验框架应用实现

目录 一、业务背景 二、配置内容展示 三、商品动态配置内容展示 &#xff08;一&#xff09;商品spu校验信息数据 &#xff08;二&#xff09;商品sku校验信息数据 &#xff08;三&#xff09;组包商品校验信息数据 &#xff08;四&#xff09;商品数据校验数据持有者 &…