我肝了一个月,给你写出了这本Java开发手册。(二)

简介: 先来看一下本篇文章的思维导图吧,我会围绕下面这些内容进行讲解。内容很干,小伙伴们看完还希望不吝转发。(高清思维导图版本关注作者公众号 Java建设者 回复 Java666 获取,其他思维导图获取方式在文末)。

Java 开发环境配置

这个地方不再多说了,网上有很多教程配置的资料可供参考。

Java 基本语法

在配置完 Java 开发环境,并下载 Java 开发工具(Eclipse、IDEA 等)后,就可以写 Java 代码了,因为本篇文章是从头梳理 Java 体系,所以有必要从基础的概念开始谈起。

数据类型

在 Java 中,数据类型只有四类八种

  • 整数型:byte、short、int、long

byte 也就是字节,1 byte = 8 bits,byte 的默认值是 0 ;

short 占用两个字节,也就是 16 位,1 short = 16 bits,它的默认值也是 0 ;

int 占用四个字节,也就是 32 位,1 int = 32 bits,默认值是 0 ;

long 占用八个字节,也就是 64 位,1 long = 64 bits,默认值是 0L;

所以整数型的占用字节大小空间为 long > int > short > byte

  • 浮点型

浮点型有两种数据类型:float 和 double

float 是单精度浮点型,占用 4 位,1 float = 32 bits,默认值是 0.0f;

double 是双精度浮点型,占用 8 位,1 double = 64 bits,默认值是 0.0d;

  • 字符型

字符型就是 char,char 类型是一个单一的 16 位 Unicode 字符,最小值是 \u0000 (也就是 0 ),最大值是 \uffff (即为 65535),char 数据类型可以存储任何字符,例如 char a = 'A'。

  • 布尔型

布尔型指的就是 boolean,boolean 只有两种值,true 或者是 false,只表示 1 位,默认值是 false。

以上 x 位都指的是在内存中的占用。

微信图片_20220414185352.png

基础语法

  • 大小写敏感:Java 是对大小写敏感的语言,例如 Hello 与 hello 是不同的,这其实就是 Java 的字符串表示方式
  • 类名:对于所有的类来说,首字母应该大写,例如 MyFirstClass
  • 包名:包名应该尽量保证小写,例如 my.first.package
  • 方法名:方法名首字母需要小写,后面每个单词字母都需要大写,例如 myFirstMethod()

运算符

运算符不只 Java 中有,其他语言也有运算符,运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面,我们就以 Java 为例,来看一下运算符。

  • 赋值运算符

赋值运算符使用操作符 = 来表示,它的意思是把 = 号右边的值复制给左边,右边的值可以是任何常数、变量或者表达式,但左边的值必须是一个明确的,已经定义的变量。比如 int a = 4

但是对于对象来说,复制的不是对象的值,而是对象的引用,所以如果说将一个对象复制给另一个对象,实际上是将一个对象的引用赋值给另一个对象

  • 算数运算符

算数运算符就和数学中的数值计算差不多,主要有

微信图片_20220414185357.png

算数运算符需要注意的就是优先级问题,当一个表达式中存在多个操作符时,操作符的优先级顺序就决定了计算顺序,最简单的规则就是先乘除后加减,() 的优先级最高,没必要记住所有的优先级顺序,不确定的直接用 () 就可以了。

  • 自增、自减运算符

这个就不文字解释了,解释不如直接看例子明白

int a = 5;
b = ++a;
c = a++;
  • 比较运算符

比较运算符用于程序中的变量之间,变量和自变量之间以及其他类型的信息之间的比较。

比较运算符的运算结果是 boolean 型。当运算符对应的关系成立时,运算的结果为 true,否则为 false。比较运算符共有 6 个,通常作为判断的依据用于条件语句中。

微信图片_20220414185402.png

  • 逻辑运算符

逻辑运算符主要有三种,与、或、非

微信图片_20220414185406.png

下面是逻辑运算符对应的 true/false 符号表

微信图片_20220414185409.png

  • 按位运算符

