网站建设xiduyun/郑州seo地址

网站建设xiduyun,郑州seo地址,建筑网站源码,外贸网站建设公司方案今天,让我们深入到 Java 项目构建、基础语法及核心编程概念的领域,一探究竟。 软件安装及环境配置请查看之前更新的博客有着详细的介绍: IDEA软件安装&环境配置&中文插件-CSDN博客 目录 1.Java 项目构建基础 1.项目中的 SRC 目录…

今天,让我们深入到 Java 项目构建、基础语法及核心编程概念的领域,一探究竟。

软件安装及环境配置请查看之前更新的博客有着详细的介绍:

IDEA软件安装&环境配置&中文插件-CSDN博客

目录

1.Java 项目构建基础

1.项目中的 SRC 目录

2.包结构的奥秘

2.第一个 Java 项目

3.Java 注释

4.变量:程序中的动态元素

变量的基本概念

变量使用注意事项

5.数组:数据的有序集合

1.数组的定义与特点

2.数组的遍历与应用

6.循环:程序的 “重复执行者”

1.for 循环的使用

2.用循环遍历数组

7.数据筛选与处理

1.筛选数据

2.数据统计

3.数据最值

4.逻辑运算

8.未来企业工作小技巧


1.Java 项目构建基础

1.项目中的 SRC 目录

在 Java 项目里,SRC(Source 的缩写)目录可谓是重中之重,它是我们放置源代码的地方。就如同图书馆里分类摆放书籍的书架,SRC 将我们的代码有序地组织起来。

2.包结构的奥秘

包结构在 Java 中为代码提供了一种命名空间和组织结构,像是给每个代码模块贴上独特的标签,方便管理和识别。

  • 第一层包结构:这一层揭示了项目的性质。
    • com代表商业类型的项目,是 “company” 的缩写。商业项目往往注重功能实现与商业价值,像电商平台的后端代码可能就以com开头。
    • org用于开源组织的项目,源自 “organization”。开源项目强调社区协作与代码共享,比如 Apache 基金会下众多的开源项目,为全球开发者提供了丰富的工具和框架。
    • edu对应教育类型的项目,即 “education”。教育项目常作为教学案例或学生实践的成果,帮助大家更好地理解和掌握 Java 编程。
    • gov则是政府类型的项目,全称为 “government”。政府项目通常对安全性、稳定性有极高要求,用于政务处理、公共服务等领域。

  • 第二层包结构:这里代表公司或团队名称。例如com.alibaba,一看便知是阿里巴巴公司相关的项目。在 Java 全栈开发中,无论是前端页面与后端服务的交互,还是数据库的操作,清晰的包结构能让不同模块的代码各司其职,提高开发效率。像在一个大型电商项目中,阿里巴巴可能会将用户管理、商品管理等不同功能模块放在以com.alibaba开头的不同子包中。
  • 第三层包结构:代表项目名称。以com.alibaba.druid为例,druid就是阿里巴巴开源的一个数据库连接池项目名称。合理的包结构设计,有助于在团队协作开发中,快速定位和理解代码的功能归属,避免命名冲突,就如同清晰的街道地址能让人迅速找到目的地一样。

2.第一个 Java 项目

当我们开启第一个 Java 项目时,就像踏上一段全新的冒险之旅。

package com.iw.day01;
public class Hellworld{//主函数,为程序员提供一个启动入口public static void main(String[] args){System.out.println("Hello World!");}
}

这段简单的代码,package声明了该类所在的包,就像是给代码安排了一个 “住址”。而public class Hellworld定义了一个公共类,类名是Hellworldmain方法则是 Java 程序的入口,程序从这里开始执行,System.out.println("Hello World!");语句会在控制台输出 “Hello World!”,这是我们向 Java 编程世界发出的第一声问候。

3.Java 注释

