当前位置: 首页 > 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; …...

chatGPT对我学术写作的三种帮助

chatGPT对我学术写作的三种帮助 概述提高学术写作水平大模型选择概述上下文以提供精确的指令 提升同行评审优化编辑反馈 概述 从生成式人工智能中获得的价值并非来自于技术本身盲目地输出文本&#xff0c;而是来自于与工具的互动&#xff0c;并利用自身的专业知识来完善它所生…...

【PostgreSQL 】入门篇——支持的各种数据类型介绍,包括整数、浮点数、字符串、日期、JSON、数组等

1. 整数类型 1.1 SMALLINT 描述&#xff1a;用于存储小范围的整数值。大小&#xff1a;2 字节范围&#xff1a;-32,768 到 32,767使用场景&#xff1a;适合存储小型计数器、状态码等。示例&#xff1a; CREATE TABLE status_codes (id SMALLINT PRIMARY KEY,description TEX…...

野火STM32F103VET6指南者开发板入门笔记:【1】点亮RGB

硬件介绍 提示&#xff1a;本文是基于野火STM32F103指南者开发板所写例程&#xff0c;其他开发板请自行移植到自己的工程项目当中即可。 RGB-LEDPin引脚&#xff1a;低电平-点亮&#xff0c;高电平-熄灭REDPB5GREENPB0BLUEPB1 文章目录 硬件介绍软件介绍&#xff1a;结构体方式…...

数据工程师岗位常见面试问题-3(附回答)

数据工程师已成为科技行业最重要的角色之一&#xff0c;是组织构建数据基础设施的骨干。随着企业越来越依赖数据驱动的决策&#xff0c;对成熟数据工程师的需求会不断上升。如果您正在准备数据工程师面试&#xff0c;那么应该掌握常见的数据工程师面试问题&#xff1a;包括工作…...

强大的JVM监控工具

介绍 在生产环境中&#xff0c;经常会遇到各种各样奇葩的性能问题&#xff0c;所以掌握最基本的JVM命令行监控工具还是很有必要的 名称主要作用jps查看正在运行的Java进程jstack打印线程快照jmap导出堆内存映像文件jstat查看jvm统计信息jinfo实时查看和修改jvm配置参数jhat用…...

python 实现点的多项式算法

点的多项式算法介绍 点的多项式算法通常指的是通过一组点&#xff08;即数据点&#xff0c;通常包括自变量和因变量的值&#xff09;来拟合一个多项式函数的方法。这种方法在数值分析、统计学、机器学习等领域中非常常见。下面是一些常见的多项式拟合算法&#xff1a; 1. 最小…...

Pikachu-暴力破解-验证码绕过(on client)

访问页面&#xff0c; 从burpsuite 上看到返回的源代码&#xff1b; 验证码生成时通过 createCode 方法生成&#xff0c;在前端页面生成&#xff1b; 同时也是在前端做的校验&#xff1b; 直接验证&#xff1b;F12 -- 网络&#xff0c;随便输入个账号、密码、验证码&#xff0…...

【Spring】Bean 的生命周期:从实例化到销毁

实例化阶段&#xff1a; Bean的实例化是通过反射创建的。Spring根据Component、Bean或者XML中的<bean>元素配置&#xff0c;来确定要创建的Bean。 属性赋值阶段&#xff1a; 实例化完成后&#xff0c;Spring会进行依赖注入。包括将属性值注入到Bean的字段中&#xff0c;…...

Ubuntu 安装RUST

官方给的是这样如下脚本 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh 太慢了 curl --proto https --tlsv1.2 -sSf https://sh.rustup.rs | sh -x 执行这个脚本后会给出对应的下载链接 如下图 我直接给出来 大多数应该都是这个 https://static.rust-…...

Android Compose的基本使用

前言: Compose这个东西呢,好处我没发现,坏处就是学习成本和低版本兼容. 不过,看在官方力推的份儿上,有空就学一下吧. 当初的kotlin,很多人说鸡肋(包括我)!现在不也咔咔用纯kotlin做项目吗?哈哈哈哈. 未来的事情,谁说得清呢? 首先创建一个专用的Compose项目 对没错!看到E…...

同一源代码再建设一个网站/网站域名查询网

转&#xff1a;http://www.it165.net/design/html/201204/1131.html 我们开发中&#xff0c;通常需要写各种各样的部件来实现我们的展示或者功能&#xff0c;下面就介绍下刚刚接触的QuickPart用户控件的方式&#xff0c;算是自己的学习笔记&#xff0c;也和大家交流下心得。 …...

wordpress addfilter/优化网站怎么真实点击

1.不带标记的 如&#xff1a; x[1,5,3,7,4] plot(x) 2. 带标记 plot(x,-*) -s 表示方格 -p 表示五角星 -d 表示菱形 -h 表示六角形 - 表示用加号 -o 表示用圈 -* 表示星号 ..................... 3.有比较的折线&#xff0c;同时要有标记 x[1,2,3,4,5] y[1,2,3,4,5]z[6,5,4,…...

湛江知名网站建设电话/网站排名推广

JS引擎的一些事 JS引擎 一个读取代码并运行的引擎&#xff0c;没有单一的"JS引擎";每个浏览器都有自己的引擎&#xff0c;流行的引擎项目&#xff1a; V8开源&#xff0c;由 Google 开发&#xff0c;用 C 编写Rhino由 Mozilla 基金会管理&#xff0c;开源&#xff0…...

比较好的做外贸网站/seo属于什么

备考到毕业&#xff0c;除了高昂学费&#xff0c;读MBA到底还有多少是你没有预料到的隐形费用&#xff1f;1你备考MBA花了多少钱&#xff1f;备考期间&#xff0c;你一共花了多少钱&#xff1f;这些开销都来自哪里&#xff1f;据调查&#xff0c;这些开销花费在住宿、生活费及报…...

新网站内部优化怎么做/快速排名优化怎么样

Cendertron&#xff0c;动态爬虫的滑动验证码绕过策略在 Cendertron 安全动态爬虫系列中我们依次介绍了安全爬虫的设计、爬虫的集群搭建&#xff0c;本篇则是讨论有关于滑动验证码的绕过策略。爬虫中滑动验证的绕过验证是常见的反爬虫策略之一&#xff0c;在现在的很多站点中我…...

网站制作流程/黄页网站推广效果

关于登录linux时&#xff0c;/etc/profile、~/.bash_profile等几个文件的执行过程。 在登录Linux时要执行文件的过程如下&#xff1a; 在刚登录Linux时&#xff0c;首先启动 /etc/profile 文件&#xff0c;然后再启动用户目录下的 ~/.bash_profile、 ~/.bash_login或 ~/.profil…...