Java表达式1.0
Java开发工具
-
在当今的Java开发领域,IntelliJ IDEA已然成为了众多开发者心目中的首选利器,它被广泛认为是目前Java开发效率最快的IDE工具。这款备受瞩目的开发工具是由JetBrains公司精心打造的,而JetBrains公司总部位于风景如画的捷克共和国首都布拉格。
IntelliJ IDEA之所以能够在众多IDE工具中脱颖而出,关键在于它整合了开发过程中诸多实用且强大的功能。它具备智能提示错误的功能,能够在开发者编写代码的过程中实时监测代码的逻辑和语法,一旦发现潜在的错误或问题,就会及时地以醒目的方式提示开发者,帮助开发者在第一时间发现并纠正错误,从而避免了在后续的开发过程中因错误而导致的时间浪费和调试困难,极大地提高了开发的效率和代码的质量。
此外,IntelliJ IDEA还配备了强大的调试工具。这些调试工具为开发者提供了全方位的支持,使得开发者可以轻松地对代码进行调试和优化。无论是设置断点、单步执行,还是查看变量的值、分析代码的执行路径,都能轻松实现。这使得开发者能够更加精准地定位问题的根源,快速地解决各种复杂的开发难题,进一步加快了开发的进度。
在对Java开发框架的支持方面,IntelliJ IDEA也表现得十分出色。它对Ant的支持让开发者能够更加便捷地进行项目构建和管理。Ant作为一种流行的Java构建工具,能够帮助开发者自动化地完成项目的编译、打包、部署等一系列任务。而IntelliJ IDEA与Ant的深度整合,使得开发者可以在IDE内部直接操作Ant任务,无需在不同的工具之间来回切换,大大提高了开发的便捷性和效率。
对于JavaEE的支持更是让IntelliJ IDEA在企业级Java开发中如鱼得水。JavaEE是一个广泛应用于企业级应用开发的框架,它涵盖了众多的技术和组件,如Servlet、JSP、EJB等。IntelliJ IDEA提供了对JavaEE的全方位支持,包括代码生成、框架配置、服务器部署等多个方面。开发者可以轻松地创建和管理JavaEE项目,快速地搭建起企业级应用的开发环境,从而更加高效地进行企业级应用的开发。
CVS整合也是IntelliJ IDEA的一大亮点。CVS(Concurrent Versions System)是一种流行的版本控制系统,它能够帮助开发者更好地管理代码的版本,实现多人协作开发。IntelliJ IDEA与CVS的无缝整合,使得开发者可以在IDE内部直接进行版本控制操作,如提交代码、更新代码、查看版本历史等。这不仅方便了开发者对代码版本的管理,还提高了团队协作的效率,使得多人开发项目能够更加顺利地进行。
IntelliJ IDEA的设计理念是追求简单而又功能强大。它的界面简洁明了,操作直观易懂,即使是初学者也能够快速上手。同时,它又具备了强大的功能,能够满足不同层次开发者的需求。这与一些其他繁冗而复杂的IDE工具形成了鲜明的对比。那些复杂的IDE工具往往因为功能过于冗杂而导致操作繁琐、学习曲线陡峭,使得开发者在使用过程中感到困惑和不便。而IntelliJ IDEA则在功能和易用性之间取得了完美的平衡,既提供了强大的开发支持,又保证了使用的便捷性,让开发者可以更加专注于代码的编写和项目的开发,从而最大程度地加快开发的速度,提升开发的效率和质量。
Intellij IDEA
2. 标识符
2.1 标识符定义(Identifier)
-
在编程语言中,标志符就是程序员自己规定的具有特定含义的词,比如类名称、方法名称、属性名称、变量名等。
2.2 命名规则
-
标识符由字母(包括中文)、数字、下划线
_和美元符号$组成 -
不能以数字开头
-
不能是关键字和保留字,但是可以包含关键字和保留字
-
Java严格区分大小写
-
标识符可以为任意长度,但标识符不能包含空格
-
注意:在起名字时,为了提高阅读性,要尽量有意义,“见名知意”。
-
注意:java采用unicode字符集,因此标识符也可以使用汉字声明,但是不建议使用。
2.3 常用规范
-
包名:全部小写,用
.隔开,每一个点表示一级目录,至少要有一级目录。-
单级包:小写。如:
com -
多级包:小写,用
.隔开。如:com.codingfuture
-
-
类或接口:所有单词首字母大写。(大驼峰法)
-
一个单词:首字母大写。如:
Student、People -
多个单词:每个单词首字母大写。如:
HelloWorld、ServerSocket
-
-
方法或变量:第一个单词首字母小写,从第二个单词开始首字母大写。(小驼峰法)
-
一个单词:首字母小写。如:
name、age -
多个单词:第二个单词首字母大写。如:
stuName、showTime
-
-
常量:全部大写,单词间以下划线
_隔开-
一个单词:全大写。如:
PI、COUNT -
多个单词:全大写,并以
_隔开。如:RESULT_OK、WINDOW_HIERARCHY_TAG
-
*详细规范见《阿里巴巴Java开发手册》第一章
2.4 关键字和保留字
| abstract | assert | boolean | break | byte |
|---|---|---|---|---|
| case | catch | char | class | const |
| continue | default | do | double | else |
| enum | extends | final | finally | float |
| for | goto | if | implements | import |
| instanceof | int | interface | long | native |
| new | package | private | protected | public |
| return | strictfp | short | static | super |
| switch | synchronized | this | throw | throws |
| transient | try | void | volatile | while |
3. 常量与变量
3.1 常量
-
在程序运行过程中,其值不可以发生改变的量,称为常量。
-
常量(字面量)分类:
-
字符串常量:用双引号括起来的内容。
"Hello, World!"、"哈哈哈哈 " -
整数常量:不带小数的数字。
666、-88 -
小数常量:带小数的数字。
13.14、-5.21 -
字符常量:用单引号括起来的内容。
'A'、'o'、'我' -
布尔常量:布尔值,表示真假。
true、false -
空常量:一个特殊的值,空值。
null -
不可修改的变量:用
final关键字修饰的变量,只能赋值一次,不可修改。final int A = 1;
-
3.2 变量
-
在程序运行过程中,其值可以发生改变的量,称为变量。
-
可操作的存储空间
-
Java中定义变量的格式是 数据类型 变量 = 值
-
先声明,后赋值
int a; // 声明 a = 1; // 赋值
-
声明时赋值
int a = 1; // 声明时赋值
-
对变量值进行修改
int a = 1; // 初始化变量 a = 2; // 修改变量值
4. 数据类型
4.1 计算机存储单元
-
我们知道计算机是可以用来存储数据的,但是无论是内存还是硬盘,计算机存储设备的最小信息单元叫“位(bit)”,我们又称之为“比特位“ ,通常用小写的字母"b"表示。
-
而计算机中最小的存储单元叫”字节(byte)“,通常用大写字母"B"表示,字节是由连续的8个位组成。
-
除了字节外还有一些常用的存储单位:
-
1B (字节) = 8bit
-
1KB = 1024B
-
1MB = 1024KB
-
1GB = 1024MB
-
1TB = 1024GB
-
1PB = 1024TB
4.2 数据类型
-
Java语言是强类型语言,对于每一种数据都给出了明确的数据类型,不同的数据类型也分配了不同的内存空间,所以它们表示的数据大小也是不一样的。
-
基本数据类型:(primitive type)
| 名称 | 数据类型 | 数据类型位数 | 默认值 | 最小值 | 最大值 |
|---|---|---|---|---|---|
| 字节型 | byte | 1字节(8位) | 0 | -2^7 | 2^7-1 |
| 短整型 | short | 2字节(16位) | 0 | -2^15 | 2^15-1 |
| 整型(默认) | int | 4字节(32位) | 0 | -2^31 | 2^31-1(约21亿) |
| 长整型 | long | 8字节(64位) | 0L | -2^63 | 2^63-1 |
| 单精度浮点型 | float | 4字节(32位) | 0.0f | -3.403E38 | 3.403E38 |
| 双精度浮点型(默认) | double | 8字节(64位) | 0.0d | -1.798E308 | 1.798E308 |
| 字符型 | char | 2字节(16位) | '\u0000' | 0 | 2^16-1 |
| 布尔型 | boolean | 未知 | false |
-
引用数据类型:(reference type)
类:class (字符串放在这里)
接口:interface
数组:array []
4.3数据类型特殊说明
-
整数类型:byte、short、int、long
java各整数类型有固定的表数范围和字段长度,不受具体OS的影响,以保证java程序的可移植性。
java的整型常量默认为 int 型,声明long型常量须后加‘l’或‘L’
java程序中变量通常声明为int型,除非不足以表示较大的数,才使用long
byte a = 127; short b = 128; int c = 1000; long d = 1000l;
-
浮点类型:float、double
与整数类型类似,Java 浮点类型也有固定的表数范围和字段长度,不受具体操作系统的影响。
浮点型常量有两种表示形式
十进制数形式:如:5.12 512.0f .512 (必须有小数点)
科学计数法形式:如:5.12e2 512E2 100E-2
float:单精度,尾数可以精确到7位有效数字。很多情况下,精度很难满足需求。
double:双精度,精度是float的两倍。通常采用此类型。
Java 的浮点型常量默认为double型,声明float型常量,须后加‘f’或‘F’。
float f = 123f; double d = 123.456d; System.out.println(f); System.out.println(d);
-
字符类型:char
char 型数据用来表示通常意义上“字符”(2字节)
Java中的所有字符都使用Unicode编码,故一个字符可以存储一个字母,一个汉字,或其他的一个字符。
字符型变量的三种表现形式:
字符常量是用单引号(‘ ’)括起来的单个字符。例如:char c1 = 'a'; char c2 = '中'; char c3 = '9';
Java中还允许使用转义字符‘\’来将其后的字符转变为特殊字符型常量。 例如:char c3 = ‘\n’;
直接使用 Unicode 值来表示字符型常量:‘\uXXXX’。其中XXXX代表 一个十六进制整数。如:\u0043 表示 c
char类型是可以进行运算的。因为它都对应有Unicode码。
char c1 = '张'; char c2 = '0'; char c3 = '\n'; char c4 = '\u0043'; System.out.println(c4);
-
布尔类型:boolean
boolean 类型用来判断逻辑条件,一般用于程序流程控制:
boolean类型数据只允许取值true和false,无null。
不可以使用0或非 0 的整数替代false和true,这点和C语言不同。
java虚拟机中没有任何供boolean值专用的字节码指令,Java语言表达所操作的 boolean值,在编译之后都使用java虚拟机中的int数据类型来代替:true用1表示,false 用0表示。
boolean yes = true; boolean no = false;
相关文章:
Java表达式1.0
Java开发工具 在当今的Java开发领域,IntelliJ IDEA已然成为了众多开发者心目中的首选利器,它被广泛认为是目前Java开发效率最快的IDE工具。这款备受瞩目的开发工具是由JetBrains公司精心打造的,而JetBrains公司总部位于风景如画的捷克共和国首…...
idea中导入从GitHub上克隆下来的springboot项目解决找不到主类的问题
第一步:删除目录下的.idea和target,然后用idea打开 第二步:如果有需要,idea更换jdk版本 原文链接:https://blog.csdn.net/m0_74036731/article/details/146779040 解决方法(idea中解决)&#…...
Android音视频开发
Android Framework 与音视频技术深度解析 一、Android音视频架构全景 ▶ 四层架构协同┌──────────────┐│ 应用层 │ ▶ MediaPlayer/ExoPlayer/Camera2 API调用└──────┬───────┘┌──────▼───────┐│ 框架层 │…...
【AI论文】CLIMB:基于聚类的迭代数据混合自举语言模型预训练
摘要:预训练数据集通常是从网络内容中收集的,缺乏固有的领域划分。 例如,像 Common Crawl 这样广泛使用的数据集并不包含明确的领域标签,而手动整理标记数据集(如 The Pile)则是一项劳动密集型工作。 因此&…...
Linux操作系统--环境变量
目录 基本概念: 常见环境变量: 查看环境变量的方法: 测试PATH 测试HOME 和环境变量相关的命令 环境变量的组织方式:编辑 通过代码如何获取环境变量 通过系统调用获取或设置环境变量 环境变量通常具有全局属性 基本概念…...
Jenkins 多分支管道
如果您正在寻找一个基于拉取请求或分支的自动化 Jenkins 持续集成和交付 (CI/CD) 流水线,本指南将帮助您全面了解如何使用 Jenkins 多分支流水线实现它。 Jenkins 的多分支流水线是设计 CI/CD 工作流的最佳方式之一,因为它完全基于 git(源代…...
精益数据分析(9/126):如何筛选创业路上的关键数据指标
精益数据分析(9/126):如何筛选创业路上的关键数据指标 大家好!在创业的漫漫长路中,数据就像一盏明灯,指引着我们前行的方向。但要让这盏灯发挥作用,关键在于找到那些真正有价值的数据指标。今天…...
C语言之图像文件的属性
🌟 嗨,我是LucianaiB! 🌍 总有人间一两风,填我十万八千梦。 🚀 路漫漫其修远兮,吾将上下而求索。 图像文件属性提取系统设计与实现 目录 设计题目设计内容系统分析总体设计详细设计程序实现…...
LeetCode hot 100—分割等和子集
题目 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 示例 1: 输入:nums [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和 [11] 。…...
高等数学同步测试卷 同济7版 试卷部分 上 做题记录 上册期中同步测试卷 B卷
上册期中同步测试卷 B卷 一、单项选择题(本大题共5小题,每小题3分,总计15分) 1. 2. 3. 4. 5. 由f(2/n), n→∞可知 2/n→0, 即x→0. 二、填空题(本大题共5小题,每小题3分,总计15分) 6. 7. 8. 9. 10. 三、求解下列各题(本大题共5小…...
【算法】快速排序、归并排序(非递归版)
目录 一、快速排序(非递归) 1.原理 2.实现 2.1 stack 2.2 partition(array,left,right) 2.3 pivot - 1 > left 二、归并排序(非递归) 1.原理 2.实现 2.1 gap 2.1.1 i 2*gap 2.1.2 gap * 2 2.1.3 gap < array.…...
python-将文本生成音频
将文本生成音频通常需要结合 文本转语音(TTS,Text-to-Speech) 工具或库来实现,比如 Google TTS (gtts)、Amazon Polly、Microsoft Azure TTS 等。 一、使用 Google TTS (gtts) 将文本生成音频 gtts 是一个简单易用的 Python 库&a…...
[王阳明代数讲义]语言模型核心代码调研
语言模型核心代码调研 基于Consciciteation的才气张量持续思考综述将文本生成建模为才气张量网络扩散过程,实现非自回归推理通过才气张量的群-拓扑流形交叉注意力实现多模态推理,将输入压缩到低维空间持续迭代提出「条件计算提前终止」机制,…...
4月19日记(补)算了和周日一块写了 4月20日日记
周六啊 昨天晚上又玩的太嗨了。睡觉的时候有点晚了,眼睛疼就没写日记。现在补上 实际上现在是20号晚上八点半了。理论上来说应该写今天的日记。 周六上午打比赛啦,和研究生,输了,我是替补没上场。没关系再练一练明天就可以变强…...
trivy开源安全漏洞扫描器——筑梦之路
开源地址:https://github.com/aquasecurity/trivy.git 可扫描的对象 容器镜像文件系统Git存储库(远程)虚拟机镜像Kubernetes 在容器镜像安全方面使用广泛,其他使用相对较少。 能够发现的问题 正在使用的操作系统包和软件依赖项…...
【实战中提升自己】内网安全部署之dot1x部署 本地与集成AD域的主流方式(附带MAC认证)
1 dot1x部署【用户名密码认证,也可以解决私接无线AP等功能】 说明:如果一个网络需要通过用户名认证才能访问内网,而认证失败只能访问外网与服务器,可以部署dot1x功能。它能实现的效果是,当内部用户输入正常的…...
[matlab]南海地形眩晕图代码
[matlab]南海地形眩晕图代码 请ChatGPT帮写个南海地形眩晕图代码 图片 图片 代码 .rtcContent { padding: 30px; } .lineNode {font-size: 12pt; font-family: "Times New Roman", Menlo, Monaco, Consolas, "Courier New", monospace; font-style: n…...
Web安全和渗透测试--day6--sql注入--part 1
场景: win11家庭版,edge浏览器 , sqlin靶场 定义: SQL 注入(SQL Injection)是一种常见的网络安全攻击方式,攻击者通过在 Web 应用程序中输入恶意的 SQL 代码,绕过应用程序的安全机…...
大模型在胆管结石(无胆管炎或胆囊炎)预测及治疗方案制定中的应用研究
目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 国内外研究现状 二、胆管结石相关理论基础 2.1 胆管结石概述 2.2 临床表现与诊断方法 2.3 传统治疗方法 三、大模型技术原理与应用优势 3.1 大模型基本原理 3.2 在医疗领域的应用潜力 3.3 用于胆管结石预测的可…...
MIT6.S081-lab4
MIT6.S081-lab4 注:本篇lab的前置知识在《MIT6.S081-lab3前置》 1. RISC-V assembly 第一个问题 Which registers contain arguments to functions? For example, which register holds 13 in main’s call to printf? 我们先来看看main干了什么: …...
精通 Spring Cache + Redis:避坑指南与最佳实践
Spring Cache 以其优雅的注解方式,极大地简化了 Java 应用中缓存逻辑的实现。结合高性能的内存数据库 Redis,我们可以轻松构建出响应迅速、扩展性强的应用程序。然而,在享受便捷的同时,一些常见的“坑”和被忽视的最佳实践可能会悄…...
[SpringBoot]快速入门搭建springboot
默认有spring基础,不会一行代码一行代码那么细致地讲。 SpringBoot的作用 Spring Boot是为了简化Spring应用的创建、运行、调试、部署等而出现的。就像我们整个SSM框架时,就常常会碰到版本导致包名对不上、Bean非法参数类型的一系列问题(原出…...
理解.NET Core中的配置Configuration
什么是配置 .NET中的配置,本质上就是key-value键值对,并且key和value都是字符串类型。 在.NET中提供了多种配置提供程序来对不同的配置进行读取、写入、重载等操作,这里我们以为.NET 的源码项目为例,来看下.NET中的配置主要是有…...
C++面试八股文:智能指针
一、了解哪些智能指针? 回答:智能指针是用于管理动态分配的内存,行为类似于指针,但又具有自动管理内存的能力,所以称为智能指针。 首先说一下 auto_ptr和unique_ptr,它们都是独占式指针,同一时…...
nohup命令使用说明
文章目录 如何在后台运行程序呢?如何正常运行代码重定向呢?nohup: ignoring input 如何在后台运行程序呢? 使用nohup命令即可, nohup python dataset/ReferESpatialDataset.py >>dataset_20250417.log 2>&1 &n…...
MYSQL “Too Many Connections“ 错误解决
1.查询当前连接数 show status like "Threads_connected"; 2.查询数据库最大连接数 show variables like "max_connections" 3.查询所有活动连接 show processlist; 4.根据查询结果观察是否有长时间未被释放的连接 参数解释 : 字段说明id连接的唯一…...
Linux `init 6` 相关命令的完整使用指南
Linux init 6 相关命令的完整使用指南—目录 一、init 系统简介二、init 6 的含义与作用三、不同 Init 系统下的 init 6 行为1. SysVinit(如 CentOS 6、Debian 7)2. systemd(如 CentOS 7、Ubuntu 16.04)3. Upstart(如 …...
【外研在线-注册/登录安全分析报告】
前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞…...
【NLP 63、大模型应用 —— Agent】
人与人最大的差距就是勇气和执行力,也是唯一的差距 —— 25.4.16 一、Agent 相关工作 二、Agent 特点 核心特征: 1.专有场景(针对某个垂直领域) 2.保留记忆(以一个特定顺序做一些特定任务,记忆当前任务的前…...
React 打包
路由懒加载 原本的加载方式 #使用lazy()函数声明的路由页面 使用Suspense组件进行加载 使用CDN优化...
