嗨，我叫莫什，我要当你的
此Java课程的讲师
当然你会学到你所有的东西
需要开始用Java编程
我们将从安装所有
构建Java的必要工具
应用程序，然后您将学习
关于您将学习的Java基础知识
您将学习如何执行Java代码
如何建立简单的算法，以及
在整个课程中，我将分享
有很多技巧和捷径
我多年的经验，我会教你
如何像这样写好的代码
专业的开发人员，所以我们最终
观看本课程，您将有一个
扎实的Java基础并准备好
了解我拥有的高级Java功能
为任何人设计了本课程
如果您是初学者，想学习Java
别担心，我会让Java超级简单
并握住你的双手
当然你不太老或太小
您将在中编写第一个Java程序
分钟
我叫莫什，我是一名软件工程师
有二十年的经验，我已经
教会了超过300万人如何编码
以及如何成为专业软件
工程师，我在代码学院学习
与大众交流，在那里你可以找到很多
可以帮助您学习她的编码的课程
技能提升到新的水平，希望您能
坚持学习这个美丽
和强大的编程语言
现在由该视频赞助商授予
经营在线业务的人
不能足够强调
保持在线安全，这就是我为什么
当仪表板伸出手来时，我非常兴奋
我，如果你不知道-莱恩是
密码管理器和VPN推荐
苹果和谷歌，这是一个梦幻般的
保留您的信息的保障
确保它完全免费使用
您的第一个设备，所以去-Ling
comm /marché-如果需要，请尝试一下
升级到高级版以获得VPN或
暗网监控，您可以使用
促销代码mosh可获得10％的折扣
为-今天9点，保持自己的安全
现在在线返回课程
在本Java教程中，我们将
下载并安装必要的工具
建立Java应用程式
您的浏览器并搜索jdk下载
jdk是Java开发套件的缩写
它基本上是一个软件
建筑开发环境
Java应用程序有一个编译器吗
有很多代码可以重用
在以下位置具有Java Runtime环境
一堆其他的东西，所以在这里你
可以在Oracle com Java se上看到此页面
这是Java标准版的缩写
现在点击这里
现在在此页面上可以看到该图标
各种Java开发套件
Linux Mac OS和Windows等平台
我在Mac上，所以我要下载
这个dmg文件现在在这里，然后做
首先，我们需要接受许可
现在就同意协议，让我们下载
dmg让我打开这个，我们要说
这个包让我们双击
在这里，我们看到此安装向导
这非常简单，只需单击继续，然后
安装您必须输入您的
计算机的密码，然后正确
做得漂亮，所以我们可以将其移动到
现在垃圾我们的下一个软件
需要的是一个代码编辑器
用于构建Java的出色编辑器
流行的应用程序是
NetBeans Eclipse和IntelliJ在此
Java课程，我将使用IntelliJ，但是
如果您有喜欢的编辑器，请放心
用它来上这门课
很好，让我们搜索
IntelliJ下载可以看到的所有权利
下载IntelliJ IDEA单击此
链接到这里下载社区
是绝对免费的版本
这对本课程来说绰绰有余，所以
立即下载所有内容，让我们拖动并
放到Applications文件夹
好吧，我们已经安装了所有
构建Java的必要工具
应用程序，所以接下来我们来看
Java程序的剖析
在本Java教程中，我们将看一下
在Java程序剖析中
Java程序中最小的构建块
是功能
如果函数是一个代码块，
隐喻地执行任务
遥控器上的按钮
您的电视上的每个按钮都执行一项任务
编程语言中的函数是
例如我们可以完全一样
向人们发送电子邮件的功能
我们可以有一个转换功能
某人的体重，以磅为单位
我们可以有一个验证功能
用户输入等等，现在让我们看看
我们可以用Java编写一个函数
通过指定该类型的返回类型
函数一些函数返回值
像白天的数字等等
其他函数不返回任何东西
该函数的返回类型为
void void是Java中的保留关键字
这就是为什么我用蓝色编码的原因
现在在返回类型之后
函数的名称，所以在这里我们
应该使我们的职能适当
描述性名称，例如，发送电子邮件至
名称清楚地表明了目的
现在我们以这个名字命名
在里面有一对括号
这些括号我们添加参数
为此功能，我们使用这些
参数将值传递给我们
功能，例如我们的发送电子邮件
函数应具有类似于who的参数
接收者是什么
这封电子邮件的内容是什么
电子邮件等等，现在在本教程中
我们不会担心参数
我们以后再看
现在在括号后面，我们有一双
大括号和这些大括号内
我们现在写实际的Java代码之一
我要你注意的事情
这是在Java中，我们将左侧
支撑在我们定义的同一行
我们在其他编程中的功能
像C Sharp这样的语言
传统上将左支架放在
新行，但我们不在Java中执行此操作
我们把左大括号放在同一行
现在我们在哪里定义我们的功能
Java程序应至少有一个
函数，该函数称为
主要所以主要是我们的入口点
我们执行Java的程序
程序主要功能被调用
以及其中的代码
这些现在可以执行了
函数本身并不存在
应该总是属于一个类别，所以
类是一个或多个的容器
相关功能基本上我们使用这些
类来组织我们的代码，就像
产品的组织方式
超级市场我们有一个超级市场
蔬菜水果等各个部分
清洁产品等每个部分
包含相同的相关产品
令牌java中的类包含相关
现在每个Java程序都应该可以使用
至少有一个包含
主要功能你能猜出名字吗
该类的主要内容，这就是我们
在Java中定义一个类，我们以
class关键字，然后给我们的班级一个
适当的描述性名称，然后我们添加
一对花括号现在的功能
我们在这些卷曲之间定义
牙套属于此类
准确地说，我们将它们称为方法
所以方法是函数的一部分
一些编程语言中的类的说明
像Python，我们可以有一个函数
存在于类之外，所以我们称之为
一个函数，但是当一个函数属于
对于一个类，我们将其称为
该类现在在Java中还可以
类和方法应该有一个
访问修饰符访问修饰符是
确定是否其他的特殊关键字
该程序中的类和方法可以
访问我们拥有的这些类和方法
各种访问修饰符，例如public
现在大部分时间都是私有的
我们使用公共访问修饰符，所以我们
把它放在我们班上
方法声明，所以这是基本的
至少Java程序的结构
我们有一个主班，在里面
我们现在有main方法
您可能很好奇为什么我们有一个
以此类的名义大写的m
因为在Java中我们使用不同的
命名我们的班级的惯例
我们用来命名类的方法
Pascal命名约定以及
基本上是指
每个词都应大写
对比命名方法，我们使用
骆驼命名约定，这意味着
每个单词的第一个字母应该是
操作
第一个疣除外
为什么我们以
这堂课好了，现在你
了解Java程序的结构
让我们创建一个新的Java项目，看看
所有这些行动的基础
您将学习的本Java教程
如何编写和执行您的第一个Java
程序，所以我们在这里打开IntelliJ IDEA
在主屏幕上，我们创建一个新的
在左侧选择项目正确
Java并确保项目SDK不是
黑色，所以我们早些时候下载了jdk或
Java开发套件版本12
为什么在这里选择JDK版本12，如果
您看不到确保选择
现在从此下拉列表中选择它
让我们单击此页面上的下一个
从模板创建项目，所以我们
要创建一个命令行应用程序
这是我们可以运行的应用程序
从命令行没有
图形用户界面或GUI
现在我知道命令行应用程序是
不如带有
图形用户界面（如手机）
应用程序或桌面应用程序，但请相信我
用图形构建应用程序
用户界面非常复杂，所以
现在我们只是要建立命令
行应用程序以正确学习Java
正确学习Java之后，
可以了解有关构建台式机或
Java的移动应用程序可以
现在让我们单击此页面上的下一个
必须给我们的项目起个名字
在这里打个招呼世界吧
可以看到这个项目的位置
现在在idea projects文件夹中
在下面可以看到基地
设置为该代码的软件包
在我的机器和您的机器上使用Marsh
任务可能会成为交流点
包我们在这里聊了什么？
关于我告诉你的类和方法
类是相关容器
方法，所以我们使用类来组织
我们的代码具有相同的道理
称为包装的概念，我们使用
打包以分组相关类，以便
我们的应用程序增长，我们将最终
有数百甚至数千
上课，所以我们应该适当地组织
这节课
按照惯例，我们现在进入包装
Java项目的基本软件包是
您公司的反向域名
所以我的网站是大众通信代码
这就是为什么我要奠定基础
该项目的包装来
现在用Marsh编写代码并不意味着
您应该有一个实际的域
在互联网上注册，这只是一个
为我们创建名称空间的方法
课，所以现在我们每个课
在该项目中创建将属于
我们要谈论的这个包裹
将来会更详细地打包
现在只需要输入一个基本包
您的项目可能会变成您的
名称或其他不是真的
没关系，让我们前进
好吧，这是我们的第一个Java项目
现在这个代码编辑器可能看起来有点
起初有点吓人，但请相信我
这真的很简单，您将学到
在本课程的整个过程中
左侧有项目面板
在这里我们可以看到所有文件夹和
项目中的文件，例如
顶部，我们有一个hello word项目
在这个项目中，我们有来源
我们有源代码的文件夹
现在在此文件夹中有一个项目
另一个使该代码平静的文件夹
与沼泽一起是我们基地的名字
包，在这个包中，我们有这个
主类，因此您可以看到此主文件
现在在右侧打开现在看
以该文件的名称为主
Java，因此所有Java文件都应具有
Java扩展现在可以崩溃了
通过单击此项目面板
更好的图标，所以看看我们有什么
在此文件的顶部，我们有
打包声明，用于
指定此类所属的包
所以我们这里的主要班级
现在属于这个包裹
语句以分号终止，因此
在Java中，无论哪里有声明，我们
应该以
分号，这就像C尖锐
或C ++现在位于此package语句下方
我们的主班完全一样
您在上一个教程中看到了，所以我们
有一对公共课主
这个班级里面的花括号
我们的主要方法，所以这是一个公共方法
这可能
可从此其他部分访问
程序是静态的，我们还没谈过
关于静态金属，但我们将谈论
他们现在将来只记得
程序中的主要方法
应该始终是静态的返回顶部
该方法的方法无效，这意味着
方法不会返回值，并且
在括号中，我们有一个
我们可以使用此功能的参数
这些参数将值传递给我们
程序，我们将在
此参数之后的未来
如您所见，左括号
是我们在其中编写代码的地方
现在默认情况下，我们有这一行
带有两个斜杠的前缀表示
评论，我们用这些评论来解释
我们的代码给其他人，所以这些
现在不执行注释，让我们
删除此评论并写一些
在终端上打印一些东西的代码
所以这里我们要使用系统类
在Java中，所以这里的大写S系统
您可以看到系统类的工具提示是
在此包中定义的Java dot Lang或
语言也请查看此图标
左边这表示现在上课
在这堂课中，我们有各种各样的
成员，我们可以使用点运算符来
查看系统中定义的成员
现在上课，我们要去的成员
访问出来看看这个图标
成员F是字段的缩写
你要谈论的领域
未来，当我们谈论课程和
面向对象编程现在是什么
有趣的是这种类型
字段，您可以在右侧看到
这是打印字符串的一面，所以打印
字符串是另一个定义的类
在Java中，我们再次使用点
操作员看一下方法或
打印流中定义的成员
我们要使用的方法是
打印Ln，它是行的缩写
该方法的图标，因此M表示
现在按ENTER的方法
IntelliJ自动添加这些
括号以及分号等
现在有了第六行的代码
调用或执行打印行
方法我之前告诉过你里面
这个括号我们可以将值传递给
我们在这里要打印的方法
你好词
在终端上，让我们键入double
引号和这些引号内的权利
你好世界，所以你好词是文字
每当我们处理Java中的数据
我们应该始终围绕的文字数据
他们用双引号现在我们说我们
有他的弦，所以弦是一个
字符序列好吧
现在我们完成了第一个程序
执行此操作，我们可以单击此图标
在工具栏上，查看快捷方式
Mac的ctrl + RI总是更喜欢使用
快捷键，因为它们更快，所以按Ctrl
+ R现在IntelliJ正在建立我们的
应用程序，我们可以看到结果
这个小终端窗口，这是
我们打招呼的消息，那是我们的
第一个Java程序接下来，我要去
解释如何执行Java代码
引擎盖下
嘿，马什，我只是想让你
知道你真的不必
记住我在这门课程中的任何事情
整理出全面的备忘单
带有摘要注释，您可以下载
在此视频下方，所以我已尽力
创建最佳的Java课程，并
如果你真的很感激
通过分享和分享来支持我
您在社交网络上的视频
经常使用也一定要订阅和
启用通知，以便下次我
上传视频，您会收到通知，谢谢
你这么多，让我们继续看
现在，让我们看看到底是什么
发生在我们跑步的瞬间
IntelliJ中的Java程序
基本上涉及两个步骤
在这里编译和执行
编译步骤IntelliJ使用Java
编译器将我们的代码编译成一个
称为Java字节码的不同格式
Java随附的Java编译器
我们从下载的开发套件
课程的开始让我展示
您在这里，我们可以右键单击此
主Java，在此上下文菜单中
我们有一个在终端打开的项目
不幸的是它没有跌倒
在我的录制窗口中可见
在Mac和
可能在以下命令提示符下打开
Windows，让我们打开就可以了
终端窗口或命令提示符打开
我们目前在其中的窗户
这个文件夹代码与Maj在哪里
现在我们有了主Java文件
可以像这样调用Java编译器
Java C并将名称或Java文件传递为
如果您是
在Mac或Linux上，请确保将其拼写
用大写的M，因为这些
系统区分大小写，所以现在输入
让我们看看这个文件夹的内容
在Mac或Linux上，我们可以在
Windows，我们输入dir，让我们看一下
在此文件夹中，我们现在有一个新文件
主类，这是字节码
现在，此Java文件的表示形式
我使用IntelliJ运行我们的Java程序
此类文件存储在某处
否则让我告诉你，回到
项目面板在我们的项目中
有这个源文件夹
我们的源代码，我们有这个
我们有结果的文件夹
编译，因此在此文件夹中，我们
在里面有生产
你好世界与我们的项目同名
在你好世界里面，我们有通讯
我们顶层包装的名称
这个包我们有一个子包
是Marsh的代码，在这里我们有
dat类的主要文件，所以这是
现在编译该Java字节码
我们在此文件中拥有的是平台
独立的，这意味着它可以在
Windows Mac Linux或任何运行中的
具有Java运行时的系统
环境，如果您去java.com斜杠
下载我们可以下载java或更多
准确地为Java运行时环境
Java的各种操作系统
运行环境有软件
称为Java虚拟机或
JVM，此JVM采用我们的Java字节码，
将其翻译为
基础操作系统，如果您
在Windows机器上，此Java Virtual
机器将Java字节码转换为
Windows可以使用的本机代码
了解这种架构是
Java应用程序之所以如此
便携式或独立于平台，我们可以
在Windows上编写Java程序
机器并在Linux Mac上执行它或
具有以下功能的任何其他操作系统：
Java运行时环境
c-sharp和python也有相同的
这就是为什么
现在也与平台无关
向您展示如何调用此Java虚拟
机器上运行Java程序，因此返回
这个终端窗口让我扩大这个
目前，我们在此文件夹中
用Marsh编码，在此文件夹中，我们
现在有这个类文件让我们开始吧
升级，使CD点和另一个时间
现在我们在源文件夹中
我们可以像这样调用Java虚拟机
他们输入Java，然后输入
完全传递到我们的主类文件怎么办
我的意思是说我们早先定义了
这个包与Marsh交流该代码
这个班的主要班是
这个包，所以完整的路径
这个班级是Marsh的冷静点代码
点主要确保使用大写的M
这里，因为现在区分大小写
当我们按ENTER键时，Java将查看
这个文件夹平静在这个文件夹里面
会用
沼泽，然后它将发现主要的
该文件夹中的类，它将加载
字节码并将其转换为本地
我们的操作系统代码
使用，所以看看它执行了我们的
程序你好世界美丽让我跑
使用IntelliJ的所有这些步骤的程序
对我们隐藏了，我们看不到
编译或执行步骤
所以您现在已经看到了Java的实际应用
我告诉你五个有趣的事实
Java Java由James Gosling开发
1995年在Sun Microsystems
后来在2010年被Oracle收购
原名橡树后叫oke
站在高斯林办公室外面
后来它被重命名为绿色，并且
最终受Java启发而重命名为Java
咖啡，这就是为什么它的徽标看起来像
我们有四个Java版本
建立各种应用程序
我们有Java标准版，这是
核心Java平台是什么
我们在本课程中使用它包含
每个Java的所有库
开发人员必须学习
我们有Java Enterprise Edition
用于大型建筑
它建立在分布式系统之上
java标准版并提供
用于构建故障的其他库
容忍的分布式多层
我们拥有Java Micro Edition的软件
这是Java标准的子集
专为移动设备设计的版本
它具有专门针对移动设备的库
设备，最后我们有了Java卡
最新的智能卡使用
Java版本是Java标准版本
12刚刚发布了几个月
之前的2019年3月Java已经接近9
目前全球有百万开发人员
大约30亿部使用Java的手机
以及1.2亿台电视机
根据确实网站的蓝光播放器
Java开发人员的平均薪水
在美国每年仅超过100,000美元
因此我们可以看到Java无处不在
对您来说意味着更多机会
被聘为专业人士
程序员，现在让我快速给您
我如何构建此结构的概述
当然，您可以充分利用它
本课程是我的第一部分
完成Java系列的四部分，每个部分
大约三到四个小时，所以
一两天就可以轻松完成
在第一部分，这就是你
看着你会学习
使用Java进行编程的基础知识
下一节您将了解
Java中的类型系统，您将学习如何
与诸如
发出字符串布尔值和数组
本节的最后，您将构建一个
抵押计算器是您的第一个Java
项目将对此进行改进
计算器点对点路由器课程
接下来您将了解控制流程
用于构建的语句
我们将要讨论的算法
各种类型的条件语句
并在本节的后面循环
将数据验证添加到我们的抵押贷款
强制用户输入的计算器
此时您将获得有效值
能够建立基本算法并
那很棒
但是要成为一名优秀的程序员需要
知道如何编写好的代码
是干净和富有表现力的
将杰出的程序员与
一个普通的程序员，所以在
下一节我们将讨论清洁
编码，我将向您展示各种
专业程序员的技术
用来使代码干净
可维护，最后在最后
部分，您将学习如何查找和
修复您的Java程序中的错误
至于如何打包它们以进行部署
其他人可以使用它们，以便其中的材料
第一部分会给你扎实的
如何开始编程的基础
在第二部分中，我们将讨论Java
关于面向对象的编程
在大多数情况下是一种编程风格
并非所有Java应用程序
想要使用Java来构建网络移动设备或
您需要的桌面应用程序
了解面向对象的编程
好吧，因为否则你将要
不断碰到第三障碍
我们将讨论核心Java
API是或应用程序编程
界面，您将了解许多
标准Java中的有用类
库，最后一部分
我们将看高级
Java功能，例如流线程
数据库编程等等，所以我希望
您将加入我的旅程，
掌握Java最受欢迎的编程
数百万个应用背后的语言和
网站
[音乐]
您
[音乐]
十字路口，我们要看看
Java编程基础
您将了解变量和
常量基本类型和引用类型
您将了解有关投射或打字的信息
转换，您将学习如何工作
与数字字符串和数组以及如何
读取用户的输入
一旦你学会了所有这些，我就会给
你一个项目，你要建立一个
自己按揭计算器，因此
一定要注意所有
您将要学习的材料，因为
您将在其中使用大多数
项目准备好了，现在就进入
并开始学习本教程
我们将讨论Java中的变量
使用变量临时存储数据
这是计算机内存中的一个例子
想象在这个程序中你想
将某人的年龄存储在内存中，以便我们
声明一个像这样的蚂蚁年龄的变量
等于30，所以int或integer是类型
这个变量，所以在这个变量中
只能存储整数
像1 2 3 4这样的数字
现在在Java中有一个小数点
我要谈的几种不同类型
在下一个教程中介绍它们
我们指定变量的类型，然后
我们给它起一个名字或标签
也称为标识符，因为我们使用
来确定我们的变量等于
符号称为赋值运算符
30是我们的初始值
分配给这个变量，所以我们说
第6行，我们正在初始化此变量
这意味着我们要给它一个初始
值，您始终必须初始化我们的
在读取变量之前
这行我们要存储数字30
在计算机内存中的某个地方
将此标签分配给该内存
现在位于第7行的位置，而不是
打印你好世界，我们可以打印
年龄变量的值看一下
我要使用ctrl +运行该程序
R你去那里，我们现在看到30
终端很漂亮，我们也可以改变
我们变量的值，所以在我们之后
初始化每个房子，我们可以改变它
到35，当我们再次运行该程序时
我们看到它35美丽，我们也可以
在上初始化多个变量
同一行，但这是我的事情
不推荐，因为它会使您
代码丑陋，很难阅读这里是
例如，我们可以声明另一个变量
像温度并将其设置为20这样
使用逗号我们可以声明多个
现在即使在同一行上的变量
尽管从技术上讲这是可能的
不是我推荐的东西，所以
总是最好在上声明一个变量
像这样的每一行，我们也可以复制
将一个变量的值转换为另一个变量
是一个例子让我删除这些
变量并声明一个新变量
称为我的年龄，我们将其设置为30，然后
我们声明另一个变量，例如她的年龄
我们将其设置为我的年龄，所以现在
打印她的年龄，我们将看到30岁
看
所以在第七行重新获得值
这个变量变成另一个变量
现在我要你支付一件事
注意这里是惯例
用来命名我们的变量
告诉你之前这叫做
骆驼符号，所以我们应该
将每个字母的首字母大写
除了第一个单词以外的单词
案头我的全部
小写，但第二个字开始
用大写字母就可以了
关于声明和初始化
在下一个教程中的变量
在谈论各种类型的
在本教程中，我们将使用Java
谈论Java中的各种类型
基本上我们有两类
我们有原始类型的类型
存储简单值和非原始值
存储的参考类型或参考类型
复杂的对象，所以在
我们有白色的原始类型
占用一字节内存，一口气
我们现在可以存储从128到127的值
字节越多，我们越大
我们可以存储的数字，所以接下来我们有
短，需要两个字节，并且
我们最多可以存储32,000个值
接下来我们有一个整数，我们已经看到
在整数取四个字节之前
记忆，让我们储存价值
到二十亿，那么我们有多久
占用八个字节，有了这个，我们可以
现在存储更多的数字
类型用于存储整数
如果你想没有小数点
存储带小数的数字
点，你必须使用浮点数或双精度
浮动需要四个字节加倍
八个字节，所以显然我们加倍了
可以存储更大的数字
char用于存储单个字符，例如
ABC和这张图表我占用了两个字节
所以他们支持国际信件
最后我们有布尔值来存储
布尔值，可以为true或
假，就像现在用英语是或否一样
让我们看几个例子
之前我们使用整数来存储
某人的年龄，但如您所知
整数占用四个字节，并允许我们
存储的价值不超过20亿美元
需要四个字节的内存来存储
某人的年龄，我们只需要一个字节
因为一口就能储存
值最高为127，所以我要更改
这个更好的字节，现在让我们
看另一个例子，假设我们
想要存储一次的次数
观看了YouTube视频，因此我们
定义一个称为views count的整数
请注意，我一直在使用有意义的
我的变量的名称，因为这些
名称可以帮助我们了解这段代码
我见过有人使用变量吗
像V或V 1或n这样的名字没人知道
这些变量如何做到最好
练习总是使用有意义的
变量的描述性名称
观看次数，我们将此设置为较大
现在像1 2 3 4 5 6 7 8 9这样的数字
Java，只要您处理大量
这样的数字，您可以使用
下划线将每三个分开
就像我们在逗号中使用逗号一样
我们的文件，使我们的数字更多
可读的我们可以在下划线
Java，因此我们可以存储整数
价值高达20亿，但可以说
该视频的观看次数
看了三十亿，所以我有一个
现在这里有三个我们就行了
表示错误
让我将鼠标悬停在上面
此工具提示的整数太大，因此
我们需要更改此类型
可变为long但是错误是
仍然在那里发生了什么事
我们收到此错误的原因是
默认情况下，Java将这些数字视为
即使我们已经定义了整数
此变量的类型（如Java）
编译器将此值视为整数
他认为这个值太大
一个整数来解决这个问题，我们
需要添加L作为后缀
数字，我们可以使用大写字母或
小写的L，但如您所见
小写L看起来像1所以
最好使用大写字母L，这样
是整数的例子现在让我们
声明用于存储数字的变量
小数点后加倍的价格
将此设置为1099显然是两倍
变量太大，无法存储
产品价格，因此我们可以更改此价格
浮动是更好的，但你有一个
编译错误在这里看看
不兼容的类型需要float，但是
发现我们看到的原因的两倍
该错误是Java默认情况下看到的
这些数字以小数点作为
即使我们设置了
这个浮动的Java变量看到了这个
数字是两倍，就像我们
在此号码后添加了一个后缀
代表它很长，我们需要添加一个
后缀表示此数字为
浮点数，后缀再次为F
我们可以使用大写或小写F
所以这些是数字的例子
让我们存储一个字符，我们称之为char
这封信，我们将其设置为注释
我们应该总是包围单身
带单引号的字符和
多个字符或字符串
双引号
好的，所以char只代表一个
字符串代表一系列
人物，最后让我们看看
布尔的例子，所以我们定义一个
符合条件的布尔变量是
这个人是否有资格获得贷款
说这是对还是错这些是
布尔值现在注意所有这些
橙色编码的单词保留
Java中的关键字
就像public static void class
打包这些都是保留关键字
因此我们不能使用这些保留关键字
我们的变量类的名称和
您上一次学习的教程中的方法
我们使用原始类型来存储
简单值，例如数字布尔值
值或单个字符的对比
使用引用类型存储复杂
数据对象或邮件之类的对象
消息这些现在是复杂的对象
在Java中，我们有八种原始类型
你在所有其他人面前看到的
类型是参考类型，让我展示一下
你是一个例子，所以在这个程序中
首先，我要声明一个原始类型
假设白人年龄现在等于30
声明和初始化参考
类型与
我告诉你原始类型
所以我们现在在这里输入日期
工具提示框，称为智能感知
我们可以看到各种具有
以他们的名字命名，所以IntelliJ是
帮助我们通过以下方式完成代码
现在在这里建议这些类名
Java包中有一个日期类
util，所以这个包包含很多
在一个实用程序中有用的实用程序类
很多程序你也有约会
不同的包中的类Java SQL或
用于编程的续集
数据库，所以这是
包，我们可以有相同的类，但
在不同的包装中，他们没有
冲突，因此程序包会创建一个名称空间
对于我们的班级，现在可以在这种情况下
我们选择第一个日期班级，然后按
输入或标签IntelliJ自动添加
这行对我们来说就是导入Java
直到日期，所以因为目前我们
在此包装中以便使用
我们需要的其他包中的类
导入它，所以在这里我们导入
这个包中的日期类会说话
有关软件包的更多详细信息，请参见
未来，所以回到我们的日期变量
让我们给这个变量命名
现在我们在这里设置我们需要使用
新的运算符，为其分配内存
这个变量，这是其中之一
原语和
声明原始时的引用类型
我们不需要分配内存的类型
内存由Java分配和释放
运行时环境，但在处理时
使用引用类型，我们应该始终
现在分配内存，我们不必
释放该内存Java Runtime
环境会自动照顾
因此，我们使用新的运算符
然后在中重复我们班级的名称
这个案例日期，然后我们添加
括号后跟一个分号
这个例子我们有这个变量
这里定义的是日期的一个实例
类，因此该类已定义为模板
或用于创建新对象的蓝图
新实例作为另一个例子，我们可以
有一个叫做人类的课，我们可以
有像约翰·鲍勃·玛丽这样的物体
在一个对象是一个实例
现在分类这个对象或这个分类
有我们可以使用的成员
点运算符，以便我们现在可以键入点
这些都是在中定义的成员
此类或在此对象中
我们有一种叫获取时间的方法，
这将返回该时间的时间
反对这是另一个不同
在原始类型和引用之间
这些原始类型没有的类型
成员，所以如果您输入年龄点，我们就不会
看到这些东西，你在这里看到的任何东西
不是他们年龄的成员
片段，使我们能够快速
例如生成代码，我们可以选择
对我来说，这会自动产生
这一段代码对我们来说
关于这个未来的这个时代
变量是原始类型，不是
对象，它没有任何成员，并且
这就是为什么当我们使用点运算符时
我们现在在这里什么都看不到
删除此行，而是打印
此数据对象的值，因此再次
我们可以输入system这是一个类，所以我们
可以使用点运算符来访问其
我们这里的成员是
字段，此字段的类型为
打印字符串，这是另一个类
Java，因此我们可以再次使用点
操作员并致电打印线
功能现在让我向您展示一个非常酷的功能
快捷方式，而不是输入所有这些
可以使用这些代码片段之一，因此我们
输入s哦，您会看到并按tab键，然后按此
为我们所有人生成这段代码
现在让我们传递数据对象
请注意，我没有包围
此变量带有双引号，因为
这是一个字符串，如果运行
我们现在将在终端上看到的程序
你去
我们不想要这个，你想要的价值
我们的数据对象不是标签，所以让我们
删除引号我运行程序
再次，这是我的当前日期
我的机器我学到了一点
关于之间的差异
基本类型和引用类型
知道我们使用原始类型
存储简单的值和参考
用于存储复杂对象的类型，但是
有一个非常重要的区别
在这两种类型之间
内存管理的术语，那就是
我们在此要谈论的是
教程
所以我要声明一个原始的
变量X并将其设置为1，然后
将要声明另一个变量，例如Y
并将其设置为X，因此在此示例中，
有两个不同的变量x和y和
这两个变量是不同的
内存位置，因此它们是完全
换句话说，彼此独立
如果我更改XY的值不
要受到影响，让我向你展示
我要将X更新为2，然后打印Y
好吧，让我们看看
这样运行就可以看到Y不受影响
因为x和y完全相同
彼此独立但是
我们使用参考时间这种行为是
不同
让我们看一下，我要删除
Java中的所有代码都有一个
在此定义的点类
打包awt的Java，所以我们按Enter
现在我们有这个导入语句
最美丽的让我们宣布一个
像点1这样的变量并将其设置为new
点到这里我们可以通过初始
x和y的值，所以我要通过1
和1个智能自动添加
这些标签x和y现在就像
在我宣布另一个之前
可变点2并将其设置为点1
这就是事情变得有趣的地方
Java Runtime环境执行时
第8行首先要分配一些
存储该点对象的内存
看看那个内存的地址
位置是100，那么它将
分配内存的单独部分
并将这个标签附加到
该内存位置点1
内存位置，它将存储
我们的点对象的地址，所以这是
两者之间的关键区别
当我们使用原始类型和引用类型时
声明一个像字节这样的原始变量
我们分配给那个的值
变量将存储在该内存中
位置，但是当我们使用参考
像这样的点类输入我们的变量
要握住斧头
内存中该点对象的
实际的指针对象现在看第9行
在这里，我们复制了我们的价值
在这个变量中
变量，以便您学习的价值是
不是点对象是地址或
对点对象的引用
记忆，这就是为什么我们提到这些
磁贴作为参考类型，因为它们
不要存储他们存储的实际值
对某处某对象的引用
内存，所以在此示例中，指向第一点
第二点是指确切的
内存中的同一点对象
一个点对象，所以这两个变量
彼此不独立
他们指的是同一个对象
这意味着如果我更新此点对象
通过这些变量之一
更改将对其他人可见
变量，我要告诉你，所以使用
我们要去的第一个可变点
更新x的值，所以我们使用点
操作员，在这里我们可以看到成员
X在Y上的这个对象的两个字段
是存在于其中的变量
一堂课，所以我们说X就像普通的
假设变量值不同
现在两个，因为第一点和第二点
引用完全相同的对象，如果
我们打印第二点，我们将看到
我们刚刚进行的更改
看一下，让S或ut标签打印
指向您要运行的程序
所以变化是可见的，所以请记住
此引用类型由
引用，而原始类型是
根据它们的值和这些值复制
彼此完全独立
在本教程中，我们将研究
Java课程中的字符串如此之早
我们将问候世界消息打印在
结束这个你好词
这是一个字符串或更准确地说是
字符串文字
这意味着现在有一个字符串值
从这里提取并存储在
字符串变量在此之前被剪切
我们输入字符串的行现在看这个字符串
类是用Java定义的Lang
包有趣的是，我们
没有要导入的导入声明
这个包或导入这个类
因为这个包是自动的
导入的，所以我们可以使用任何
现在在这个包中定义了
声明一个名为message的变量并
因为这是参考类型
应该使用
新的运算符，所以Neal string和这里
在括号中，我们键入消息你好
世界不过在这里我们有这个小
警告看看新的字符串是
冗余，因为在Java中有一个
初始化字符串的更短方法
变量让我向您展示而不是
使用新的运算符，我们只需设置
现在到我们的字符串文字上
表面看起来像原始类型
因为我们没有使用新的
运算符，但这只是
初始化一个字符串变量，字符串是
Java中引用类型，但是因为我们
经常使用它们有一个简短的方法
创建他们
现在让我们将消息传递给印刷品
行方法并运行我们的程序
与以前完全相同的结果
现在让我们看几个
您可以做的有趣的事情
我们可以连接或连接的字符串
使用加号与另一个字符串
运算符，所以我们可以在这里结合
与另一个带有两个感叹号的字符串
标记，这是现在的结果，因为
字符串是一个类，它具有我们
可以使用点运算符访问，所以我们
可以键入消息点，这些都是
方法或功能
在字符串类中找到例如我们
具有此方法的此处以和结尾
我们可以检查一下我们的字符串
以一个字符或序列结尾
例如字符，我们可以通过
他们的字符串，看看我们的消息是否结束
有两个感叹号
现在而不是打印消息
让我们在这里打印此表达式
让我们运行正确的程序
我们在这里调用的这种方法
返回一个布尔值，可以是
对或错，我们也有另一个
方法首先让我们看一下
在这种情况下，我们会得到错误的信息，因为
消息不以两个开头
感叹号是另一种有用的方法
是长度，所以我们可以调用它来获得
字符串的长度，即数字
字符，因此消息点长度需要
看看
所以在这个字符串中我们有13个字符
这在以下情况下很有用
您要检查的长度
由用户输入，例如，您可能
使用用户名注册表格
您可以检查字段的长度
某人的用户名，然后给他们一个
如果用户名长度超过
假设20个字符非常有用，
也有另一种方法是索引
的，这将返回的索引
首次出现的字符或
例如，我们在此处传递的字符串
您传递H时H的索引为0，所以让我们
运行程序，您可以得到0，如果
您通过e我们得到1因为索引为
此消息中的第一个II现在是1
如果您传递字符或字符串怎么办
该消息中不存在的
说斯凯，我们得到负1所以
我们可以检查字符串的方法
包含某些字符或单词或
句子等另一个有用的
方法是替换，并且我们可以
用一个或多个字符替换
例如，我们可以
将任何感叹号替换为
假设一家商店，所以这取代了金属
有两个参数，一个是目标
另一个是替代品，我们在这里
为这些参数传递两个值
这是第一个值是
第二个值，我们将这些分开
现在在编程中使用逗号的值
我们将这个值称为
很多程序员都没有争论
知道参数之间的区别
和参数参数是漏洞
我们在方法参数中定义的
是我们传递给的实际值
这些方法，所以在这种情况下，目标是
替换或参数，但
感叹号和星号是
现在，让我们运行该程序，
看看会发生什么，所以我们的解释
现在用星号代替了标记
这里重要的是这种方法
不会修改我们的原始字符串
返回一个新的字符串，所以如果我们打印我们的
SRU T选项卡后的原始字符串
消息，您可以看到原始字符串
不会更改，因为在Java字符串中
是一成不变的
我们不能变异他们我们不能改变
他们，所以任何修改字符串的方法
总是返回一个新的字符串对象
好吧，我们还有另一种有用的方法
小写
让我们来看看
所以小写转换所有字符
小写，再次可以看到
原始字符串不受影响
因为此方法返回一个新字符串
好吧，我们还有两个大写字母和
另一个有用的方法是修剪修剪和
这样我们可以摆脱多余的白色
可以在开头的空格或
字符串的结尾，有时我们的用户
在表单字段中键入不必要的空格
所以使用修剪方法可以摆脱
这些空白让我告诉你
我要在前面加上几个空格
现在我们的消息后，当我们修剪
这些空白会得到
删除看看，这是
原始的字符串，你可以看到两个白色
开头有空格，这是我们的
修剪后的线，所以这些是一些
字符串类中的有用方法，但是
这种玻璃比我们有更多的方法
没时间讲课
但是当我们完成这门课程时，
要了解有关字符串类的更多信息
和Java中其他有用的类
时间将包含特殊字符
我们的字符串，例如制表符或换行符，或
反斜杠或双引号，所以在此
教程，我将向您展示如何
将这些特殊字符包括在您的
字符串，所以这里有字符串hello
沼泽说我们要包围
沼泽用双引号现在是
问题，如果我们在此处添加双引号
Java编译器认为这是
终止我们的字符串，所以它不会
站在那之后我们拥有的就是这就是为什么我们
有一个编译错误的修复
问题，我们需要给这个双前缀
带反斜杠的代码
所以使用这个反斜杠我们逃脱了
现在双引号再来一次
现在在这里添加反斜杠双代码
运行程序，看看我们得到了什么
我们用双引号打招呼马什
美丽，所以双引号是其中之一
您需要的那些特殊字符
要知道另一个特殊字符
是反斜杠，假设我们要存储
传递到Windows上的目录
机器，看起来像这样的C
驾驶
Windows现在使用反斜杠
如果您想将其存储在字符串中，我们
需要逃避每个反斜杠让我
向您展示C驱动器反斜杠现在我们
有一个问题
Java编译器认为我们正在逃避
在这里加倍代码，因此它认为我们的字符串
没有被另一个双终止
代码，但这不是我们想要的
想在这里添加反斜杠，所以我们需要
在我们的反斜杠前加上另一个
现在使用反斜杠再输入一次Windows
时间让我们运行程序
即使我们有两个反斜线
我们的代码中实际上看到一个反斜杠
在其他逃生终端窗口中
序列反斜杠N，我们用它来
在我们的字符串中添加新行，让我们
将其更改为反斜杠N并运行
程序看看现在发生了什么
字符串被分解成多个
第一行是C驱动器
那么我们有了Windows，无论我们在哪里
反斜杠n Java将插入一个新
行，我们也可以在我们的标签中添加一个标签
弦
因此，如果您在此处添加反斜杠T
将是一个标签，表示C盘和
Windows让我们看一下C盘
这里我们有一个标签，然后是窗户
在Java中，我们还有更多转义
序列，但说实话，它们是
很少使用，所以请记住这四个
我们在此涵盖的转义序列
教程
在本教程中，我们将讨论
关于Java中的数组，我们使用数组来
存储项目列表，例如
数字或人员列表或列表
消息让我告诉你，所以我们在这里
您要转换的整数变量
这是一个整数数组，所以之后
诠释我们添加方括号，现在我们有一个
编译错误，因为我们正在存储
该数组中的单个数字以便修复
我们需要删除一个，因为
数组是我们需要的引用类型
在这里使用新运算符，然后我们重复
再输入一次，在这里输入
在方括号中，我们指定大小
或这个数组的长度是多少
我们想要包含在其中的项目
阵列说五个也应该
将此变量的名称从
第二个数字，因为我们正在处理
带有物品清单，所以请务必付款
注意变量名
现在您可以访问
这个数组使用索引，所以我们输入
数字方括号引用
第一个元素或第一项，我们使用零
现在我们可以将其设置为1
同样，我们可以将第二项设置为
2现在如果我们使用无效索引怎么办
假设10这个数组没有10
项目，让我们看看会发生什么
10人中，我们在运行时对3人说过
程序我们得到一个异常
是Java报告错误的方式，所以在
在这种情况下引发了异常，
我们的程序崩溃了，我们将讨论
课程稍后将详细介绍例外情况
现在让我们删除最后一行
treinta对不起
所以标签号让我们看看我们
得到
我们在某种程度上得到了这个奇怪的字符串
这是我们数组中的项目的原因
默认情况下，当我们打印数组Java时
返回计算的字符串
根据该对象的地址
内存，所以如果你有另一个数组和
我们打印出我们将会看到一些东西
不同，因为每个对象都会
现在处于不同的存储空间中
我们如何才能看到其中的实际项目
数组好，我们在Java中有一个类
叫数组让我告诉你
数组，因此此类在Java中定义
该实用程序包让我们现在按ENTER
这是最重要的
所以我们可以使用点运算符来访问
这个班的成员在这里
如您所见，该方法现在调用了两个字符串
该方法实现了多个
在第一个实现中是次
此方法在
第二个实现需要一个
整数数组，以此类推
基本类型以及引用
类型实现此方法
多次，这就是我们所说的
方法重载现在我们可以称之为
方法并传递我们的整数数组和
这将返回字符串
这个数组的表示，所以我们可以
从这里砍下来，传递给我们
这样的打印方法现在让我们运行
再编程一次，这是我们的
数组很漂亮所以前两个项目
被初始化，其他被设置为0
默认情况下，因为我们在这里处理
如果你有一个整数数组
布尔数组所有项目为什么默认获取
如果您有一个初始化为false
字符串数组所有项目均已初始化
到一个空字符串
好的，现在使用此语法创建和
初始化数组有点
乏味，这是一个较旧的语法
是一种更新数组的新方法，如果
我们像这样提前知道项目
这种情况下，我将删除这些
两行我也要删除新的
运算符在这里我们使用花括号和
在这些大括号内，我们添加所有项目
在这个数组中，现在说2 3 5 1＆4
我们有5个项目，所以这个长度
数组将是5我们可以读到
使用长度
因此，如果我们输入数字点，请看这里
充满了看看它的图标
F，所以这是一个像
类中的变量及其类型
栏位是整数，因此会传回
这个数组中的项目数
并使用我们的打印方法进行打印
像这样看一下，所以我们现在得到五个
在Java数组中具有固定大小，因此一次
我们创建它们我们无法添加或删除
他们还有其他物品
如果您希望能够固定长度
从中添加或删除其他项目
数组，您应该使用
我们将要讨论的集合类
在课程稍后，我想要的
您要记住的是，数组有一个
固定长度现在我们的数组是
这些数字没有排序
我们可以轻松排序的随机顺序
该数组使用
数组类让我告诉你，所以我
将删除此行并调用数组
点再次排序，您可以看到此
方法被重载，因为
用不同的参数实现
类型，所以我们调用此方法并传递
我们的数字数组
现在，当我们运行该程序时，我们可以看到
我们的数组很漂亮
是的，我了解到我们使用数组
在Java中存储对象列表
也可以创建多维数组
例如我们可以创建一个
二维数组存储矩阵
或者我们可以创建一个三维
数组来存储多维数据集的数据是
在科学计算中有用的让我
告诉你，所以在这里我们有一个
尺寸数组将其转换为
我们需要添加二维数组
另一对方括号现在我们
出现编译错误，因为我们需要
在另一个上重复这些括号
因此，假设我们要创建一个2
3矩阵，所以2行3列
在此处添加其他括号并进行更改
这些长度分别为2和3，所以现在我们有了
现在可以访问2行3列
我们需要此数组中的单个项目
首先提供两个指标
该行，所以我们可以转到第一行
然后第一列并初始化
现在设为1
所以您再次点击我们使用我们的
数组将点数组传递给字符串并将其传递给
宾语
再看一次，我们变得很奇怪
字符串，因为这里我们要处理一个
多维数组来解决这个问题
问题，我们需要在
此类称为“深入使用字符串”
用于打印多维
数组看看现在我们有了这个
有两行的矩阵
行我们有三列，我们也可以
创建一个三维数组
要做的是添加另一对
括号并指定其长度
尺寸现在很容易
花括号语法让我告诉你
让我们将其恢复为两个
维数组，我们要摆脱
新运算符并使用花括号
现在让我们说在这个矩阵中
有两行三列，所以每个
行本身就是一个数组，因为它是一个
正确的项目清单
所以我们在这里添加另一个数组，假设1
2 3然后用逗号添加第二行
这是我们这行中的另一个数组
要有3个数字4 5＆6
现在我们删除不需要的行
它不再打印这个数组了
这是您学到的最终结果
你了解到很多关于变量的知识
声明它们，我们需要初始化
他们，我们可以随时更改他们
终生有价值
我们的程序，但是有时
我们不想要a的价值
例如要更改的变量
声明一个名为pi的变量并进行设置
到3.14现在我们需要在其中添加F
将其表示为浮点数，因为
默认的Java编译器看到此数字
作为小数点好吧，现在您知道我们
使用pi计算圆的面积
如果在我们计算面积之前
我来一个圆圈，输入pi等于
1那么我们所有的计算都将
搞砸了，我们不想这样
碰巧是当我们使用常量时
如果我们在此处键入final，Java编译器将
将此视为常量，因此一旦我们
初始化这个我们不能改变它
以后的价值，您可以在这里看到
编译错误，提示不能
为最终变量pi赋值
pi现在是最终变量或常量
按照惯例，我们使用所有大写字母
命名常量，所以应该是PI
现在很漂亮，我告诉你
我早期课程之一中的故事
创建于多年前的c-sharp
我在那里使用初学者的基础
同样的例子来讲授概念
常数，但我将此词发音为P
而不是Pi，不管您相信与否
这天人们取笑我
说P而不是Pi，但这就是我们的方式
在伊朗学到了这个，我们发音
作为P，我认为希腊人也
说P，但无论如何我只是想分享
这个视频改变了你的心情
用常量完成接下来，我们要
谈论算术
表达
在本教程中，我们将讨论
关于Java中的算术表达式
在Java中，我们有相同的算法
我们有数学运算符
加减法乘法
除法和模数是
除法的其余部分让我们看一下
几个例子，所以我要声明一个
整数，称为result，在这里我们可以
现在我们在打印结果时输入10加3
这将是13个非常简单的
你去那里，所以这也是我们
有减法乘法除法
是一个有趣的让我们看一看
所以这里的结果是一个整数
因为在Java中，二的除法
整数就是整数
想在这里得到一个浮点数
您需要将这些数字转换为
浮动或双重让我告诉你
所以我们给这个数字加上前缀
括号和我们键入的括号
现在我们要转换或转换一倍
这个数字是我们的两倍
应该在这里做，现在我们有一个
编译错误，因为在左侧
边我们声明了一个整数，但是在这里
此表达式的结果是双精度
顺便说一句，表达很重要
产生价值的代码，所以我们
这里有一个表达，因为它
产生一个值，以便解决此问题
我们需要将其更改为现在的两倍
当我们运行该程序时，我们得到了
浮点数很漂亮所以这些
是算术运算符，这些
我们在这里拥有的号码称为
操作数我们也有增量和
减量运算符让我告诉你
我要声明一个新变量int X
我们现在将其设置为1
将x的值增加1，我们使用
增量运算符现在让我们打印
在终端上，我们到那里去2
我们可以将此运算符用作后缀
或作为前缀，我们得到相同的结果
结果
也看一下，如果我们使用这个
在作业的右侧
运算符我们得到不同的结果让我
给你看，所以我要宣布另一个
变量Y我们将其设置为X加
这种情况是因为我们已经应用了
首先将增量运算符作为后缀
x的值将被复制到Y，所以Y
将为1，然后X将为
加1，所以如果您打印x和y
x将是2，Y将是1
看起来X等于2，Y等于1
但是，如果您将此应用为前缀
第一个X将增加1，所以它
将为2，然后将其复制到
是的，在这种情况下
X＆Y来看看，我们得到两个
现在有两个，如果你想
X递增不止一个
两种方法有两种方法
我们删除不需要的Y
它可以写成x等于x加
2，所以我们首先将2加到X，结果将是
是三，然后三将被复制
进入X的另一种方式是使用
增补或复合分配
运算符，所以我们可以写X加等于
我们在第八行有两个
与我们所拥有的完全相同
就像你看到的第七行
较短，所以这是一种更好的书写方式
现在相同的代码是其中之一
我们拥有增强的赋值运算符
增强的赋值运算符
其他算术运算符，所以我们可以
类型X减去2等于
将x的值减2，我们也有
乘法和除法这些是
增补或复合分配
运营商现在我有一个问题
为您在这里，我们已经宣布了
变量X变为10加3乘以2
您认为这是什么结果
表达式的结果是16让我们运行
这个程序，找出来，在那里运行
你走了，我们有16个，但是为什么这是一个
非常基本的数学概念
不幸的是很多人不知道
数学上的乘法和除法
运算符具有更高的优先级，因此他们
在此示例中首先被应用
表达式3乘以2
结果是6然后将6加到
10就是为什么我们现在要16
更改这些运算符的顺序
你总是可以用括号
例如，如果您希望此表达式
首先被评估，我们将其包装
现在是这样的括号Java
编译器将首先对此进行评估
表达式的结果将是13并且
然后13乘以2，我们得到26
看一看
你去那里，所以要知道顺序
这些操作括号总是
最高优先级
乘法和除法，最后
我们在这有加法和减法
我们将要讨论的教程
转换和类型转换，所以我要
声明一个简短的变量调用X并设置
到1，然后我要声明一个
称为Y的整数并将其设置为X加2
在此示例中，我们为
一个整数，您认为结果如何
会好起来的，让我们看一下
所以让我们打印Y我们得到3即
你在期待什么，但让我
解释幕后发生的事情
要执行此表达式，因为
我们正在处理两种不同的类型
的价值观之一是短期，另一是
这些值的整数之一应该是
转换为其他类型，因此它们是
等于现在我有一个问题要问你
总之我们有很多字节
变量，我们有2个字节，多少个字节
我们有整数4个字节吗
我们存储在短变量中的值
也可以存储为整数
可变的权利，所以当这块
代码将要执行，这是
首先Java会发生什么
这个变量的值是1对
这将分配另一个变量
某处的匿名变量
记忆，我们不知道那是哪里
不知道该变量的名称
没有名字是匿名的
变量是整数然后
Java将复制x的值到
该内存空间，然后它将添加
这两个数字加在一起就是
我们称其为隐式转换
这里隐式转换意味着
自动铸造或自动
转换，我们不必担心
每当我们有一个价值，那
值可以转换为数据类型
那是更大的铸造或转换
隐式或自动发生
字节可以自动转换为
简短，可以将其转换为int
好久不见
现在浮点数呢
我们来看一个例子
将此更改为双点一
现在这里我们有一个编译错误
因为在右侧
赋值运算符，我们有一个
浮点数在
左侧，我们有一个整数，所以我们需要
现在我们将其更改为两倍
执行此代码，我们将获得3.1
让我们验证一下，现在开始吧
看看这是如何铸造的
情况下，我们正在处理一个双和一个
整数整数不如
一双，因为在双中我们可以拥有
小数点后的位数
这个示例Java将
自动将此整数转换为
加倍，所以将是两点零
然后将两点零加到
一分一个好，所以回到这条链
在这里，我们要漂浮，然后
一般而言，加倍
无论何时，隐式转换都会发生
不会丢失数据没有机会
对于数据丢失，现在如果您要Y
是一个整数，所以在这个例子中我们
不在乎数字后的数字
您想看到三位小数点
终端我们应该怎么做
是我们应该显式投射
结果，所以我们应该将X转换为整数
像这样括号int这是
显式转换，我们将X转换为
整数，因此结果将为1
没有小数点的将是
加到2，Y将是三个
看那里你去，所以这就是全部
现在隐式和显式强制转换
显式转换只能在
兼容的类型，所以所有这些类型都是
兼容，因为它们都是数字
但是我们不能将字符串转换为数字
换句话说，如果X是一个像
假设1
我们不能将鸡蛋铸成整数
因为它们不兼容，如何
我们这样做吗
对于所有这些原始类型，
学会了包装类，所以
在Java中，我们有一个类
引用类型称为整数的此类
是在Java中定义的Lang包和
在此类中，我们有一个方法
解析int，因此此方法需要一个字符串
并返回一个整数，所以整数是
int基本类型的包装器类
我们也有空缺，在这堂课中
解析短，所以需要一个字符串
并返回类似的简短内容
浮动并加倍，显然是名字
这些元数据是不同的，所以在这里我们
解析浮点数，所以回到这个例子
假设我们得到X作为字符串，我们
想要将其转换为整数，这是
我们如何做到的
整数点解析int我们在这里传递X
然后添加它看看，我们得到3
您可能很好奇为什么这很重要
我们为什么要解析或转换字符串
到一个数字以将其添加到其他东西
在大多数框架中，
建立用户界面，无论您是
建立台式机或手机
应用程序或Web应用程序，我们总是
接收用户输入的字符串
因此，如果您的表单中有一堆
文本框或下拉列表几乎
我们总是以字符串形式获取值，因此
这就是为什么我们需要转换这些
以数字表示的字符串
好吧，如果X是浮点数怎么办
编号这里，当我们尝试时会发生什么
解析为整数
让我们再来看一次
Java报告的异常
我们要去的程序错误
详细讨论异常
未来
因此，如果用户输入一个点，我们
不能使用这种方法，我们应该
使用float或double假设double
因为这样更容易进行双重解析
加倍，因此我们将此数字解析为
双重添加两个，然后存储
结果
加倍，然后我们将得到3.1
美丽的下，我们要看看
数学课，用于执行数学
本教程中的操作
看一下表演的数学课
数学运算，因此在Java中
拥有在
Java语言包，所以它总是
那里我们不需要显式导入
现在该类有很多有用的
方法我要展示的第一种方法
您是全面的方法，有了这个，我们
可以将浮点数舍入为
您可以看到这个数字
方法已重载，这意味着
在第一个实施两次
实现需要一个浮动
返回一个int和第二个
实施需要花一倍的时间
返回一个日志，所以让我们通过1.1作为
浮动到此方法并存储
结果是这样的整数现在我们
打印结果，我们得到一个
美丽的另一个有用的方法是密封
或密封返回最小
大于或等于的整数
这个数字，所以1.1的上限是2
现在这里我们有一个编译错误
因为此方法返回一个double但
我们将结果存储在整数中
所以在这里我们需要显式转换
到一个整数，现在您可以看到
这个数字的上限是2
另一个有用的方法是地板
底数是最大的
小于或等于此整数
在这种情况下，数字将是1
让我们看看那里，你去另一个
有用的方法是max，它返回
两个值中较大的一个
此方法已重载，因此在
第一个实现，我们得到两个整数
我们有很长一段时间的其他实现
浮动并加倍，让我们通过两个
这里的整数一和二将
返回较大的数字2
那里你去与此类似，我们有分钟
在其中非常简单
有用的方法是随机的
产生介于0和之间的随机值
1再次出现编译错误
因为此方法返回一个double所以
让我们将其更改为现在每个
当我们运行该程序时，我们得到一个
不同的数字，这个数字是一个
现在浮点数介于0到1之间
如果您想要0到之间的数字怎么办
假设100而不是0到1
只需乘以100看一下
因此，每次运行此命令，我们都会得到一个
现在，如果0到100之间的数字不同
我们不希望这些数字在
小数点我们可以四舍五入
数字或将其转换为整数让我
告诉你，我们可以这样算数学
并传递这个表达式的结果
所以我要删掉这个加括号
调用round方法，然后粘贴
该表达式现在让我们运行此代码
所以每次我们翻倍时，我们仍然
这里有分数，所以我们可以改变
类型为INT现在我们有一个
由于本轮编译错误
方法返回很长的时间，但是这里
声明一个整数，这是其中之一
隐式强制转换不能的情况
之所以发生，是因为我们拥有的价值是
用8个字节的内存表示，您
想要将其存储在一个变量中
只有4个字节的内存，所以隐式
投放无效，但我们可以使用
明确的转换，因为我们知道
此表达式的结果是一个数字
在0到100之间，因此我们可以肯定
将其存储在整数中，所以我们添加int
现在在这里让我们在这里再次运行
现在去，如果我们不使用回合
方法，让我们看看会发生什么
我要去掉回合的电话
方法，简单地我应用这个转换
在这里，让我们看看我们现在得到了什么
每次我们运行这个程序，我们得到0
你知道为什么吗，因为我们在这里
将此转换应用于...的结果
此方法调用不完整
每次您前面看到的表情
我们称它为随机方法
0之间的数字
因此，当我们将该数字转换为一个
整数，我们将失去分数
总是得到零和零乘以100是
零来解决这个问题，我们需要
将整个表达式包装在
括号，因此我们在括号周围加上
这个，现在让我运行这个，我们得到一个
0到100之间的整数
当我们处理数字时，我们需要
将其格式化为货币值
例如我们可能会有一个像这样的数字
想象这是产品的价格
显示给想要的用户
在此处添加美元符号并分开
每三位数带逗号，如果
您可能有一个像0.1这样的数字，我们
想要用百分比表示
值，而不是0.1，您想要
显示10％，所以在本教程中
将向您展示如何格式化数字
Java，我们有这个类编号格式
在Java中定义的文本包
在这个包中，我们有很多类
用于处理文本日期数字等
在这里，让我们按ENTER
重要的是现在最美丽的我
想声明一个变量，所以让我们给
这个变量现在是名称货币
需要实例化这个新数字
格式，但是我们得到了一个汇编
这里的错误让我们看一下数字
格式是抽象的，不能是
实例化，所以在Java中我们有这个
抽象类的概念
类是抽象的，它们是
基本上就像半烤蛋糕
无法使用new运算符来创建
他们的实例，我们要谈谈
关于抽象类及其原因
在课程的后期存在
请记住，我们无法创建
数字格式类的实例
因为它是抽象的，所以有
让我告诉你这堂课
有很多方法以
得到，所以我们得到了货币实例，并且
当我们调用此方法时，这将
创建数字格式的实例
类并返回它，而不是使用
新的操作员，我们将使用这个
这就是我们所说的方法
工厂方法，因为它就像
它创造新的工厂
现在，对象将查看的返回类型
这个方法是数字格式的对象
好吧，我们现在调用此方法
返回值并将其存储在
类型数字格式的变量称为
货币还可以，我可以说是缩放不当
出去，所以你可以在那里看到所有代码
你走在右边
赋值运算符我们称为
获取货币实例方法，我们得到
结果是来自对象的数字
并将其存储在此变量中
我要放大以便您可以看到清晰的
名称
好吧，现在这个对象更好
有一种格式化值的方法
再次，您可以看到此方法是
超载，我们有多个
实现，我们可以给它一个长
双打之类的，所以我要打电话给我
此方法并传递一个值
二三四五六七点
八九一，所以我们有三位数
小数点后和其他一些数字
现在，此方法将返回一个
此数字的字符串表示形式
格式化为货币，让我们开始
并将其存储在字符串变量中
像结果一样，然后我们将打印
在终端上查看结果
所以我们每三个美元符号
数字之间用逗号分隔，
我们后面只有两位数字
小数点，所以这个类非常
方便将数字格式化为
货币，我们还有另一种方法
将数字格式化为百分比，然后
那是现在获取百分比实例
它返回数字的一个实例
专门用于格式化的格式类
数字作为一个百分比，所以我们需要
将此变量从Currency重命名为
现在我们不想手动
改变这个，因为有多个
另一个引用此变量
参考没有更新，所以让我展示
您重命名对象的正确方法
如果您右键单击此处，您可以
看到这个重构菜单，这里我们有
现在重命名看看这个快捷方式在
不幸的是，这不是
在我的录制窗口中可见但在
Mac是Shift + F
我总是使用捷径，因为它们
更快，让我们现在按shift和f6
我们得到这个红色框，下面是我们
可以看到一些更好的建议
名称，我们可以选择其中之一或选择
我们自己的名字，我要改成
百分比，请注意，在我输入此内容时
其他参考资料已更新
自动，所以这非常有帮助
现在让我们按Enter
好的，我们已经完成了重命名，现在让我们
在这里传递一个不同的值，所以说
我们有一个像0.1这样的数字
将其格式化为百分比，让我们运行
程序去那里你得到10％
现在很漂亮，让我告诉你一个酷
该程序中的技术，我们不
确实需要这个百分比对象，因为
我们已经在一个地方使用了它
将其作为
如果您有多个变量
引用它，所以我们在这里可以做什么
我们可以完全摆脱这个对象
所以我们删除这段代码
基本上调用这种方法
您知道的数字格式类
方法返回数字格式对象，因此
在调用此方法之后
在分号之前，我们可以使用点
操作员访问方法或
数字格式对象的成员，因此
在这里，我们称其为format方法
离开并传递我们的价值，这就是我们
调用方法链接我们正在链接
多种方法在一起，所以这是一种
方法，这是另一种方法
这将返回一个字符串，以便我们可以存储它
在这个结果变量中，让我切下这个
从这里表达出来并放在上面
现在在这里，我有双分号
要删除其中之一
好吧，在本教程中，我很漂亮
将向您展示如何读取输入
Java用户，我们有这个扫描仪
Java中定义的类没有使用
包，让我们导入它并创建一个
扫描仪对象，所以现在这里有新的扫描仪
在此括号内，我们需要
指定我们将从何处读取数据
我们将从终端读取它
我们要从文件中读取窗口吗
或如何使用终端窗口
我们在其中输入系统点是
系统类中的字段填充为我
之前告诉你就像一个变量
我们在一个类中定义，所以我们有系统
在我们里面也有系统
我们曾经在
终端现在使用系统
插入并终止此语句
分号，现在这个对象有一堆
读取数据的方法以及所有这些
方法从下一个开始，所以我们有下一个
个字节，读取下一个字节
读一行的行
布尔值，用于结束布尔值，依此类推
所以我们调用下一个字节方法
看看我们得到了什么
这将返回一个字节值，因此我们可以
将其存储在字节变量中
某人的年龄，然后我们将其打印在
终端说你加h所以在这里
我们正在将一个字符串与一个字节连接
在这种情况下，我们将拥有
隐式转换或隐式类型
转换，因此Java会自动
在这里将这个字节变量转换为纸盒
字符串，以便可以将它们添加在一起
好吧，现在让我们运行该程序，看看
终端在这里发生了什么
窗口，我们可以输入20 Enter，它说
你的20个很漂亮，但这很漂亮
让我们在这里添加标签并询问
用户输入一些东西
在读取数据之前，我们将称为
打印线方法并说年龄：现在
让我们运行程序，以便我们得到这个
在这里标记，但是无论我们键入什么
出现在下一行这是因为
打印线方法添加了一个新的
此标签后的行苏联问题
回想一下打印方法，现在让我们运行
该程序再一次我们得到这个
弹出框，因为我们的程序没有
完成执行，所以我们需要告诉
您要停止并重新运行的IntelliJ
这个程序现在就不管我们
类型显示在此内容的前面
标签美丽ENTER，我们现在20岁了
如果我们输入一个浮点数，例如
20点1我们得到一个例外，因为
此方法只能解析白色值
如果你想得到一个浮点数
我们需要呼叫下一个浮动号码
下一个两倍如果您想阅读我们的内容，该怎么办
我们没有下一个字符串
下一行，让我们看一下
差异，所以我先打电话给
接下来的方法是
编译问题，因为此方法
返回一个字符串，我要改变这个
到一个字符串，让我折叠这个
更好
我们还应该重命名此变量，以便
现在快捷键Shift + f6是什么
让我们训练一个名字输入漂亮
最后一次，我们也应该更新
标签名称运行程序，所以我
要在这里输入我的名字沼泽说
让您的Amash更加漂亮
这次我要输入我的时间
全名马哈·马达尼（Maha Madani），但我们没有得到
姓氏是这些的原因
我们在这里进行的战争被称为
每次调用下一个令牌
它读取一个令牌的方法，所以在这里我们
有一个空间，我们有两个令牌，我们
需要两次调用下一个方法
第一次获得全名
称之为第二次返回沼泽
我们称其为Hamid ani，然后我们
需要将这套西装结合在一起
是不理想的，所以当我们使用
使用此方法的下一行方法
用户输入的反行
不管有多少空格或制表符
看一下沼泽
逗号Donny，我们现在获得全名
如果我在前面输入几个空格怎么办
名字让我们看看会发生什么
这些空间也会出现在这里
这看起来有点奇怪，这是
我们使用修剪方法的地方请记住
修剪，我们可以摆脱所有这些白色
字符串之前或之后的空格，因此
下一行方法返回一个字符串
我们存储在这个变量中
现在就将结果存储在
这个变量在这里我们可以使用点
操作员访问此成员
字符串对象，所以我们调用trim方法
然后将结果存储在
变量再次我们链接
这里有多种方法让我们运行
程序，所以一些空间马哈拉尼和你
得到这个美丽的输出
现在是我想要的项目的时候了
你用你在中学到的东西
部分并建立抵押计算器
这样，当您运行此程序时
我们首先得到一些问题
问题是本金还是金额
我们想要获得的贷款数量
$ 100,000第二个问题是
年利率让我们说三
点九，百分之二，第三
问题是几年的期限
你想借三十年
所以这个程序计算我们的每月
付款并将其显示为货币
这是一个很棒的练习
练习所学的所有材料
现在开始本节
我想给你一些提示，这里是
计算抵押的公式或
我在此页面上找到的每月付款
在Wiki上如何称为comm
抵押付款，让我们看看这是如何
工程抵押等于P或本金，或
我们要贷款的数量成倍增加
用R表示，这是我们的每月利率
这很重要，所以这个数字
我们到达这里是我们的年度利益
率，我们也需要将其除以12
考虑到这个数字是
表示为要计算的百分比
您需要的实际利率
用这个数字除以100
利率为零的例子
零三九二所以无论用户
输入除以100，然后除
十二点就可以达到每月的利息
现在，我们有这个每月的利息
率，我们需要乘以这个
在这里的表达式，我们需要添加1
利率并提高到权力
的n，其中n是付款次数
所以我们需要将此数字乘以12
或12个月来计算
现在付款以将此数字提高到
n的幂，您需要使用幂
数学课的方法，所以这个数学
班级拥有这种力量或力量方法
需要两个参数或两个值
和B，所以花10来
在这个练习上十五分钟时
你做完了回来看看我的解决方案
好吧，让我们看看我在这里做了什么
顺便说一句，不用担心你的外套
与我的不同
我们都有不同的想法和外衣
如果您的代码是
不同
看看我的外套，看看我做了什么
在这里，看看是否有办法
改善你的外套
没关系，所以在我们这里
首先，我声明了两个
最终变量或常数
第一个是一年中的几个月
我设置为12，第二个是
我设置为100的百分比的原因
我宣布这个常数是
不想有魔术数字
这样的代码在这里我们
计算我们得到的每月利息
年利息除以百分比
然后几个月在这里的代码是
非常不言自明的其他人
阅读这段代码，我们不会有任何问题
了解这里发生了什么
对比一下，如果您在这里有一个幻数
像除以12然后不管
别人读这段代码会
想知道这是做什么的
对你来说12很明显
是一年中的月数，但
相信我有时别人不能
马上看到这是最好的
练习避免魔术数字
代码始终使用常量或最终形式
描述它们的变量
所以让我们将其恢复原样
声明这个常数后，我已经
我们在这里创建了这个扫描仪对象
第一个问题
原理，我们将答案作为
整数
我认为整数是一个很好的数据类型
存储原则是因为short是
短短还不够，我们可以存储一个
最高$ 32,000还不够
如果有人想找到我们怎么办
$ 1,000,000所以int是好的，它允许
我们储存的价值高达20亿
接下来我们问第二个问题
利率我们将此视为浮动利率
在这里我可以使用双但兴趣
利率是一个很小的数字，所以浮动是
足以满足我们的需求
加倍，所以我们得到了年度利息，
然后根据此计算
每月的利息也看我如何
将我的变量命名为所有变量
适当的有意义的名字，没有
神奇的词在这里像MI，它的缩写
每月利息
或m1或m2请勿将魔术名称用于
您的变量始终使用有意义的
描述性名称好，接下来我们得到
我们以字节为单位的时间段
因为我们想要的最大数量
支持是30，所以一个字节就足够了
存储数字30或任何东西
现在根据年数变小
我们计算付款单数
我在这里大写的骆驼符号
每个单词的第一个字母，除了
第一个字，所以我们得到了地球的
在这里x个月
再次，代码是非常不言自明的
一旦我们收集了所有这些数据，那么我们
计算抵押贷款，我们得到
本金乘以该表达式
然后将其除以另一个
表情让我们快速浏览一下
现在看起来有点复杂
因此，如果您不下载我的源代码
看下面这个视频我附上了
供您下载，最后我们
计算我们使用数字的抵押
格式化类将此值格式化为
货币，因此我们得到一个结果存储在
这个字符串抵押格式化并打印
现在在这里我们也可以避免
声明这个变量并简单地添加
这种表达在这里，但它决定
这样做以增加可读性
此代码，否则此行将
这么长，但这只是我的个人
您不必遵循此偏好
好吧，这就是我的实现
抵押计算器
但是这个程序有很多
问题第一个问题是输入
验证，因此如果我们运行此命令并输入一个
非数字值，例如XYZ，我们的程序
崩溃或另一个例子，如果我们
在我们的程序中输入一个负值
不会表现正常，所以
条件语句出现在哪里
在下一节中我们将进行营救
说说条件语句
将学习如何使用这些陈述
验证由
用户，使我们走到了尽头
我希望您能学到很多
谢谢你的收看
所以在本节中，您将学到所有
关于您学习的变量和常量
关于您的原始和引用类型
了解原始类型存储简单
值，但引用类型成立
引用复杂对象的原因
我们称它们为参考类型
了解转换和类型转换
您了解两种类型的铸造
隐性和显性你学习如何
使用数字字符串和数组，以及
最终你学会了如何阅读输入
我希望从终端上学到一个
到目前为止，我一直很喜欢这个课程
在下一节中，我们将看
在条件语句中
控制我们程序的流程
下一节再见
[音乐]
嘿，玛西娅，我只是想快点
宣布您去过的这门课程
看着实际上是我的开始
在本课程中，我们将完成Java系列文章
只谈论基础知识，但在我的
完整的系列，我们超越了这一点
如果您对Java认真的话
找一份Java开发人员的工作
强烈鼓励您参加我的
完整的Java系列，正是
相同的结构，相同的质量，但它
有更多内容的途径，您还会获得一个
可以的结业证书
添加到您的简历，所以如果你是
感兴趣，我将链接放在您下方
可以打折获得课程，
如果您出于任何原因不开心，
可以要求在前30天内退款
天，所以我希望能在课程中见到你
在本节中，我们将研究
控制流量或控制流量
执行我们的程序
从谈论比较开始
比较值的运算符，然后
要谈论像这样的逻辑运算符
逻辑与逻辑或与逻辑
我们不使用这些运算符
实施现实世界的规则，然后
我们将要谈论三种不同的
我们控制流语句的类型
要谈论有条件的
在我们的决策中的声明
程序，然后我们将讨论
循环重复执行代码和
最后，我们将重新审视我们的
抵押计算器并添加错误
处理它
因此，如果用户输入的值无效，我们
一直要求他们再试一次
现在让我们开始吧
通过谈论开始本节
关于比较运算符，我们使用这些
运算符比较原始值
例如我们在y上的x等于或不等于
我要声明两个整数x和y
现在让我们比较一下，看看他们是否
相等或不相等
所以首先我要添加此打印行
现在声明以比较这些变量
我们输入x等于y，所以这里有两个
等号，这就是平等
操作员不要将此与
我们用于的单个等号
操作员使用的分配
在这里好，所以两个等号
修理
现在，当我们运行时，等于运算符
这个程序我们实现了，因为这些
值等于这个表达式，我们
这里有一个布尔表达式
所以之前我告诉你
是一段产生价值的代码
这段代码产生一个布尔值
值true或false这就是我们引用的原因
作为布尔表达式，我们也
有不等式运算符，所以当我们
运行该程序，我们将看到错误
让我们看一下我们得到了假，因为
这两个变量相等，所以
表达式X不等于Y返回
假我们也有大于大于
小于或等于小于和小于
或等于所以如果我将Y更改为2
表达式将评估为真
因为X小于或等于Y
看一看你去
接下来我们将讨论逻辑
您学习的上一教程中的运算符
布尔表达式产生一个
布尔值现在有些时候我们
要合并多个布尔值
表情让我告诉你，所以我要走了
声明一个称为温度的整数
并将其设置为22接下来，我们声明一个
布尔变量很温暖，现在我们想
检查温度是否更高
小于20且小于30，所以我们写一个
像这样的温度的布尔表达式
大于20，我们需要使用
最终操作员，所以这两个＆号
代表逻辑和运算符
爪哇
之后，我们添加第二个条件
现在如果温度低于30
这些条件是真实的
这个布尔表达式将是
真正
否则，如果至少其中之一是
错误的结果将是错误的，让我们
看看，我要打印的是温暖的
在终端上
结果是正确的，但是如果您更改
假设温度为12
会是假的，这就是这个
Works Java将评估此表达式
从左到右先看
第一个条件
错误，因为温度不高
大于20，因为这个表达式是
假，我们拥有什么都没关系
在and运算符之后，Java将忽略
其他表达式，因为和
如果两个操作符都将返回true
条件是真的好吧，现在让我们来看
在另一个运算符是
运算符，所以我要删除所有这些
代码并从一个新示例开始
声明布尔值具有我们设定的高收入
这是真的，另一个布尔值也很好
信誉，我们也将其设置为true
假设我们正在构建一个应用程序
对于处理贷款，我们想看看是否
新申请人有资格获得贷款或
不
所以我们声明另一个布尔值是
有资格，顺便看看
我为这些变量使用的名称
它们非常有意义且具有描述性
所以这是申请人的规则
如果他们有高收入或有资格
如果满足以下条件之一，则信誉良好
是的，他们有资格，所以我们写
有高收入的这两个垂直
条代表or运算符，因此如果
他们有高收入或良好信誉
那么他们就符合资格
运算符，如果至少一个条件是
在此结果将为真
Java评估此示例
表示从左侧开始
这个布尔变量为true，所以它
Java之后我们拥有什么都没关系
不会评估其余的
表达它只是返回true
但是，如果此变量为false，则Java
会继续评估
希望下一个布尔值的表达式
值或下一个布尔表达式为
是，所以这是or运算符，
最终我们有了not运算符
用来反转一个值让我告诉你
怎么运作的
所以
让我们声明另一个布尔变量
有犯罪记录，我们将其设置为false
这就是我们要执行的规则
为了某人有资格
他们应该要么高
收入或信誉良好，他们应该
没有任何犯罪记录，所以让我们
看看我们如何执行此规则
已经实施了第一部分
应该是高收入或良好
现在，我们要确保他们
没有任何犯罪记录，所以我们
需要结合这个结果
使用此布尔值的表达式
and运算符，因此我们首先将其包装
然后用括号表示
终端运算符，我们在这里添加了
现在要制作犯罪记录
确保他们没有犯罪记录，
这是我们使用not运算符的地方
非运算符将取反值
布尔变量或表达式的
在这种情况下，此变量设置为
错误，因此当我们应用not运算符时
对它的结果将是真实的，所以如果
第一个条件为真，第二个条件为真
条件是真的，那么那个人是
有资格获得新贷款，以便您可以
看到这些逻辑运算符非常
在实施实词规则时很有用
接下来我们要讨论的是
本教程中的声明
查看Java中的if语句if
陈述非常重要
因为它们允许我们构建程序
可以基于某些
条件这是一个例子
文件我们有很多条件，如果
温度可能大于30
您想要显示两条消息给
使用者天气炎热，请多喝
否则，如果水在20至
30您想打印，这是美好的一天，
否则我们要打印很冷
天，让我们看看如何实施
这些规则在Java程序中
我们的主文件首先声明一个
可变温度我们现在将其设置为32
我们使用if语句后跟一个
里面的一对括号
我们键入的括号
表达式或布尔值，因此
假设temp现在大于30
这个条件是正确的
在此if语句之后我们拥有的
被执行，所以让我们打印它很热
一天，我们运行程序，我们得到了
信息，因为温度更高
现在超过30如果要打印
另一个消息，如多喝
水在这里，我们应该添加花括号
定义一个代码块，以便在这种情况下
里面所有的代码都是真的
该块的将被执行，让我们
在此处添加其他消息喝水
好吧，这是我们现在的第一个条件
让我们添加第二个条件
右括号，如果再次输入LS
我们添加括号，并在其中
括号我们输入一个布尔表达式
如果10大于20而小于10
等于或等于30
您要打印其他信息
像现在这样美丽的一天，我还没有
添加了花括号，因为我们有一个
单个语句，所以大括号只是
如果我们有多个语句，则为必填
现在这有点争议
有些人认为我们应该经常添加
大括号我们是否有一个
陈述或其他人不喜欢
我自己相信这会造成不必要的
我在本教程中的代码中出现噪音
首先要添加大括号
删除它们，以便您可以看到
差异，让我们添加一对卷曲
大括号在这里，最后是我们的最后一个
条件，如果这两个都不
条件是真实的，让我打印一个
不同的消息，所以我们在这里键入
LS我们没有其他条件，所以
让我们添加一个代码块并冷打印
现在让我在这里定义一些术语
我们有一个if语句，这个
陈述式包含三个或三个子句
部分是这里的第一个条款
第二条，这是第三条
子句注意如何格式化
这个if语句，所以首先我们有
如果有其他条款
而else子句放在这些之后
右括号，所以我们有某种
在这里，我们有一个父母
接下来是两个孩子，让我们开始吧
摆脱这些不必要的括号和
重新格式化我们的代码以查看差异
所以我要去掉牙套
else子句，这里还有一个时间
现在更好了，我们可以简化一下
布尔表达式基本上我们不
需要这段代码，这里是
第一个条件不是的原因
真的，这意味着什么
温度≤30
所以这里的表达是不必要的
让我们删除它并简化我们的代码
现在最好看一下这段代码
格式化在最上面，如果
否则，如果子句缩进一点
但是else子句没有缩进
与if子句和
这看起来有点丑陋的代码是
不对称，所以如果你想得到
摆脱花括号的一个更好的方法
格式化此代码就像这样，所以
添加else if or else类的过程
花括号后，我们将其添加到新
现在所有这些子句都在
相同级别的代码更易于阅读
本教程我将向您展示一个非常
很酷的技术来简化
语句，所以我们首先声明一个
变量称为收入并将其设置为
现在有120,000个我们可以使用
在这三个数字之间下划线
为了使我们的代码更具可读性，现在让我们
说我们要声明一个布尔值
如果变量称为高收入
收入要超过$ 100,000
将此设置为true否则我们想要
设置为false，这样我们就可以写
这样的if语句if收入是
我们要设定的大于$ 100,000
高收入成真，但是我们得到了
编译错误在这里
我们来看一下声明
允许在这里
所以我们不能在这里声明变量
只能在代码内部声明变量
像这样的代码块在这里
声明这个变量，我们需要添加
花括号定义一个新的代码块
现在我们有一个不同的问题
我们定义的变量是作用域的
到此代码块，因此仅
在这里可用，我们无法访问它
在这个方块之外让我告诉你
如果我们印刷的收入很高，您会看到
我们有一个编译错误不能
解决符号具有高收入，因为
该变量在外部不可用
声明它的块的
为了解决这个问题，我们可以声明
设置此块后，此变量
布尔人的收入很高，那么我们可以
只需在此块中将其设置为true
我们不再需要这些括号了
让我们简化代码，添加一个else
否则我们说收入很高
为假，我们删除此打印方法
我们不再需要它，所以这是一个
实现这种情况的方法，但这
代码看起来很业余
专业程序员不写
这样的代码让我们逐步改进它
改善这一点的第一步是给予
这个布尔变量是一个初始值
例如我们可以将其设置为false
最初，然后我们实施
条件，如果收入大于
$ 100,000，然后将此变量设置为
真的，我们不再需要其他
条款
所以这是一个改进，但这是
在这种情况下仍然不理想
我们可以完全摆脱这种情况，如果
这里的声明让我告诉你
硬编码为false的地方，我们键入
表达收入大于
$ 100,000，所以这里有一个布尔值
表达式，如果此布尔表达式
评估此布尔变量为true
将会是真的，否则将会
是假的，所以这是最简单的
最优雅，最专业
现在实现此方案的一种方法
在完成此操作之前还有更多改进
教程一
个人更喜欢把它包起来
即使在括号中也要表达
从技术上讲，我们不需要括号
在这里，但是这些括号构成了我们的代码
更清晰更易读让我告诉你
所以我要把它包在这些里面
括号现在很明显我们
显然在这个右边
赋值运算符，我们有一个布尔值
在本教程中，我们要表达
看看Java中的三元运算符
我们将继续这个例子
在上一个教程中，我们有这个
收入变量想象这是
现在的收入或客户取决于
他们的收入
你想把这些顾客放在
如果他们的收入是
超过$ 100,000您想放他们
在头等舱，否则我们想
把他们放在经济舱里，所以这是
一种实现方案的方式
声明此字符串变量的类名
注意我们不能叫这个班
因为class是保留关键字，所以
现在我们写第一个班级名称
条件是收入大于
$ 100,000，我们说的是班级名称
否则我们将其设置为经济
在上一个教程中学习时
此代码看起来非常业余
专业程序员不写
这样的代码，所以一种简化的方法
这是为了给这个变量一个初始
值，因此我们假设它们在
经济舱，然后我们检查一下
如果这个条件是真的，我们
把他们放在头等舱
我们可以摆脱这个else子句
现在在上一个教程中更好
向您展示了如何简化
更进一步，但是你学到的技术
换句话说，这里不能使用
我们不能增加大于
$ 100,000，因为这里有一个
布尔表达式，但在左侧
我们已经声明了一个字符串变量，所以我们
想要将此设置为其他字符串
取决于结果
表达式，这就是我们使用
三元运算符，所以我们从我们的
条件，然后我们输入一个问号
如果此条件为真，则添加
值在这里，否则我们添加另一个
值，所以这个问号和冒号是
Java中的三元运算符
首先三件，我们有一个条件
如果此条件为真，则此值
将返回并分配给我们
类命名为变量，否则为this
现在我们可以返回其他值
完全摆脱这个if语句
所以把三元运算符放到你的工具中
框，这对我们很有帮助。
在Java中查看switch语句
本教程，我们将要看
Java中的switch语句我们使用三个
语句执行的不同部分
代码取决于一个值
表达式类似于if
声明让我告诉你，所以说
我们要编写一个程序并检查
当前用户的角色，然后
我们将打印不同的消息或
给他们不同的功能
在他们的行上，所以我们声明一个字符串
变量称为角色，我们在这里设置
现在，请管理员检查角色
用户，我们可以编写一个if语句
像这样，如果角色等于管理员，那么
也许
我们现在要打印您是管理员
您可能想知道为什么我们有这个
这里的情况很明显
条件永远是真的，因为我们有
将卷设置为管理员，但这仅用于
在真实程序中进行演示
不会在这里硬编码这个管理员，所以
我们将阅读当前的角色
来自其他地方的用户
我们不知道那是什么时候
写代码好吧，这里我们有一个
条件
让我们写另一个条件，如果
角色等于主持人，也许我们想
显示不同的消息，以便您成为
主持人，最后，如果角色是
您不想打印这些值
您是客人，所以这是
使用if实现此方案
声明我们也可以实现
使用switch语句，有时
看起来更干净一点让我
告诉你，所以我们从切换开始
语句，然后添加括号和
在此括号内，我们添加了
在这种情况下，我们接下来定义行
一段代码，在这一段我们添加
一个或多个case子句，所以我们有一个
管理员案例，我们在此处添加冒号
现在我们要在这里做什么，如果
角色是您要打印的管理员
管理员，所以我要复制此行
从这里，然后粘贴到这里
现在，在此行之后，我们需要添加一个
break语句可以跳出
开关块好吧，然后我们添加另一个
因此，案例主持人再次
你有一个冒号，我们要在这里
打印此其他消息，以便我们将其粘贴
在这里，然后我们要休息
现在我们可以选择默认
因此，如果这些都不是
案例应用我们编写的代码
本节将被执行，所以在这里我们
想打印您是客人
现在在这里，我们不需要休息
声明，因为我们在
开关块，所以将自动
相反，如果我们跳出这个障碍
没有在这里使用这个break语句
Java将继续执行其他
行在这里，所以如果角色首先是管理员
它将执行此行，然后执行
将跳到这种情况下，它将
执行另一行，然后
它执行这个break语句，它将
跳出这个开关块好吧
这就是我们使用switch语句的方式
现在将此与wave语句进行比较
有些人喜欢使用if语句
其他人则喜欢使用switch语句
现在再完成一件事
本教程中我们正在比较价值
字符串的作用，但我们也可以
使用除long类型以外的整数，因此
如果roll是一个字节短或整数
我们的案例看起来像是这种情况之一
案例二，依此类推，现在我们有一个
编译错误，因为roll是一个
字符串让我们将其更改为整数
我们可以将其初始化为一个
您可以看到甜美的陈述，我们可以
执行不同的代码，具体取决于
表达式的值
现在是时候进行锻炼了
我要给你的这项运动是
热门面试问题，所以我想你
编写行为类似于
如果要在此输入一个数字
这个数字可被五整除
因此，如果您再次运行该程序，
再次输入十，我们现在可以适应
这个数字可被3整除，我们得到
如果此数字可被两个整数整除，则发出嗡嗡声
五个和三个像十五或三十或
不管我们得到嘶嘶声，如果这
数字不能被五或三整除
就像两个，我们得到相同的数字
在终端上，所以继续并花钱
此练习五到十分钟
您接下来会看到我的解决方案
可以先读号码
需要使用扫描仪对象
扫描仪，我们导入并实例化
正如您所知，我们需要通过
从中读取数据的系统
终端现在我们打印一条消息，所以我们
将使用打印方法代替
在这里打印行，我们添加一个标签
号码，然后我们再致电扫描仪
诠释读取一个数字，我们将其存储在此
可变数字好吧，所以第一部分
现在完成了，我们需要检查是否
这个数字是否可以被五整除
所以我们可以写一个if语句
如果这里是数字，我们使用模数
返回余数的运算符
除法，所以我们将其除以五，
如果余数等于零，则意味着
这个数字可以被5整除，所以我们
立即打印嘶嘶声
否则，如果该数字可被
3我们打印嗡嗡声，我们需要另一个
该数字是否可被除数的条件
5和3，所以在这里我们使用and运算符
被3整除的数字等于0
情况下我们要打印嘶嘶声
否则，您要打印相同的
这样的数字现在不是
正确的解决方案，因为我会在
第二，这个程序有一本书，但是
我看到的一个非常常见的解决方案
在我的学生中，让我们运行这个
程序，看看这里出了什么问题
好吧，在这里，我们输入五，我们会​​嘶嘶
如果您输入十个十也该怎么办
可以被5整除到现在为止
好，那个数字是多少
可被3整除的嗡嗡声很好，如果
我们输入一个可以被整除的数字
像15一样的5和3，我们都得到了Physcan为什么
就是这个的原因
如果我们先输入15
条件将评估为真，所以我们
使其他其他条款起泡
被忽略，这就是为什么这一行
在某些情况下不会执行
这样你应该拥有最多
顶部和底部的特定条件
最通用的在这底部
在这种情况下，我们想将条件移到
如果数字可以被整数整除
5＆3我们将打印fizzbuzz，所以这
非常具体，否则如果数字
只能被5整除我们打印出嘶嘶声
否则，如果被3整除，我们打印
嗡嗡声，如果没有他
条件为真，那么我们打印
现在使用相同的数字运行程序
再有一次，我们输入15，我们得到
Fizzbuzz很漂亮，所以这是一种
现在解决这个问题，我已经看到一些
人们争辩说我们已经重复了这个
表达式两次被数字整除
5我们在第12行也有
作为编程的第14行，我们有这个
干这个概念的缩写
不要重复自己，所以有些人
认为在这里我们重复了这个
表达，这不是一个好
解决方案这是让我展示的另一种方式
你，所以我们要摆脱这个
第二个条件是
要在这里添加代码块，如果
该数字首先可被5整除
检查号码是否也
如果是这种情况，我们可以除以3
打印嘶嘶声
否则我们只打印嘶嘶声
这样好了，我们不再需要
这两条线，因为我们已经
首先在这里实现了这个概念
我们检查一下是否是
如果不能被五整除，我们检查看看
如果被三整除，否则
所以这是解决这个问题的另一种方法
问题，但我认为这种方法
有点业余和丑陋，因为
这些嵌套的if-else语句是
现在被认为是不好的做法
不是很糟糕，但是您嵌套的越多
这些L陈述越混乱
您的代码将交给其他人
所以我个人更喜欢以前的
解决方案，即使我们有一些
代码中的重复次数越多
编程越多，构建软件就越多
更多你意识到没有办法
建立理想的软件编程并
解决问题的关键在于权衡
每个解决方案都有一定的优势，
此解决方案没有的某些弱点
重复或重复
代码，但具有嵌套结构
这些嵌套的结构使我们
难以阅读和理解的代码
以前的解决方案有一点
重复，但结构扁平
这里没有嵌套，此代码
更干净，更容易阅读
我们想要重复一个或多个的次数
举例说，我们有
这是您好世界的讯息
我们想在打印机上打印五遍
终端，我们不想重复这个
这样的代码看起来很丑
那就是我们在Java中使用循环的地方
有几种不同类型的循环
我要谈的第一个
在本教程中，是循环的，所以让我们
看看我们如何在这里使用for循环
将删除您启动的所有代码
通过输入for关键字，然后输入
括号内以及这些括号内
我们首先需要做三件事
声明一个循环或计数器变量
让我们声明一个名为I和的变量
初始化为0退出经常使用
变量名称，例如IJ和K for循环
计数器接下来，我们将分号添加到
终止第一个语句，然后我们
写一个布尔表达式
确定此循环是多少次
要被处决，所以我
只要我小于五就
这个循环将再次执行
添加分号，最后我们增加
我一个这样，所以这是基本的
for循环的结构现在我们可以
使用此重复一个或多个语句
for循环，所以我们可以添加我们的世界
像这里这样的消息我们只有一个
声明，所以我们不需要大括号，但是如果
您有多个陈述，我们
要重复，我们需要定义一个代码
现在阻止在这里，我要删除它
因为你真的不需要它们，所以
让我们运行这段代码，看看我们得到了什么
您会获得五次打印的hello world
在终端美丽的现在让我
解释如何在以下情况下执行此代码
Java首先会看到这个for循环
执行此语句，所以我们在这里
初始化我为零，然后Java
评估这个条件是这个
条件很明显很明显是因为
零小于五，因此控制
移动到第七行，这一行得到
现在在此结束时执行
迭代或在此循环结束时
控制移到这里
所以我现在增加了一个
第二次迭代的开始
再次评估这种情况
是少于五分之一显然是这样
再次，这个循环的主体
现在在快结束时快进
第五次迭代，我将成为五个
五不小于五，所以循环
条件将为假且受到控制
现在移出此for循环
这是您需要记住的一件事
你想执行五次
您可以初始化循环计数器或
循环变量为零，并使用较少的变量
比操作员这里的另一种方法是
将其初始化为一个，然后使用
现在小于或等于运算符
让这个更有趣，让我们
在这里打印我，所以我们在这里添加一个空格
然后将此字符串与I连接
看一看，所以我们得到你好病房一二
相反，如果我们三四五
初始化我为零，少用
比运算符
我们会得到你好词零一二
三个四个我们也可以打印这些
数字相反的顺序，所以我们
将我初始化为五并执行
只要我大于零就循环
但是在这里我不是增加我
减少它，现在我们得到世界五个
四三二一
所以这一切都是关于下一个循环
我们将在此查看while循环
我们将要讨论的教程
Java中的循环，而循环非常
就其而言，类似于for循环
功能，但在
语法术语让我告诉你，所以我们
将继续从
上一个教程，我要重写这个
代码使用while循环，所以首先
声明一个循环变量，然后初始化
归零
接下来，我们在此处输入
括号我们输入循环条件
当我大于零时，我们
将执行此块中的代码
所以我要从这里复制粘贴
在这个区块中，最后我们需要
我喜欢这样递减
每次迭代我们都会递减
我们的for循环，如您所见，我们可以
使用for循环实现相同的功能
或一阵子循环
但是使用for的实现
循环更轻更清洁
所以在你事先知道的情况下
您想执行多少次
一个或多个陈述最好
使用for循环，而循环更好
我们不清楚的情况
你想重复多少次
例如，假设我们
要写一个程序，问
用户连续输入内容
直到他们打字退出那一刻
输入quit，我们将终止
在那种情况下我们不知道
用户要去多少次
输入一些东西，让我们写
使用while循环的程序
我要从这里删除所有内容
好吧，我们将从我们的开始
while循环现在是什么循环
这里的条件我们没有柜台
在此示例中，我们想要变量
检查用户是否输入了退出
还是不这样，我们可以在这里声明一个字符串
调用输入并将其初始化为
空字符串，那么我们可以写一会儿
这样的循环，而输入不
等于现在退出，此代码不会
工作，因为输入是一个字符串
引用类型，我们不能使用
参考之间的比较运算符
类型，因为这些运算符将
比较地址或字符串对象
不是他们的价值，所以如果你有两个
字符串退出并退出但存储在
有不同的存储位置
不同的地址，因此我们可以使用
不等式运算符来比较他们
取而代之的是，我们需要使用等于
字符串对象的方法，所以我们想
检查输入是否等于退出
现在在这里我们需要应用
运算符，只要输入可以
不平等戒烟我们要不断
要求用户在此处输入内容
我们可以像输入一样打印标签，然后
我们可以使用扫描仪对象读取
来自终端的东西，所以让我们
创建一个扫描器对象并实例化
它使用系统点我没有打电话
扫描仪，接下来这将返回一个
字符串，以便我们可以将其存储在此输入中
现在，此实现中的变量
每次迭代我们都会创建一个
新的扫描仪对象，因此如果用户输入
我们将创建10个扫描仪的10个数字
内存中的对象，这是不必要的
这实际上是一个坏习惯，因为
它会污染我们的记忆，所以
更好地创建扫描器对象
在while循环之外然后简单地
在这里我们也假设在这里使用它
用户正在输入所有内容
小写，所以如果他们键入quit
大写字母或以下任意组合
小写和大写字符
逻辑不会按照我们想要的方式工作
这样看完之后就在这里
来自终端的东西，我们要
叫
将字符串对象的小写方法
现在将其转换为小写使其
程序更有趣，让我们回显
无论用户输入什么，我们都可以
现在在终端上打印它，让我们运行
这看看会发生什么
所以我要输入您的电话号码
像1 2＆3，无论我们键入什么，都会得到一个
返回代码，但是当我们键入quit的那一刻
我们的程序终止，所以while循环
在我们不这样做的情况下很有用
提前知道我们多少次
想在Java中重复一些
另一种称为do-while的循环
循环与while循环非常相似
但至少让它执行一次
我告诉你我的意思，所以我要
使用do-while重写相同的代码
循环我们从do关键字开始，然后我们
在此结尾创建一个代码块
我们键入的代码块后跟我们的
循环条件，因此不输入点等于
退出，然后使用
现在在此主体内的分号
循环，我们只需复制所有这些行
我们在这里
现在比较了这两种类型的循环
通过while循环，我们检查条件
首先，如果条件为假
第一次，这个循环将永远不会
与do-while循环相比执行
我们最后检查一下状况
循环总是至少执行一次
即使条件为假，
现实中唯一的区别
我们使用while循环的时间
循环很少使用，但是有
某些情况下，所以请注意
他们中的大多数时间更喜欢
使用线环
我们将继续这个例子
从本程序的上一教程开始
写的有个小问题让我
给你看，所以我要运行这个输入
几个数字，这些数字得到回声
回到美丽
如果我们键入退出程序将终止
但是“戒烟”这个词也得到了回应
这有点怪异，让我们来看一个
解决这个问题的几个想法
回到我们的代码来解决这个问题的一种方法
问题是检查输入之前
打印它，所以在这里我们可以输入if
如果输入不相等则声明
退出然后我们打印它，所以不相等
如果此条件，输入点等于退出
是真的，那么我们将打印
输入让我们看一看就退出
美丽，我们解决了问题
解决此问题的另一种方法是
好吧，让我告诉你我们可以扭转这种情况
条件，因此如果用户类型退出了您
可以立即跳出循环
使用break语句，所以我要
如果用户删除螺母运算符
类型退出，我们将打破
循环，否则我们将继续
执行并将此输入打印在
终端，所以当Java看到中断时
声明它将忽略其他所有内容
之后，它将终止循环
让我们运行程序
再次输入几个数字
然后退出美丽，所以这是
break语句，我们也有
连续语句移动控制
循环开始之前，让我展示一下
你让我们想象一下，如果用户输入
通过，我们不想回声，但也
我们不想终止循环
想让用户再试一次
时间，所以在我们阅读输入内容之后，我们可以
检查输入是否等于通过此
是我们使用连续语句的地方
当Java看到它会移动
控制到循环的开始
所有其他这些陈述都会得到
被忽略，用户输入的不是
要在终端上打印出来，让我们
运行程序并查看实际运行情况
所以我们输入1 2 pass不会得到
最后回响了一次
退出以便重述break语句
终止循环，然后继续
语句将控制移到开头
现在循环的最后一件事
在此完成本教程
实施我们真的不需要这个
循环条件，因为瞬间用户
类型退出此中断语句将
加入并终止循环，以便我们可以
通过使用true简化此代码
我们的循环条件，所以这总是
正确，此循环将被执行
直到用户输入退出
是您看到的非常常见的技术
在专业程序员当中
记住，如果您正在使用此技术
确保有一个休息声明
否则，您将得到一个
永远执行的无限循环
永远不会终止，这可能非常
就内存消耗而言很危险
因此，如果您使用的是true，请确保
您的循环中有一个break语句
我们要看的最后一种循环
是我们用于Java中的每个循环的
每个循环迭代数组或
收藏集让我展示给你，我要去
首先声明一个字符串数组
叫做水果，我们用
三个项目，比如说苹果芒果和
橙色，现在我们要迭代
在此数组上，并将每个项目打印在
终端，我们可以使用您的任何循环
像for循环或a一样早点了解
while循环，但我们也可以使用for
每个循环都比较容易让我
先告诉你，我将使用
循环遍历此数组，因此我们
在这里键入我们声明我们的循环
变量或循环计数器到我设置
只要我小于等于零
我们要去的水果长度
每次迭代后将I递增1
在这里，我们只是打印我的水果
让我们运行程序，看看我们
得到，所以我们将每个项目换到新行
美丽，现在有另一种方式
使用编写相同的代码
在这里循环输入括号
与声明和循环变量，但
此变量的类型应基于
我们数组中项目的类型，所以在这里
我们有一个字符串数组，这意味着
该数组中的每个项目都是一个字符串，因此
在这里我们应该声明一个字符串变量
我们在这里称它为水果，我们输入一个冒号
然后是数组结果的名称
现在在每次迭代中，水果将保持
该数组中一项的值，因此
在这里我们不必声明数字
计数器，我们不必写布尔值
这样的表达，我们不必
增加计数器会容易得多
如果我们打印，现在可以遍历数组
水果，我们得到的结果与
看看之前
所以前三项来自我们
for循环，这是我们的结果
每个循环
所以这是每个循环的
每个循环都有两个
局限性之一是
总是向前，所以我们不能迭代
从头到尾
相比之下，我们可以轻松做到
这个带有for循环，所以在这里我们可以
将我初始化为该长度的结果
我们将此运算符更改为大于
并将此值替换为零，这样
只要我大于零，我们就是
我要减少第二个
每个循环的局限性在于
在这里我们无法访问索引
我们所拥有的每一项都是这个循环
包含每个变量值的变量
与此数组中的项目形成对比的是
对于循环，我们可以访问两个索引
和实际项目，所以我代表
每个项目的索引和I的结果
返回给定索引处的项目，因此
如果您需要索引，那么您将拥有
使用for循环，否则很多
更容易使用每个循环
现在，让我们回到我们的
抵押计算器并实现一些
基本错误处理
所以在这里我改变了这个问题
添加此标签以标识
我们可以输入的值范围
我们可以获得的最低贷款额是
$ 1,000，最高为100万美元
因此，如果我在此处输入1，则会收到此消息
输入一个介于1000和
一百万，现在我们被问到
我再问一次
输入无效值，我被问到
现在，同样的问题让我们输入一个有效的
价值一百万美元，我们接下来
必须输入年利率
现在在这里我们需要输入一个值
大于0且小于或等于
到30，所以如果我输入0，我们得到这个
消息中输入一个大于0的值，然后
小于或等于30
再次被问到这个问题
有更多时间，所以我们输入一个有效值
像3.9到这里，我们需要输入一个
值介于1到30之间，因此如果输入0
我们收到错误消息，并被要求
同样的问题，让我们输入30
最终我们得到的结果是我们的
抵押或每月还款，请继续
花五到十分钟
通过扩展此抵押计算器
向它添加错误处理
我的解决方案X
好吧，让我告诉你我将如何
逐步解决此问题，以便
我们要验证的每个问题
用户输入的值（如果该值）
您想继续询问的是无效的
同样的问题，所以这是我们可以在哪里
使用无限循环让我展示给你看
这是我的第一个问题校长
要将这两行包裹在一个
无限循环而为真
所以我们要继续问同样的问题
直到用户输入有效的问题
值，所以在阅读完
原则上我们可以写一个if语句
如果原理大于
或等于1000并且小于或等于
等于一百万，在这里我们可以使用
用下划线分隔这些数字
使我们的代码更具可读性，因此，如果
用户输入一个有效值，那么我们可以
摆脱这个无限循环
否则我们会打印错误
消息，因此输入1001之间的值
百万，现在这样，如果你继续看
在右边你可以看到这个红色
指示错误，在这里
您可以在此预览窗口中准确看到
我们有一个错误，它在下面
在第30行，我们计算
抵押，所以如果您单击此红色栏
我们跳过这里，校长是
以红色突出显示，所以在这里我们有一个
编译错误无法解析符号
原理在这里是因为
我们把这几行包裹在里面
这个while循环，之前我告诉过你
每当你声明一个变量
该变量作用域为“阻止”
它是定义的，所以这是我们
声明了主变量，并且
它的作用域仅限于此
在此块之外可用
为什么我们得到这个编译错误，所以
解决这个问题，我们需要声明
在while循环之外，我们可以
在使我们根治好之后就在这里做
常量，所以我们说int原则和
我们可以将其初始化为0现在我们删除
从这里的声明和错误
现在不见了，我们需要重复相同的
与其他问题的模式如此真实
快速这里是我们的第二个问题
我们再次阅读年度利息
我们添加一个无限循环
现在，当我们阅读年度
利益会使数据无效，因此，如果
年利息大于或等于
比方说一个小于或等于
等于30然后我们要爆发
这个无限循环
现在在这里我们还应该计算
每月利息，所以正确的做法
如果用户输入一个
有效值，我们在此处添加代码块
首先我们计算每月利息
然后跳出循环
我们打印一条错误消息，输入一个值
现在介于1到30之间
右边又有两个
编译错误每月利息为
未解决，因为我们已声明
在此块的内部，所以让我们移动
声明到顶部我们在这里删除
float关键字并每月进行声明
对这里的兴趣
更好，最后是最后
再问一次我们要包装它
在这个无限循环中
这是我们读取的数量
几年之后，我们需要
进行我们的数据验证，所以如果您的是
大于或等于1并且
小于或等于30，这里我们添加一个
代码块，这是我们计算的地方
付款数量，然后我们中断
其实我忘了在这里输入S
否则，如果用户输入无效
值只会显示一条错误消息
现在在此处输入1到30之间的一个值
再次，我们有一个编译错误
因为付款次数不能
解决了，所以我们删除了声明
从这里开始，我们将在右上方
这是付款数，这是
我们向该程序添加数据验证
问题是这段代码
里面的主要方法现在是
有点太久了，这伤害了
我们程序的可维护性
否则阅读此代码，他们必须看看
在所有这些陈述中找出
这是怎么回事
将此代码分解为更简单的代码
阅读和更容易理解的块
那就是我接下来要告诉你的
因此，在本部分中，您将学习如何
控制执行流程
我们从谈论开始的程序
比较运算符
然后我们讨论原始值
逻辑运算符，例如和或和
我没有告诉你如何使用这些
实现实词的运算符
规则，然后我们讨论了三个
您的控制流语句类型
了解类似的条件语句
if和switch在
我们的程序，然后您了解循环
为了重复执行代码，我们看了看
在四种类型的循环中
循环do-while循环和每个循环
最后我们看了休息
继续声明中断或
跳到循环的开始
希望你学到了很多东西并一直在享受
到目前为止的课程
[音乐]
正如马丁·福勒（Martin Fowler）所说，任何傻瓜都可以写
计算机可以理解的代码
程序员编写人类可以编写的代码
我明白如果你能同意我
看过我的任何课程
知道我已经非常重视
写干净的代码，所以我专注
整段代码
我们将继续扩展我们的
抵押计算器并添加新功能
一路走来，您将看到我们的
代码开始变得凌乱而难以
保持，所以我会告诉你一些
改变结构的技术
代码并使其干净美观
准备好了，让我们进入
开始了
嘿，我要在这里祝贺
你对学习的决心我
如果你真的很感激
通过分享和分享来支持我
视频也订阅了我的频道，
启用通知，以便下次我
上传视频，如果您立即收到通知
您想了解更多，我会鼓励
您可以注册我的终极Java系列
正如我之前告诉您的YouTube
教程是这的前两个小时
系列，如果您认真学习
想要成为一名Java专业人士
开发人员的工作，我强烈鼓励您
报名参加这个系列
有兴趣的我把链接放在下面
描述框谢谢你有一个
美好的一天
[音乐]