今天,让我们深入到 Java 项目构建、基础语法及核心编程概念的领域,一探究竟。
软件安装及环境配置请查看之前更新的博客有着详细的介绍:
IDEA软件安装&环境配置&中文插件-CSDN博客
目录
[1.Java 项目构建基础](#1.Java 项目构建基础)
[1.项目中的 SRC 目录](#1.项目中的 SRC 目录)
[2.第一个 Java 项目](#2.第一个 Java 项目)
[3.Java 注释](#3.Java 注释)
[6.循环:程序的 "重复执行者"](#6.循环:程序的 “重复执行者”)
[1.for 循环的使用](#1.for 循环的使用)
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
定义了一个公共类,类名是Hellworld
。main
方法则是 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]);
}
}
}
}
练习题:
- 找出数组中的奇数。
- 找出数组中大于 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]);
}
}
}
练习题:
- 从数组
{11,30,23,22,50,33,45,48}
中找出既能被 2 整除,或能被 5 整除的数。 - 从数组
{11,30,23,22,50,33,45,48}
中找出既不能被 2 整除,又不能被 5 整除的数 。
8.未来企业工作小技巧
- 代码规范遵循:在企业中,遵循统一的代码规范至关重要。阿里巴巴的 Java 开发手册是很好的参考,它涵盖了命名规范、代码结构、异常处理等多方面内容,能让团队协作开发更加顺畅,减少沟通成本。例如,类名使用大驼峰命名法,方法名使用小驼峰命名法等。
- 版本控制工具使用:学会使用 Git 进行版本控制。在 Java 全栈项目开发中,无论是前端代码还是后端代码,通过 Git 可以方便地管理代码版本,实现多人协作开发。例如,创建不同的分支进行功能开发,定期将代码合并到主分支等操作。
- 日志记录与调试:在开发过程中,合理使用日志记录工具(如 Log4j)。在遇到问题时,详细的日志信息能帮助快速定位和解决问题。比如在后端服务器出现错误时,通过查看日志可以了解错误发生的时间、位置以及相关变量的值,提高调试效率。
随着对这些基础概念的深入理解和不断实践,我们在 Java 编程的道路上又迈出了坚实的一步。持续学习,不断探索,相信在未来的 Java 全栈开发工作中,这些知识将成为我们攻克难题、创造价值的有力武器。