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

java入门基础笔记语法篇(3)

一、 注释

什么是注释

  •  注释定义:注释是写在程序中对代码进行解释说明的文字,方便自己和他人查看以理解程序。

Java注释的三种写法:

  • 单行注释:以“//”开头,注释内容只能写一行。
  • 多行注释:以“/*”开头,“*/”结尾,中间可有多行注释内容。
  • 文档注释:以“/**”开头,“*/”结尾,通常用在类和方法上方。 并给出了包含三种注释写法的代码示例。
/*** 这是一个文档注释,通常用在类和方法上方*/
public class HelloWorld {public static void main(String[] args) {// 这是一个单行注释,有效范围是从//开始到当前行结尾System.out.println("HelloWorld");/*这是一个多行注释*/System.out.println("HelloWorld");}
}

注释的特点 

注释只在代码编写阶段起作用,编译后的.class文件中没有注释,注释不会影响程序执行。

二、第一个 Java 程序

1.创建 Java 源文件

创建一个新的文件,命名为 HelloWorld.java。文件名必须与类名相同,并且后缀名为 .java

2.编写代码

在 HelloWorld.java 中输入以下代码:

// 这是一个 Java 类,类名必须与文件名相同
public class HelloWorld {// 这是主方法,程序的入口点public static void main(String[] args) {// 这行代码会在控制台输出 "Hello, World!"System.out.println("Hello, World!");}
}

掌握java中输出常见字面量程序

//定义一个名为 LiteralOutputExample 的公共类,
//在 Java 中,一个 Java 文件中可以有多个类,但只能有一个公共类,且该公共类的名称必须与文件名相同。
//这里我们将通过这个类来演示 Java 中各种常见字面量的使用和输出。
public class LiteralOutputExample {/*** 程序的入口方法,Java 虚拟机(JVM)在运行 Java 程序时会从这个方法开始执行。* 该方法是静态方法(static),意味着它属于类本身,而不是类的某个实例对象,* 这样 JVM 可以直接调用而无需创建类的实例。* 参数 args 是一个字符串数组,用于接收从命令行传递给程序的参数。*/public static void main(String[] args) {// --------------- 整数字面量 ---------------// 整数字面量表示整数数值,在 Java 中有多种表示形式。// 十进制整数,这是最常见的整数表示方式,直接书写数字即可。// 这里定义了一个 int 类型的变量 integerLiteral1,并将十进制整数 100 赋值给它。int integerLiteral1 = 100;// 负的十进制整数,在数字前加上负号表示负数。// 定义 int 类型变量 integerLiteral2,并赋值为 -20。int integerLiteral2 = -20;// 使用 System.out.println 方法输出提示信息,表明下面要输出整数字面量。System.out.println("整数字面量:");// 输出十进制整数 integerLiteral1 的值。System.out.println("十进制: " + integerLiteral1);// 输出负的十进制整数 integerLiteral2 的值。System.out.println("负数: " + integerLiteral2);// 八进制整数,以 0 开头,后面跟由 0 - 7 组成的数字序列。// 这里的 012 是八进制表示,转换为十进制是 1 * 8 + 2 = 10。int octalLiteral = 012;// 输出八进制整数转换为十进制后的结果。System.out.println("八进制: " + octalLiteral);// 十六进制整数,以 0x 或 0X 开头,后面可以跟 0 - 9、a - f 或 A - F 组成的数字序列。// 这里的 0x1F 转换为十进制是 1 * 16 + 15 = 31。int hexLiteral = 0x1F;// 输出十六进制整数转换为十进制后的结果。System.out.println("十六进制: " + hexLiteral);// 二进制整数,以 0b 或 0B 开头,后面跟由 0 和 1 组成的数字序列。// 这里的 0b1010 转换为十进制是 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 0 * 2^0 = 10。int binaryLiteral = 0b1010;// 输出二进制整数转换为十进制后的结果。System.out.println("二进制: " + binaryLiteral);// --------------- 浮点数字面量 ---------------// 浮点数字面量用于表示小数数值,在 Java 中有单精度和双精度之分。// 双精度浮点数字面量,默认情况下,Java 中的小数常量就是 double 类型。// 这里定义了一个 double 类型的变量 doubleLiteral,并赋值为 3.14。double doubleLiteral = 3.14;// 单精度浮点数字面量,需要在数字后面加上 f 或 F 来明确表示这是一个 float 类型的常量。// 定义 float 类型变量 floatLiteral,并赋值为 2.718f。float floatLiteral = 2.718f;// 输出提示信息,表明下面要输出浮点数字面量。System.out.println("\n浮点数字面量:");// 输出双精度浮点数字面量的值。System.out.println("双精度: " + doubleLiteral);// 输出单精度浮点数字面量的值。System.out.println("单精度: " + floatLiteral);// --------------- 字符字面量 ---------------// 字符字面量表示单个字符,用单引号括起来。// 普通英文字符的字符字面量,这里定义了一个 char 类型的变量 charLiteral1,并赋值为字符 'A'。char charLiteral1 = 'A';// 中文字符的字符字面量,同样用单引号括起来,定义 char 类型变量 charLiteral2 并赋值为 '中'。char charLiteral2 = '中';// 转义字符,用于表示一些特殊的字符,如换行符、制表符等。// 这里的 '\n' 表示换行符,定义 char 类型变量 charLiteral3 并赋值为 '\n'。char charLiteral3 = '\n';// 输出提示信息,表明下面要输出字符字面量。System.out.println("\n字符字面量:");// 输出普通英文字符字面量的值。System.out.println("普通字符: " + charLiteral1);// 输出中文字符字面量的值。System.out.println("中文字符: " + charLiteral2);// 先输出提示信息,表明要演示换行转义字符。System.out.print("转义字符(换行): ");// 输出包含换行符的字符串,实现换行效果。System.out.print("这是换行前的内容" + charLiteral3);// 输出换行后的内容。System.out.println("这是换行后的内容");// --------------- 字符串字面量 ---------------// 字符串字面量表示由零个或多个字符组成的序列,用双引号括起来。// 普通的字符串字面量,定义一个 String 类型的变量 stringLiteral1,并赋值为 "Hello, World!"。String stringLiteral1 = "Hello, World!";// 空字符串字面量,即不包含任何字符的字符串,定义 String 类型变量 stringLiteral2 并赋值为空字符串。String stringLiteral2 = "";// 输出提示信息,表明下面要输出字符串字面量。System.out.println("\n字符串字面量:");// 输出普通字符串字面量的值。System.out.println("普通字符串: " + stringLiteral1);// 调用 String 类的 length() 方法获取空字符串的长度,结果为 0,并输出该长度。System.out.println("空字符串长度: " + stringLiteral2.length());// --------------- 布尔字面量 ---------------// 布尔字面量只有两个值:true 和 false,用于表示逻辑上的真和假。// 定义一个 boolean 类型的变量 trueLiteral,并赋值为 true,表示逻辑真。boolean trueLiteral = true;// 定义一个 boolean 类型的变量 falseLiteral,并赋值为 false,表示逻辑假。boolean falseLiteral = false;// 输出提示信息,表明下面要输出布尔字面量。System.out.println("\n布尔字面量:");// 输出布尔字面量 true 的值。System.out.println("真: " + trueLiteral);// 输出布尔字面量 false 的值。System.out.println("假: " + falseLiteral);// --------------- 空字面量 ---------------// 空字面量只有一个值:null,表示对象引用不指向任何对象。// 定义一个 Object 类型的变量 nullLiteral,并赋值为 null。// Object 是 Java 中所有类的基类,可以用来引用任何类型的对象。Object nullLiteral = null;// 输出提示信息,表明下面要输出空字面量。System.out.println("\n空字面量:");// 输出空字面量的值,会显示为 null。System.out.println("空对象引用: " + nullLiteral);}
}

输出结果:

整数字面量:
十进制: 100
负数: -20
八进制: 10
十六进制: 31
二进制: 10浮点数字面量:
双精度: 3.14
单精度: 2.718字符字面量:
普通字符: A
中文字符: 中
转义字符(换行): 这是换行前的内容
这是换行后的内容字符串字面量:
普通字符串: Hello, World!
空字符串长度: 0布尔字面量:
真: true
假: false空字面量:
空对象引用: null

