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

49天精通Java(Day 2):Java的基本语法

上期内容回顾

在上一期的内容中,我们介绍了Java的基本概念、历史背景,并完成了JDK 1.8的安装与环境配置。你还编写并运行了第一个简单的Java程序“Hello, World!”。今天,我们将深入探讨Java的基本语法,包括变量、数据类型、运算符与表达式,以及注释与代码风格规范。

1. 变量与数据类型

在Java中,变量是用于存储数据的容器,每个变量都有一个特定的数据类型。数据类型决定了变量可以存储的数据种类以及操作这些数据的方式。

1.1 变量声明与初始化

在Java中,声明变量的语法如下:

type variableName;

例如,声明一个整数类型的变量:

int age;

你也可以在声明的同时对变量进行初始化:

int age = 25;

Java的变量类型主要分为两类:基本数据类型引用数据类型

1.2 基本数据类型

Java中有八种基本数据类型,分为四类:

  • 整数类型:

    • byte: 8位,有符号整数,范围为-128到127。
    • short: 16位,有符号整数,范围为-32,768到32,767。
    • int: 32位,有符号整数,范围为-231到231-1。
    • long: 64位,有符号整数,范围为-263到263-1。
    byte a = 100;
    short b = 10000;
    int c = 100000;
    long d = 100000L; // 后缀L表示long类型
    
  • 浮点类型:

    • float: 32位,单精度浮点数。
    • double: 64位,双精度浮点数。
    float pi = 3.14f; // 后缀f表示float类型
    double e = 2.71828;
    
  • 字符类型:

    • char: 16位Unicode字符,用单引号括起来,如'A'
    char letter = 'A';
    
  • 布尔类型:

    • boolean: 只能取值truefalse
    boolean flag = true;
    
1.3 引用数据类型

除了基本数据类型,Java还支持引用数据类型,如对象和数组。引用类型保存的是对象的引用,而不是对象本身。

String name = "John";
int[] numbers = {1, 2, 3, 4, 5};

2. 运算符与表达式

运算符是用于执行各种操作的符号,表达式则是由变量、常量和运算符组成的组合,用于计算并返回一个结果。

2.1 算术运算符

用于执行基本的数学运算:

  • + (加法)
  • - (减法)
  • * (乘法)
  • / (除法)
  • % (取模)
int x = 10;
int y = 3;
int sum = x + y; // 13
int diff = x - y; // 7
int product = x * y; // 30
int quotient = x / y; // 3
int remainder = x % y; // 1
2.2 赋值运算符

用于将值赋给变量:

  • = (赋值)
  • += (加后赋值)
  • -= (减后赋值)
  • *= (乘后赋值)
  • /= (除后赋值)
  • %= (取模后赋值)
int a = 5;
a += 3; // 相当于 a = a + 3; 结果为8
a *= 2; // 相当于 a = a * 2; 结果为16
2.3 关系运算符

用于比较两个值的大小:

  • == (等于)
  • != (不等于)
  • > (大于)
  • < (小于)
  • >= (大于或等于)
  • <= (小于或等于)
int a = 10;
int b = 20;
boolean result = a > b; // false
2.4 逻辑运算符

用于处理布尔逻辑:

  • && (逻辑与)
  • || (逻辑或)
  • ! (逻辑非)
boolean x = true;
boolean y = false;
boolean result = x && y; // false
result = x || y; // true
result = !x; // false
2.5 增量与减量运算符

用于对变量进行自增或自减操作:

  • ++ (自增)
  • -- (自减)
int num = 5;
num++; // 相当于 num = num + 1; 结果为6
num--; // 相当于 num = num - 1; 结果为4
2.6 表达式与优先级

表达式是由变量、常量、运算符和方法调用等组成的一段代码,它在程序运行时被计算为一个值。例如:

int result = 3 * (5 + 2);

在这个表达式中,首先计算5 + 2,然后乘以3,最后将结果赋值给result

运算符有优先级,优先级高的运算符先执行。如果不确定优先级,使用括号来明确表达式的计算顺序。

3. 注释与代码风格规范

注释是程序员在代码中加入的说明性文字,编译器会忽略这些内容。良好的注释和代码风格有助于提高代码的可读性和可维护性。

3.1 单行注释与多行注释

Java支持三种注释:

  • 单行注释:使用//,注释内容从//开始到行末。

    // 这是一个单行注释
    int a = 10; // 声明一个整数变量
    
  • 多行注释:使用/* ... */,适用于跨多行的注释。

    /** 这是一个多行注释* 可以写多行文字*/
    int b = 20;
    
  • 文档注释:使用/** ... */,用于生成JavaDoc文档。

    /*** 这是一个文档注释* 通常用于生成API文档*/
    public class MyClass {// 类的定义
    }
    
3.2 代码风格规范