注释在代码中扮演着至关重要的角色,它就像是代码中的 “贴心注释员”。

  • 注释的作用:一方面,注释用于解释代码,帮助其他开发者(甚至未来的自己)快速理解代码的意图和功能。另一方面,当我们暂时不想删除某些代码,但又希望它不参与程序运行时,可以将其注释掉,起到废弃代码的作用。
  • 注释的分类
    • 单行注释:使用//,可以在一行代码的末尾或者单独一行对代码进行简短说明。例如//输出:姓名,它能让阅读代码的人一目了然这行代码的目的。在 Java 全栈开发中,前端 JavaScript 代码与后端 Java 代码交互时,单行注释可以清晰标注数据传递的逻辑。快捷键Ctrl + /能快速添加或取消单行注释,极大提高开发效率。
    • 多行注释:用/**/包裹起来,可以对一段代码进行详细解释。比如/* 以下4行代码:做简单的自我介绍 */,适用于注释内容较多的情况。其快捷键为Ctrl + Shift + / 。
    • 文档注释:以/**开头,*/结尾,通常放置在方法上方或类的上方。它的作用是为未来导出代码文档做准备,通过工具可以将这些注释提取出来生成详细的 API 文档,方便团队成员查阅和使用。例如:
public class Introduce {/*** 文档注释:通常放置在 方法上方 & 类的上方* 作用:为未来导出代码文档做准备* @param args*/public static void main(String[] args){//输出:姓名System.out.println("Aphelios");//输出:年龄System.out.println(21);System.out.println("Male");System.out.println("hobbies:music,game,coding");}
}

4.变量:程序中的动态元素

变量的基本概念

变量,简单来说,就是在一定范围内内容可以改变的量。从本质上讲,它是一块可以改变内容的内存空间。在 Java 中,定义变量的语法为数据类型 变量的名称 = 初始值; ,例如int age = 18;,这里int是数据类型,表示整数,age是变量名,18是初始值。=是赋值运算符,它将右边的值赋给左边的变量。在 Java 全栈开发的后端代码中,变量用于存储从数据库查询到的数据、计算过程中的中间结果等;在前端代码中,变量可用于存储用户输入的数据、页面元素的状态等。

public class test01{public static void main(String[] args){//变量语法:  数据类型 变量的名称 = 初始值;//=赋值运算符 作用:将右边的东西 赋值 给左边的变量int age = 18;System.out.println(age);age = 22;System.out.println(age);}
}

变量使用注意事项

  • 初始值的重要性:变量一定要赋初始值,否则在使用时可能会引发编译错误。这就好比我们出门前要确保车子有油,才能顺利行驶。
  • 变量名的唯一性:变量名不能重复,在同一个作用域内,每个变量都要有独一无二的名字,否则程序会混淆,不知道操作的是哪个变量。
  • 作用范围的界定:变量有其作用范围,可分为局部变量和全局变量。局部变量在方法内部定义,作用范围仅限于该方法内;全局变量定义在类中方法外,作用范围是整个类。例如:
public class VariableScope {//全局变量static int globalVar = 10;public static void main(String[] args) {//局部变量int localVar = 20;System.out.println(globalVar);System.out.println(localVar);}
}

5.数组:数据的有序集合

1.数组的定义与特点

数组是一种存储大量相同类型数据的数据结构。它具有以下特点:

  • 数据类型相同:数组中每个元素的数据类型必须一致,比如int[]类型的数组只能存储整数。
  • 存储空间连续:数组在内存中的存储空间是连续的,这使得数据的访问和处理效率较高。
  • 数组长度固定:一旦数组被创建,其长度就固定下来,不能随意改变。
    数组的定义方式有两种:

//方式一:指定数组长度
数据类型[] 变量名称 = new 数据类型[数组的长度]; 
//方式二:直接初始化数据
数据类型[] 变量名称 = {初始数据}; 

例如:

public class Test01 { public static void main(String[] args) { int[] arrs = new int[6]; //数组操作方式:采用下标 arrs[0] = 11; arrs[1] = 23; arrs[2] = 22; arrs[5] = 45; /*打印整个数组,需导入java.util.Arrays包*/System.out.println(Arrays.toString(arrs)); /*打印特定位置的值:*/ System.out.println(arrs[0]); System.out.println(arrs[1]); } 
}
public class Test02 { public static void main(String[] args) { int[] arrs = {11,23,12,22,14};//更推荐 System.out.println(Arrays.toString(arrs)); arrs[2] = 50; System.out.println(Arrays.toString(arrs)); } 
} 

2.数组的遍历与应用

当数组元素个数较多时,我们需要通过循环遍历的方式来访问每一个元素。在 Java 全栈开发中,后端从数据库获取的数据集可能以数组形式存储,通过遍历数组可以对数据进行处理,然后传递给前端展示。

public static void main(String[] args) { int[] arrs = {11,22,23,12,32,44,55}; //获得数组长度 int length = arrs.length; //遍历整个数组 for (int i = 0; i < length; i ++){ System.out.println(arrs[i]); } 
}

6.循环:程序的 “重复执行者”

循环的作用是让程序周而复始地做相同的事情。在 Java 编程中,循环是控制程序流程的重要手段,在 Java 全栈开发中广泛应用于数据处理、页面渲染等环节。

1.for 循环的使用

for循环的语法为for(初始变量; 循环判断条件; 控制变量的改变){ //循环体 }。例如,使用for循环打印输出 0 - 100 的数:

for(int i = 0; i <= 100; i++){System.out.println(i);
}

2.用循环遍历数组

通过for循环可以方便地遍历数组,例如:

public static void main(String[] args) { int[] arrs = {11,22,23,12,32,44,55}; int length = arrs.length; for (int i = 0; i < length; i ++){ System.out.println(arrs[i]); } 
}

练习题:对于int[] arrs = {44,54,43,23,11};,使用循环遍历该数组。

7.数据筛选与处理

1.筛选数据

后端程序员的重要工作之一就是捣腾数据,if语句在数据筛选中起着关键作用。例如,从数组中筛选出偶数:

public class Test04 { public static void main(String[] args) { int[] arrs = {44,54,43,23,11,34,33}; int length = arrs.length; for (int i = 0; i < length; i ++){ //偶数:余2 == 0 if(arrs[i] % 2 == 0){ System.out.println("偶数:" + arrs[i]); } } } 
} 

练习题:

  1. 找出数组中的奇数。
  2. 找出数组中大于 30 的数。

2.数据统计

在实际开发中,我们常常需要对数据进行统计。比如统计数组中有多少个负数:

public static void main(String[] args) { int[] arrs = {44,54,-43,-23,11,-34,33}; int count = 0;//计数器 for(int i = 0; i < arrs.length; i++){ //判断:是否是负数 if(arrs[i]<0) { count++; } }//遍历结束:给出结果 System.out.println(count); 
}

3.数据最值

寻找数组中的最大值和最小值也是常见的需求。例如,寻找数组中的最小值:

public static void main(String[] args) { int[] arrs = {44,54,-43,-23,11,-34,33}; int min = arrs[0]; /*开始遍历,判断*/ for (int i = 0 ; i < arrs.length; i ++){ if(min > arrs[i]){ min = arrs[i]; } }//遍历结束 System.out.println("最小数:" + min); 
}

4.逻辑运算

逻辑运算符&&(逻辑与)、||(逻辑或)、!(逻辑非)在 Java 编程中用于组合条件判断。

  • 逻辑与(&&):条件必须全部满足,且自带短路效果。例如,找男朋友的条件:首先是个男的,身高 1.8m ,学历本科以上,有车有房,这几个条件必须同时满足才为true
  • 逻辑或(||):条件任意满足,也自带短路效果。
    例如,从数组{11,30,23,22,50,33,45,48}中找出既能被 2 整除,又能被 5 整除的数:
public static void main(String[] args) { int[] arrs = {11,30,23,22,50,33,45,48}; //找出既能被2整除,又能被5整除的数 for (int i = 0; i < arrs.length; i ++){ if(arrs[i] % 2 == 0 && arrs[i] % 5 == 0 ){ System.out.println(arrs[i]); } } 
}

练习题:

  1. 从数组{11,30,23,22,50,33,45,48}中找出既能被 2 整除,或能被 5 整除的数。
  2. 从数组{11,30,23,22,50,33,45,48}中找出既不能被 2 整除,又不能被 5 整除的数 。

8.未来企业工作小技巧

  • 代码规范遵循:在企业中,遵循统一的代码规范至关重要。阿里巴巴的 Java 开发手册是很好的参考,它涵盖了命名规范、代码结构、异常处理等多方面内容,能让团队协作开发更加顺畅,减少沟通成本。例如,类名使用大驼峰命名法,方法名使用小驼峰命名法等。
  • 版本控制工具使用:学会使用 Git 进行版本控制。在 Java 全栈项目开发中,无论是前端代码还是后端代码,通过 Git 可以方便地管理代码版本,实现多人协作开发。例如,创建不同的分支进行功能开发,定期将代码合并到主分支等操作。
  • 日志记录与调试:在开发过程中,合理使用日志记录工具(如 Log4j)。在遇到问题时,详细的日志信息能帮助快速定位和解决问题。比如在后端服务器出现错误时,通过查看日志可以了解错误发生的时间、位置以及相关变量的值,提高调试效率。

随着对这些基础概念的深入理解和不断实践,我们在 Java 编程的道路上又迈出了坚实的一步。持续学习,不断探索,相信在未来的 Java 全栈开发工作中,这些知识将成为我们攻克难题、创造价值的有力武器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/73027.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

deepseek 3FS编译

3FS在ubuntu22.04下的编译&#xff08;记录下编译过程&#xff0c;方便后续使用&#xff09; 环境信息 OS ubuntu 22.04内核版本 6.8.0-52-genericlibfuse 3.16.1rust 1.75.0FoundationDB 7.1.66meson 1.0.0ninja 1.10.1 libfuse编译 以下建议均在root下执行 pip3 install…

python-uiautomator2 安装教程

目录 一、简介 二、支持平台及语言 三、工作原理 四、安装 一、简介 uiautomator2是一个python库&#xff0c;用于Android的UI自动化测试&#xff0c;其底层基于Google uiautomator&#xff0c;Google提供的uiautomator库可以获取屏幕上任意一个APP的任意一个控件属性&…

无头浏览器与请求签名技术-Cloudflare防护

在实际数据采集实践中&#xff0c;许多目标网站&#xff08;例如 Amazon&#xff09;都会采用 Cloudflare 等防护措施&#xff0c;防止机器人和非正常流量。本文将分享一个故障场景下的排查与改进方案&#xff0c;讲述如何利用无头浏览器、请求签名技术以及爬虫代理 IP来实现数…

Spring Cloud之注册中心之Nacos健康监测和环境隔离

目录 Nacos健康检查 两种健康检查机制 Nacos服务类型实例 Nacos环境隔离 创建namespace 配置namespace Nacos健康检查 两种健康检查机制 Nacos作为注册中⼼, 需要感知服务的健康状态, 才能为服务调⽤⽅提供良好的服务. Nacos 中提供了两种健康检查机制&#xff1a; 客⼾…

Vue3实战学习(Element-Plus常用组件的使用(输入框、下拉框、单选框多选框、el-image图片))(上)(5)

目录 一、Vue3工程环境配置、项目基础脚手架搭建、Vue3基础语法、Vue3集成Element-Plus的详细教程。(博客链接如下) 二、Element-Plus常用组件使用。 &#xff08;1&#xff09;el-input。(input输入框) <1>正常状态的el-input。 <2>el-input的disable状态。 <3…

微服务——网关、网关登录校验、OpenFeign传递共享信息、Nacos共享配置以及热更新、动态路由

之前学习了Nacos&#xff0c;用于发现并注册、管理项目里所有的微服务&#xff0c;而OpenFeign简化微服务之间的通信&#xff0c;而为了使得前端可以使用微服务项目里的每一个微服务的接口&#xff0c;就应该将所有微服务的接口管理起来方便前端调用&#xff0c;所以有了网关。…

爬虫的精准识别:基于 User-Agent 的正则实现

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

C++【类和对象】(超详细!!!)

C【类和对象】 1.运算符重载2.赋值运算符重载3.日期类的实现 1.运算符重载 (1).C规定类类型运算符使用时&#xff0c;必须转换成调用运算符重载。 (2).运算符重载是具有特殊名字的函数&#xff0c;名字等于operator加需要使用的运算符&#xff0c;具有返回类型和参数列表及函数…

【面试】Java 多线程

多线程 1、什么是线程和进程2、创建线程有几种方式3、线程有几种状态4、什么是上下文切换5、什么是守护线程&#xff0c;和普通线程有什么区别6、什么是线程池&#xff0c;如何实现的7、Executor和Executors的区别8、线程池处理任务的流程9、线程数设定成多少更合适10、执行exe…

【SpringMVC】深入解析使用 Postman 和浏览器模拟将单个与多个参数传递到后端和后端接收过程

SpringMVC—请求(Request) 访问不同的路径&#xff0c;就是发送不同的请求&#xff1b;在发送请求时&#xff0c;可能会带一些参数&#xff0c;所以学习Spring的请求&#xff0c;主要是学习如何传递参数到后端以及后端如何接收&#xff1b; 我们主要是使用 浏览器 和 Postman …

电脑的写字板如何使用?

打开写字板&#xff1a; 直接按一下键盘上的win R 键&#xff0c;然后输入&#xff1a;write &#xff0c; 再按一下回车 , 即可打开写字板 可以在里面写文字 和 插入图片等… &#xff0c; 如下所示&#xff1a; 保存写字板内容&#xff1a; 当我们写好了之后&#xff0c;…

HTTP发送POST请求的两种方式

1、json String json HttpRequest.post(getUrl(method, "v1", url, userId, appKey)).header("Content-type", "application/json") // 设置请求头为 JSON 格式.body(JSONUtil.toJsonStr(params)) // 请求体为 JSON 字符串.execute().body(); …

Windows 万兴恢复专家 Wondershare Recoverit-v13.5.7.9-[电脑数据恢复工具]

Windows 万兴恢复专家Wondershare_Recoverit 链接&#xff1a;https://pan.xunlei.com/s/VOL3z608vzAj_IYTvH-F1q7kA1?pwdiu89# 1. 打开Setup.exe进行安装&#xff0c;安装完不要打开软件&#xff0c;记住安装目录 2. 将"Crack"文件夹内的所有文件复制到安装目录 …

Blender UV纹理贴图,导出FBX到Unity

加载ps好的模型贴图。右下角选择《材质》基础色里面选择《图像纹理》&#xff0c;选择你的图片。 选择上面UV选项卡。左上角选择UV编辑器。选中物体&#xff0c;TAB进入编辑模式。即可调整映射的图像范围。 其中渲染设置可以在左侧下边脱出。 导出带纹理FBX模型 路径选择复…

华为hcia——Datacom实验指南——以太网帧和IPV4数据包格式(一)

实验开始 第一步配置环境 第二步配置客户端 如图所示&#xff0c;我们把客户端的ip配置成192.168.1.10&#xff0c;网关设为192.168.1.1 第三步配置交换机1 system-view sysname LSW1 vlan batch 10 interface ethernet0/0/1 port link-type access port default vlan 10 qu…

解锁 Ryu API:从 Python 接口到 REST 设计全解析

Ryu 4.34 版本的 API 功能分类、核心接口说明及示例代码&#xff0c;结合其 Python 应用开发接口和 REST API 的设计特点进行综合解析&#xff1a; 一、Python 应用开发 API Ryu 的核心能力通过 Python 类库实现&#xff0c;开发者需继承 RyuApp 类并注册事件处理函数。 1. 应…

如何在需求分析阶段考虑未来扩展性

在需求分析阶段考虑未来扩展性的关键在于 前瞻规划、灵活架构、标准设计。其中&#xff0c;前瞻规划尤为重要&#xff0c;因为通过全面分析业务发展趋势与技术演进&#xff0c;能够在初期设计阶段预留足够扩展空间&#xff0c;降低后期改造成本&#xff0c;为企业长期发展奠定坚…

Docker搭建Redis哨兵模式【一主两从三哨兵】

Docker搭建Redis哨兵模式 系统: CentOS 7 Dockder 版本: VMware虚拟机 网络适配器 网络连接 桥接模式:直接连接物理网络查看IP命令 ip addr一、哨兵模式概述 1. 官方文档与关联博客 官方文档:https://redis.io/docs/latest/operate/oss_and_stack/management/sentinel关联博…

ThinkPhp 5 安装阿里云内容安全(绿化)

composer require alibabacloud/green-20220302 首先要把php5(不支持php7)的执行文件设置到PATH环境变量 此外还要先执行composer update php5.5和php5.6的区别 5.5认为 <? 开头的也是php文件&#xff0c;包括 <?php 5.6认为 <? 开头的不是php文件&#xff0c;只…

使用NVM工具管理Node版本

Date: 2025.03.10 14:53:55 author: lijianzhan NVM&#xff08;Node Version Manager&#xff09;用于在同一个系统上管理多个 Node.js 版本,NVM 允许你安装、使用和切换不同的 Node.js 版本。这对于前端工作人员来说可以更方便的管理和维护不同nodejs版本的项目。 &#xff0…