按位运算符用来操作整数基本类型中的每个比特位,也就是二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。

微信图片_20220414185412.png

如果进行比较的双方是数字的话,那么进行比较就会变为按位运算。

按位与:按位进行与运算(AND),两个操作数中位都为1,结果才为1,否则结果为0。需要首先把比较双方转换成二进制再按每个位进行比较

按位或:按位进行或运算(OR),两个位只要有一个为1,那么结果就是1,否则就为0。

按位非:按位进行异或运算(XOR),如果位为0,结果是1,如果位为1,结果是0。

按位异或:按位进行取反运算(NOT),两个操作数的位中,相同则结果为0,不同则结果为1。

  • 移位运算符

移位运算符用来将操作数向某个方向(向左或者右)移动指定的二进制位数。

微信图片_20220414185417.png

  • 三元运算符

三元运算符是类似 if...else... 这种的操作符,语法为:条件表达式?表达式 1:表达式 2。问号前面的位置是判断的条件,判断结果为布尔型,为 true 时调用表达式 1,为 false 时调用表达式 2。

Java 执行控制流程

Java 中的控制流程其实和 C 一样,在 Java 中,流程控制会涉及到包括 if-else、while、do-while、for、return、break 以及选择语句 switch。下面以此进行分析

条件语句

条件语句可根据不同的条件执行不同的语句。包括 if 条件语句与 switch 多分支语句。

if 条件语句

if 语句可以单独判断表达式的结果,表示表达的执行结果,例如

int a = 10;
if(a > 10){
  return true;
}
return false;

if...else 条件语句

if 语句还可以与 else 连用,通常表现为 如果满足某种条件,就进行某种处理,否则就进行另一种处理

int a = 10;
int b = 11;
if(a >= b){
  System.out.println("a >= b");
}else{
  System.out.println("a < b");
}

if 后的 () 内的表达式必须是 boolean 型的。如果为 true,则执行 if 后的复合语句;如果为 false,则执行 else 后的复合语句。

if...else if 多分支语句

上面中的 if...else 是单分支和两个分支的判断,如果有多个判断条件,就需要使用 if...else if

int x = 40;
if(x > 60) {
  System.out.println("x的值大于60");
} else if (x > 30) {
  System.out.println("x的值大于30但小于60");
} else if (x > 0) {
  System.out.println("x的值大于0但小于30");
} else {
  System.out.println("x的值小于等于0");
}

switch 多分支语句

一种比 **if...else if ** 语句更优雅的方式是使用 switch 多分支语句,它的示例如下

switch (week) {
  case 1:
    System.out.println("Monday");
    break;
  case 2:
    System.out.println("Tuesday");
    break;
  case 3:
    System.out.println("Wednesday");
    break;
  case 4:
    System.out.println("Thursday");
    break;
  case 5:
    System.out.println("Friday");
    break;
  case 6:
    System.out.println("Saturday");
    break;
  case 7:
    System.out.println("Sunday");
    break;
  default:
    System.out.println("No Else");
    break;
}

循环语句

循环语句就是在满足一定的条件下反复执行某一表达式的操作,直到满足循环语句的要求。使用的循环语句主要有 **for、do...while() 、 while **,

while 循环语句

while 循环语句的循环方式为利用一个条件来控制是否要继续反复执行这个语句。while 循环语句的格式如下

while(布尔值){
  表达式
}

它的含义是,当 (布尔值) 为 true 的时候,执行下面的表达式,布尔值为 false 的时候,结束循环,布尔值其实也是一个表达式,比如

int a = 10;
while(a > 5){
  a--;
}

do...while 循环

while 与 do...while 循环的唯一区别是 do...while 语句至少执行一次,即使第一次的表达式为 false。而在 while 循环中,如果第一次条件为 false,那么其中的语句根本不会执行。在实际应用中,while 要比 do...while 应用的更广。它的一般形式如下

int b = 10;
// do···while循环语句
do {
  System.out.println("b == " + b);
  b--;
} while(b == 1);

for 循环语句