 字面量:字面量是程序中能直接书写的数据,Java 程序中数据的书写格式。

常用数据

生活中的写法

程序中该怎么写说明
整数666,-88666,-88写法一致
小数  13.14,-5.2113.14,-5.21写法一致
字符A,0,我'A' ,'0' ,'我'程序中必须使用单引号,有且仅能一个字符
字符串helloworld"helloworld"程序中必须使用双引号,内容可有可无
布尔值真、假true、false只有两个值:true:代表真,false:代表假
空值-值是:null一个特殊的值,空值(后面会讲解作用,暂时不管)
特殊字符字面量-\t \n 

三、数据类型

java是一种强类型语言。这就意味着必须为每个变量声明一种类型,在java中,一共有8种基本类型(primitive type),其中有4种整型、2种浮点类型,1种用于表示Unicode编码的字符单元的字符类型char,和一种用于表示真值的boolean类型。

整型

整型用于表示没有小数部分的数值,它允许是负数。Java提供了4种整型。
类型存储需求取值范围
int4字节-2147483648 ~ 2147483647(正好超过 20 亿)
short2 字节-32768 ~ 32767
long8 字节-9223372036854775808 ~ 9223372036854775807
byte1 字节-128 ~ 127

在Java中,整型的范围与运行Java代码的机器无关。与此相反,C和C++程序需要针对不同的处理器选择最为高效的整型,这样就有可能造成一个在32位处理器上运行很好的C程序在16位系统上运行却发生整数溢出。由于Java程序必须保证在所有机器上都能够得到相同的运行结果,所以各种数据类型的取值范围必须固定。