良好的代码风格使代码更易读、更易维护。以下是一些常见的Java代码风格规范:

  • 缩进:使用4个空格或1个Tab进行缩进。所有代码块(如类、方法、循环等)都应缩进。
  • 命名规范
    • 类名应使用大驼峰命名法(如MyClass)。
    • 方法名和变量名应使用小驼峰命名法(如myMethodmyVariable)。
    • 常量名应使用全大写字母和下划线(如MAX_SIZE)。
  • 代码布局:每个方法之间空一行,每个逻辑块之间空一行。
  • 注释:在关键代码段前添加注释,解释代码的功能和逻辑。
public class HelloWorld {/*** 这是程序的入口方法* @param args 命令行参数*/public static void main(String[] args) {// 打印Hello, World!System.out.println("Hello, World!");}
}

4. 小结

今天我们学习了Java的基本语法,包括变量、数据类型、运算符与表达式,以及注释和代码风格规范。这些基础知识是编写健壮、可读代码的关键。

下期内容预告

在下一期中,我们将探讨Java中的控制流语句,包括条件语句和循环结构。通过这些内容,你将能够编写出逻辑更加复杂的程序。敬请期待!

相关文章:

49天精通Java(Day 2):Java的基本语法

上期内容回顾 在上一期的内容中&#xff0c;我们介绍了Java的基本概念、历史背景&#xff0c;并完成了JDK 1.8的安装与环境配置。你还编写并运行了第一个简单的Java程序“Hello, World!”。今天&#xff0c;我们将深入探讨Java的基本语法&#xff0c;包括变量、数据类型、运算…...

uni-app之旅-day01-home页

首页 3.0 创建 home 分支 &#x1f355;&#x1f355;&#x1f355;运行如下的命令&#xff0c;基于 master 分支在本地创建 home 子分支&#xff0c;用来开发和 home 首页相关的功能git branch(查看分支)git checkout -b home(创建home分支) 3.1 配置网络请求 &#x1f32…...

Vue3轻松实现导出Excel文件功能

文章目录 1.前言2.安装插件3.案例3.1 定义表格数据,设置 id 选择器3.2 据所选 dom 对象生成 sheetbook3.3 写入文件3.4 生成 xlsx文件4.完整代码1.前言 前端常用的导出 Excel的 js 库是 xlsx,但是 xlsx不能设置样式。要想设置样式,必要要结合 xlsx-style 插件一起使用,但是…...

在Kali Linux中使用VNC和iptables配置xrdp以实现远程连接

在Kali Linux中&#xff0c;使用VNC和iptables配置xrdp以实现远程连接涉及几个步骤。不过&#xff0c;值得注意的是&#xff0c;VNC和xrdp是两种不同的远程桌面协议&#xff0c;它们通常不会在同一配置中同时使用&#xff08;除非有特殊的网络架构需求&#xff09;。然而&#…...

小徐影院:Spring Boot技术下的影院革新

第四章 系统设计 4.1 系统的功能结构图 通过系统需求分析&#xff0c;本小徐影城管理系统的功能结构设计如图4-1所示&#xff1a; 图4-1 系统功能图 4.2 系统数据库设计 4.2.1 数据库E-R图 在该系统的信息中&#xff0c;由于数据库的支持&#xff0c;我们可以对数据库进行收集…...

命名空间

在 C 中&#xff0c;变量、函数和类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突&#xff0c;使用命名空间的目的是对标识符的名称进行本地化&#xff0c;以避免命名冲突或名字污染&#xff0c;namespace 关键字的…...

使用 Elastic 将 AI 摘要添加到你的网站

作者&#xff1a;来自 Elastic Gustavo Llermaly 我们目前所知道的搜索&#xff08;搜索栏、结果、过滤器、页面等&#xff09;已经取得了长足的进步&#xff0c;并实现了多种不同的功能。当我们知道找到所需内容所需的关键字或知道哪些文档包含我们想要的信息时&#xff0c;尤…...

dOOv:Java 数据验证与映射库(简化业务逻辑)

dOOv 是一个为 Java 开发人员设计的轻量化库&#xff0c;专注于数据验证和对象间的映射。与传统的验证框架不同&#xff0c;dOOv 通过提供简洁、声明式的 API&#xff0c;使得开发者可以轻松地编写、扩展和维护验证和映射规则。其设计灵感源自领域驱动设计&#xff08;DDD&…...

Arthas sc(查看JVM已加载的类信息 )

文章目录 二、命令列表2.2 class/classloader相关命令2.2.5 sc&#xff08;查看JVM已加载的类信息 &#xff09;举例1&#xff1a;模糊搜索&#xff0c;xx包下所有的类举例2&#xff1a;打印类的详细信息举例3&#xff1a;打印出类的Field信息 本人其他相关文章链接 二、命令列…...

OCR 行驶证识别 离线识别

目录 正页识别 副页识别 全部识别 OCR 行驶证识别 离线识别 正页识别 副页识别 全部识别...

PHP泛目录生成源码,可生成长尾关键词页面,带使用方法视频教程

介绍&#xff1a; 真正的好东西&#xff0c;搞网站优化seo从业必备。可以快速提升网站权重&#xff0c;带来的流量哗哗的 PHP泛目录生成源码 可生成新闻页面和关键词页面 带使用方法视频教程 泛目录可以用来提升网站收录和排名 合理运用目录可以达到快速出词和出权重的效果…...

LeetCode题练习与总结:丑数--263

一、题目描述 丑数 就是只包含质因数 2、3 和 5 的正整数。 给你一个整数 n &#xff0c;请你判断 n 是否为 丑数 。如果是&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 示例 1&#xff1a; 输入&#xff1a;n 6 输出&#xff1a;true 解释&#xff1…...

初识C语言(五)

前言 本文章就代表C语言介绍以及了解正式完成&#xff0c;后续进行具体分析和详细解析学习。知识根深蒂固才可以应付后来的学习&#xff0c;地基要打好&#xff0c;后续才会轻松。 十四、结构体 结构体是C语言中最最重要的知识点&#xff0c;使得C语言有能力描述复杂的类型。 …...

Linux:深入理解冯诺依曼结构与操作系统

目录 1. 冯诺依曼体系结构 1.1 结构分析 1.2 存储结构分布图 2. 操作系统 2.1 概念 2.2 如何管理 2.3 什么是系统调用和库函数 1. 冯诺依曼体系结构 1.1 结构分析 不管是何种计算机&#xff0c;如个人笔记本电脑&#xff0c;服务器&#xff0c;都是遵循冯诺依曼结构。…...

面试中顺序表常考的十大题目解析

在数据结构与算法的面试中&#xff0c;顺序表是一个常见的考点。它作为一种基础的数据结构&#xff0c;涵盖了多种操作和概念&#xff0c;以下将详细介绍面试中关于顺序表常考的十大题目。 &#x1f49d;&#x1f49d;&#x1f49d;如果你对顺序表的概念与理解还存在疑惑&#…...

测试管理新增视图与高级搜索功能,测试计划支持一键生成缺陷详情,MeterSphere开源持续测试工具v3.3版本发布

2024年9月29日&#xff0c;MeterSphere开源持续测试工具正式发布v3.3版本。 在这一版本中&#xff0c;接口测试方面&#xff0c;接口导入功能支持导入Postman、JMX、HAR和MeterSphere格式的文件&#xff0c;接口场景的自定义请求步骤支持cURL快捷导入&#xff1b;测试管理方面…...

TypeScript 算法手册 【归并排序】

文章目录 1. 归并排序简介1.1 归并排序定义1.2 归并排序特点 2. 归并排序步骤过程拆解2.1 分割数组2.2 递归排序2.3 合并有序数组 3. 归并排序的优化3.1 原地归并排序3.2 混合插入排序案例代码和动态图 4. 归并排序的优点5. 归并排序的缺点总结 【 已更新完 TypeScript 设计模式…...

生信名词|MOA|基因敲低与基因敲除|DMSO|MODZ|生信基础

生信名词|MOA|基因敲低与基因敲除|DMSO|MODZ|生信基础 MOA&#xff08;Mechanisms Of Action&#xff0c;作用机理&#xff09; 过去&#xff0c;在药物投入到临床使用之前&#xff0c;它的生物学机理往往未被研究透彻。如今&#xff0c;随着技术的发展&#xff0c;一种新药物…...

基础岛第3关:浦语提示词工程实践

模型部署 使用下面脚本测试模型 from huggingface_hub import login, snapshot_download import osos.environ[HF_ENDPOINT] https://hf-mirror.comlogin(token“your_access_token")models ["internlm/internlm2-chat-1_8b"]for model in models:try:snapsh…...

vscode中配置python虚拟环境

python虚拟环境作用 Python虚拟环境允许你为每个独立的项目创建一个隔离的环境&#xff0c;这样每个项目都可以拥有自己的一套Python安装包和依赖&#xff0c;不会互相影响。实际使用中&#xff0c;可以在vscode或pycharm中使用虚拟环境。 1.创建虚拟环境的方法&#xff1a; …...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

12.找到字符串中所有字母异位词

&#x1f9e0; 题目解析 题目描述&#xff1a; 给定两个字符串 s 和 p&#xff0c;找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义&#xff1a; 若两个字符串包含的字符种类和出现次数完全相同&#xff0c;顺序无所谓&#xff0c;则互为…...

【HTTP三个基础问题】

面试官您好&#xff01;HTTP是超文本传输协议&#xff0c;是互联网上客户端和服务器之间传输超文本数据&#xff08;比如文字、图片、音频、视频等&#xff09;的核心协议&#xff0c;当前互联网应用最广泛的版本是HTTP1.1&#xff0c;它基于经典的C/S模型&#xff0c;也就是客…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...