for 循环是我们经常使用的循环方式,这种形式会在第一次迭代前进行初始化。它的形式如下

for(初始化; 布尔表达式; 步进){}

每次迭代前会测试布尔表达式。如果获得的结果是 false,就会执行 for 语句后面的代码;每次循环结束,会按照步进的值执行下一次循环。

逗号操作符

这里不可忽略的一个就是逗号操作符,Java 里唯一用到逗号操作符的就是 for 循环控制语句。在表达式的初始化部分,可以使用一系列的逗号分隔的语句;通过逗号操作符,可以在 for 语句内定义多个变量,但它们必须具有相同的类型

for(int i = 1;j = i + 10;i < 5;i++, j = j * 2){}

for-each 语句

在 Java JDK 1.5 中还引入了一种更加简洁的、方便对数组和集合进行遍历的方法,即 for-each 语句,例子如下

int array[] = {7, 8, 9};
for (int arr : array) {
     System.out.println(arr);
}

跳转语句

Java 语言中,有三种跳转语句: break、continue 和 return

相关文章
|
3月前
|
Java API Maven
如何使用Java开发抖音API接口?
在数字化时代,社交媒体平台如抖音成为生活的重要部分。本文详细介绍了如何用Java开发抖音API接口,从创建开发者账号、申请API权限、准备开发环境,到编写代码、测试运行及注意事项,全面覆盖了整个开发流程。
538 10
|
3月前
|
监控 Java API
如何使用Java语言快速开发一套智慧工地系统
使用Java开发智慧工地系统,采用Spring Cloud微服务架构和前后端分离设计,结合MySQL、MongoDB数据库及RESTful API,集成人脸识别、视频监控、设备与环境监测等功能模块,运用Spark/Flink处理大数据,ECharts/AntV G2实现数据可视化,确保系统安全与性能,采用敏捷开发模式,提供详尽文档与用户培训,支持云部署与容器化管理,快速构建高效、灵活的智慧工地解决方案。
|
4天前
|
JavaScript 安全 Java
智慧产科一体化管理平台源码,基于Java,Vue,ElementUI技术开发,二开快捷
智慧产科一体化管理平台覆盖从备孕到产后42天的全流程管理,构建科室协同、医患沟通及智能设备互联平台。通过移动端扫码建卡、自助报道、智能采集数据等手段优化就诊流程,提升孕妇就诊体验,并实现高危孕产妇五色管理和孕妇学校三位一体化管理,全面提升妇幼健康宣教质量。
33 12
|
27天前
|
前端开发 Java 程序员
菜鸟之路day02-04拼图小游戏开发一一JAVA基础综合项目
本项目基于黑马程序员教程,涵盖面向对象进阶、继承、多态等知识,历时约24小时完成。项目去除了登录和注册模块,专注于单机游戏体验。使用Git进行版本管理,代码托管于Gitee。项目包含窗体搭建、事件监听、图片加载与打乱、交互逻辑实现、菜单功能及美化界面等内容。通过此项目,巩固了Java基础并提升了实际开发能力。 仓库地址:[https://gitee.com/zhang-tenglan/puzzlegame.git](https://gitee.com/zhang-tenglan/puzzlegame.git)
42 6
|
30天前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
41 5
|
30天前
|
前端开发 Java 数据库连接
【潜意识Java】深度解读JavaWeb开发在Java学习中的重要性
深度解读JavaWeb开发在Java学习中的重要性
30 4
|
30天前
|
SQL Java API
|
30天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
56 2
|
2月前
|
移动开发 前端开发 Java
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
JavaFX是Java的下一代图形用户界面工具包。JavaFX是一组图形和媒体API,我们可以用它们来创建和部署富客户端应用程序。 JavaFX允许开发人员快速构建丰富的跨平台应用程序,允许开发人员在单个编程接口中组合图形,动画和UI控件。本文详细介绍了JavaFx的常见用法,相信读完本教程你一定有所收获!
1432 1
Java最新图形化界面开发技术——JavaFx教程(含UI控件用法介绍、属性绑定、事件监听、FXML)
|
1月前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。