 代码示例:

public class DataTypeExample {public static void main(String[] args) {// 定义byte类型变量byte b = 10;// 定义short类型变量short s = 100;// 定义int类型变量int i = 1000;// 定义long类型变量,需要在数字后面加上L或llong l = 10000000000L;System.out.println("byte类型变量b的值是:" + b);System.out.println("short类型变量s的值是:" + s);System.out.println("int类型变量i的值是:" + i);System.out.println("long类型变量l的值是:" + l);}
}


浮点类型

浮点类型用于表示有小数部分的数值。在Java中有两种浮点类型。、
类型存储需求取值范围
float4字节大约 ±3.402 823 47E+38F(有效位数为 6 - 7 位)
double8 字节大约 ±1.797 693 134 862 315 70E+308(有效位数为 15 位)

代码示例:

public class DataTypeExample {public static void main(String[] args) {// 定义float类型变量,需要在数字后面加上F或ffloat f = 3.14f;// 定义double类型变量double d = 3.141592653589793;System.out.println("float类型变量f的值是:" + f);System.out.println("double类型变量d的值是:" + d);}
}
  • double表示这种类型的数值精度是float类型的两倍(有人称之为双精度数值)。
  • 绝大部分应用程序都采用double类型。
  • 实际上,只有很少的情况适合使用float类型。
  • float类型的数值有一个后缀F或f(例如,3.14F)。没有后缀F的浮点数值(如
    3.14)默认为double类型。当然,也可以在浮点数值后面添加后缀D或d(例如,
    3.14D)。

char类型

char 类型:在 Java 中,char 类型用于表示单个字符,它在内存中占用 16 位(2 个字节),采用的是 Unicode 编码。这意味着 char 类型可以直接表示一个 Unicode 字符。

char类型原本用于表示单个字符。不过,现在情况已经有所变化。如今,有些 Unicode字符可以用一个char值描述,另外一些Unicode字符则需要两个char值。

Unicode:Unicode 是一种字符编码标准,它为世界上几乎所有的字符都分配了一个唯一的编号(码点),其目的是为了统一地表示和处理各种语言的文字。码点通常用十六进制表示,例如,字符 'A' 的 Unicode 码点是 U+0041。在 Java 中,可以通过转义序列 \u 后跟四位十六进制数来表示一个 Unicode 字符。例如:

char c = '\u0041';
System.out.println(c);

 上述代码同样将字符 'A' 赋值给 char 变量 c,这里使用了 Unicode 转义序列。

  • UTF-16编码采用不同长度的编码表示所有Unicode码点。
  • 在基本的多语言级别中, 每个字符用16位表示,通常被称为代码单元(code unit);而辅助字符采用一对连续的代码单元进行编码。
  • 这样构成的编码值落入基本的多语言级别中空闲的2048 字节内,通常被称为替代区域(surrogate area)[U+D800~U+DBFF用于第一个代码单元,U+DC00~U+DFFF用于第二个代码单元]。 
小贴士:
  • 在Java中,char类型描述了UTF-16编码中的一个代码单元。
  • 我们强烈建议不要在程序中使用char类型,除非确实需要处理UTF-16代码单元。最好将字符串作为抽象数据类型处理。

boolean类型

boolean(布尔)类型有两个值:false和true,用来判定逻辑条件。整型值和布尔值之间不能进行相互转换。代码示例:
public class DataTypeExample {public static void main(String[] args) {// 定义boolean类型变量boolean b = true;System.out.println("boolean类型变量b的值是:" + b);}
}

 

 

相关文章:

java入门基础笔记语法篇(3)

一、 注释 什么是注释 注释定义:注释是写在程序中对代码进行解释说明的文字,方便自己和他人查看以理解程序。 Java注释的三种写法: 单行注释:以“//”开头,注释内容只能写一行。多行注释:以“/*”开头&…...

【数据结构】深入解析:构建父子节点树形数据结构并返回前端

树形数据结构列表 一、前言二、测试数据生成三、树形代码3.1、获取根节点3.2、遍历根节点,递归获取所有子节点3.3、排序3.4、完整代码 一、前言 返回前端VO对象中,有列情况列表展示需要带树形结构,例如基于RBAC权限模型中的菜单返回&#xf…...

JAVA 使用反射比较对象属性的变化,记录修改日志。使用注解【策略模式】,来进行不同属性枚举值到中英文描述的切换,支持前端国际化。

1.首先定义一个接口,接口中有两个方法,分别是将属性转换成英文描述和中文描述。 其实就是将数据库中记录的 0 1 ,转换成后面的描述 这边定义了中文转换为默认方法,是因为有些属性不需要进行中文转换,或者该属性的枚举…...

第27章 测试驱动开发模式:深入测试技术

写在前面 这本书是我们老板推荐过的,我在《价值心法》的推荐书单里也看到了它。用了一段时间 Cursor 软件后,我突然思考,对于测试开发工程师来说,什么才更有价值呢?如何让 AI 工具更好地辅助自己写代码,或许…...

基于模糊PID的孵化箱温度控制系统(论文+源码)

1系统方案设计 本课题为基于模糊PID的孵化箱温度控制系统,其以STM32最小系统与模糊PID控制器为控制核心。系统主要包括数据采集模块、处理器模块、电机控制模块。 数据采集模块由温度传感器构成,通过温度传感器感应温度变化,获得待处理的数据…...

机器学习-数据集划分

文章目录 一. 为什么要划分数据集二. 数据集划分的方法1. 留出法:2. 交叉验证:将数据集划分为训练集,验证集,测试集3. 留一法:4. 自助法: 一. 为什么要划分数据集 为了能够评估模型的泛化能力,可…...

C++ 可变函数和参数

写一个函数&#xff0c;函数的参数是函数对象及参数&#xff0c;功能和thread类的构造函数相同。 代码示例&#xff1a; #include <iostream>#include <thread>#include <functional> using namespace std;void show0() { // 普通函数。cout <&…...

Hive之加载csv格式数据到hive

场景&#xff1a; 今天接了一个需求&#xff0c;将测试环境的hive数据导入到正式环境中。但是不需要整个流程的迁移&#xff0c;只需要迁移ads表 解决方案&#xff1a; 拿到这个需求首先想到两个方案&#xff1a; 1、将数据通过insert into语句导出&#xff0c;然后运行脚本 …...

C# OpenCV机器视觉:利用CNN实现快速模板匹配

在一个阳光灿烂的周末&#xff0c;阿强正瘫在沙发上&#xff0c;百无聊赖地换着电视频道。突然&#xff0c;一则新闻吸引了他的注意&#xff1a;某博物馆里一幅珍贵的古画离奇失踪&#xff0c;警方怀疑是被一伙狡猾的盗贼偷走了&#xff0c;现场只留下一些模糊不清的监控画面&a…...

【MCAL实战】MCU模块配置实践

目录 前言 正文 1.硬件分析 1.1 MCU系统模式分析 1.2MCU晶振使用分析 2.MCU通用配置 2.1 McuGeneralConfiguration 2.2 McuModuleConfiguration 2.3 McuResetSettingConf 2.4 McuTrapSettingConf 2.4 其他 3.MCU模式配置 3.1 McuModeSettingConf_0 3.2 McuModeSe…...

Vue3笔记——(三)hooks、路由

015 hooks 作用&#xff1a;使得代码更加模块化和可维护 Person.vue <template><div><h2>当前求和{{ sum }}</h2><button click"addFn">点我sum1</button></div> </template> <script setup lang"ts"…...

WinRAR.exe命令行的使用

工具 命令行打包命令 rem 默认压缩根目录&#xff0c;递归处理子文件夹使用 -r WinRAR.exe a -r test.rar C:/web/Views/...

【fly-iot飞凡物联】(20):2025年总体规划,把物联网整套技术方案和实现并落地,完成项目开发和课程录制。

前言 fly-iot飞凡物联专栏&#xff1a; https://blog.csdn.net/freewebsys/category_12219758.html 1&#xff0c;开源项目地址进行项目开发 https://gitee.com/fly-iot/fly-iot-platform 完成项目开发&#xff0c;接口开发。 把相关内容总结成文档&#xff0c;并录制课程。…...

Effective C++ 规则51:编写 new 和 delete 时需固守常规

1、背景 在 C 中&#xff0c;如果你需要为类自定义 new 和 delete&#xff0c;必须遵循一些约定和规则&#xff0c;以确保内存管理的一致性、可维护性和安全性。当我们使用 new 和 delete 操作时&#xff0c;C 编译器会&#xff1a; 调用全局或类特定的 operator new 来分配内…...

【更正版】梯级水光互补系统最大化可消纳电量期望短期优化调度模型

目录 1 主要内容 目标函数&#xff1a; 约束条件&#xff1a; 线性化处理&#xff1a; 流程示意&#xff1a; 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考文献《梯级水光互补系统最大化可消纳电量期望短期优化调度模型》&#xff0c;构建了以最大化整体可…...

移动端VR处理器和传统显卡的不同

骁龙 XR 系列芯片 更多地依赖 AI 技术 来优化渲染过程&#xff0c;而传统的 GPU 渲染 则倾向于在低画质下运行以减少负载。这种设计是为了在有限的硬件资源下&#xff08;如移动端 XR 设备&#xff09;实现高性能和低功耗的平衡。以下是具体的分析&#xff1a; 1. AI 驱动的渲染…...

基于回归分析法的光伏发电系统最大功率计算simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于回归分析法的光伏发电系统最大功率计算simulink建模与仿真。选择回归法进行最大功率点的追踪&#xff0c;使用光强和温度作为影响因素&#xff0c;电压作为输出进行建模。…...

JVM深入学习(一)

目录 一.JVM概述 1.1 为什么要学jvm&#xff1f; 1.2 jvm的作用 1.3 jvm内部构造 二.JVM类加载 2.1类加载过程 2.2类加载器 2.3类加载器的分类 2.4双亲委派机制 三.运行时数据区 堆空间区域划分&#xff08;堆&#xff09; 为什么分区(代)&#xff1f;&#xff08…...

【精选】基于数据挖掘的招聘信息分析与市场需求预测系统 职位分析、求职者趋势分析 职位匹配、人才趋势、市场需求分析数据挖掘技术 职位需求分析、人才市场趋势预测

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…...

视觉语言模型 (VLMs):跨模态智能的探索

文章目录 一. VLMs 的重要性与挑战&#xff1a;连接视觉与语言的桥梁 &#x1f309;二. VLMs 的核心训练范式&#xff1a;四种主流策略 &#x1f5fa;️1. 对比训练 (Contrastive Training)&#xff1a;拉近正例&#xff0c;推远负例 ⚖️2. 掩码方法 (Masking)&#xff1a;重构…...

kafka消费者详细介绍(超级详细)

文章目录 一、Kafka 消费者与消费者组1.1 Kafka 消费者&#xff08;Consumer&#xff09;概述1.1.1 消费者工作流程1.1.2 消费者的关键配置 1.2 Kafka 消费者组&#xff08;Consumer Group&#xff09;概述1.2.1 消费者组的工作原理1.2.2 消费者组的优点1.2.3 消费者组的再均衡…...

CF 339A.Helpful Maths(Java实现)

题目分析 输入一串式子&#xff0c;输出从小到大排列的式子 思路分析 如上所说核心思路&#xff0c;但是我要使用笨方法&#xff0c;输入一串式子用split分割开&#xff0c;但是此时需要用到转义字符&#xff0c;即函数内参数不能直接使用“”&#xff0c;而是“\\”。分割开后…...

web前端3--css

注意&#xff08;本文一切代码一律是在vscode中书写&#xff09; 1、书写位置 1、行内样式 //<标签名 style"样式声明"> <p style"color: red;">666</p> 2、内嵌样式 1、style标签 里面写css代码 css与html之间分离 2、css属性:值…...

Java Web-Request与Response

在 Java Web 开发中&#xff0c;Request 和 Response 是两个非常重要的对象&#xff0c;用于在客户端和服务器之间进行请求和响应的处理&#xff0c;以下是详细介绍&#xff1a; Request&#xff08;请求对象&#xff09; Request继承体系 在 Java Web 开发中&#xff0c;通…...

Spring AOP通知类型全解析:掌握方法执行前后的艺术

Spring的通知&#xff08;Advice&#xff09;类型主要有以下几种&#xff0c;它们都是在方法执行的不同阶段进行拦截和处理的一种机制&#xff1a; 1. 前置通知&#xff08;Before Advice&#xff09;&#xff1a;在目标方法执行之前执行的通知。就像你吃饭前要先洗手一样&…...

(一)HTTP协议 :请求与响应

前言 爬虫需要基础知识&#xff0c;HTTP协议只是个开始&#xff0c;除此之外还有很多&#xff0c;我们慢慢来记录。 今天的HTTP协议&#xff0c;会有助于我们更好的了解网络。 一、什么是HTTP协议 &#xff08;1&#xff09;定义 HTTP&#xff08;超文本传输协议&#xff…...

未初始化数据恢复全攻略

没有初始化概述 在日常使用电脑、硬盘、U盘等存储设备时&#xff0c;我们可能会遇到“没有初始化”的提示。这一情况通常发生在存储设备突然无法被系统正常识别或访问时&#xff0c;系统往往要求我们先进行初始化操作。然而&#xff0c;初始化操作意味着对存储设备进行格式化&…...

学习数据结构(1)算法复杂度

1.数据结构和算法 &#xff08;1&#xff09;数据结构是计算机存储、组织数据的方式&#xff0c;指相互之间存在⼀种或多种特定关系的数据元素的集合 &#xff08;2&#xff09;算法就是定义良好的计算过程&#xff0c;取一个或一组的值为输入&#xff0c;并产生出一个或一组…...

Github 2025-01-25Rust开源项目日报Top10

根据Github Trendings的统计,今日(2025-01-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Python项目1Vue项目1JavaScript项目1Deno: 现代JavaScript和TypeScript运行时 创建周期:2118 天开发语言:Rust, JavaScript协议类型…...

免费GPU算力,不花钱部署DeepSeek-R1

在人工智能和大模型技术飞速发展的今天&#xff0c;越来越多的开发者和研究者希望能够亲自体验和微调大模型&#xff0c;以便更好地理解和应用这些先进的技术。然而&#xff0c;高昂的GPU算力成本往往成为了阻碍大家探索的瓶颈。幸运的是&#xff0c;腾讯云Cloud Studio提供了免…...