[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.43,0:00:03.39,Default,,0000,0000,0000,,这行代码是用来创建变量的 Dialogue: 0,0:00:03.39,0:00:06.51,Default,,0000,0000,0000,,记住 变量就像一个名为 number of coffees 的盒子 Dialogue: 0,0:00:06.51,0:00:08.29,Default,,0000,0000,0000,,里边的值为 2 Dialogue: 0,0:00:08.29,0:00:10.70,Default,,0000,0000,0000,,我们讨论一下这行代码的各个部分 Dialogue: 0,0:00:10.70,0:00:13.50,Default,,0000,0000,0000,,然后 这节课我们会创建更多的变量 Dialogue: 0,0:00:13.50,0:00:17.04,Default,,0000,0000,0000,,你已经注意到了声明变量时的规定 Dialogue: 0,0:00:18.16,0:00:22.08,Default,,0000,0000,0000,,当我说到声明一个变量时 这跟定义一个变量 Dialogue: 0,0:00:22.08,0:00:23.97,Default,,0000,0000,0000,,或者创建一个变量是一回事 Dialogue: 0,0:00:23.97,0:00:26.56,Default,,0000,0000,0000,,我们已经见过这行代码 Dialogue: 0,0:00:26.56,0:00:30.42,Default,,0000,0000,0000,,它符合在 Java 中声明变量的特定格式 Dialogue: 0,0:00:30.42,0:00:32.49,Default,,0000,0000,0000,,你可以把它看做一个公式 Dialogue: 0,0:00:32.49,0:00:35.84,Default,,0000,0000,0000,,首先 我们需要知道变量可以存放什么格式的数据 Dialogue: 0,0:00:35.84,0:00:39.35,Default,,0000,0000,0000,,在这里 是整数类型 简称 int Dialogue: 0,0:00:39.35,0:00:41.40,Default,,0000,0000,0000,,接下来是变量名 Dialogue: 0,0:00:41.40,0:00:42.13,Default,,0000,0000,0000,,在这里 Dialogue: 0,0:00:42.13,0:00:46.83,Default,,0000,0000,0000,,变量名是 numberOfCoffees 后面跟着的是初始值 Dialogue: 0,0:00:46.83,0:00:50.31,Default,,0000,0000,0000,,这里是2 代表点了两杯咖啡 Dialogue: 0,0:00:50.31,0:00:54.25,Default,,0000,0000,0000,,根据 Java 的规则 代码以分号结尾 Dialogue: 0,0:00:54.25,0:00:56.86,Default,,0000,0000,0000,,我们来分解一下这些代码 Dialogue: 0,0:00:56.86,0:00:58.58,Default,,0000,0000,0000,,首先是 Data Type (数据类型) Dialogue: 0,0:00:58.58,0:01:02.07,Default,,0000,0000,0000,,也就是变量可以存储的数据的类型 Dialogue: 0,0:01:02.07,0:01:04.25,Default,,0000,0000,0000,,这里只能存整数 Dialogue: 0,0:01:04.25,0:01:06.45,Default,,0000,0000,0000,,保存在这个变量里 Dialogue: 0,0:01:06.45,0:01:09.69,Default,,0000,0000,0000,,我之前所说的 int 是整型的简称 Dialogue: 0,0:01:09.69,0:01:11.44,Default,,0000,0000,0000,,一个整型就是一个完整的数字 Dialogue: 0,0:01:11.44,0:01:13.74,Default,,0000,0000,0000,,主要包括所有数字 包括零和 Dialogue: 0,0:01:13.74,0:01:16.84,Default,,0000,0000,0000,,负数 但分数和小数不包括在内 Dialogue: 0,0:01:16.84,0:01:21.45,Default,,0000,0000,0000,,0 5 145 所有这些都是整型 Dialogue: 0,0:01:21.45,0:01:24.90,Default,,0000,0000,0000,,所点的咖啡数只能是一个完整的数字 比如 1 Dialogue: 0,0:01:24.90,0:01:26.32,Default,,0000,0000,0000,,2 4 等等 Dialogue: 0,0:01:26.32,0:01:29.89,Default,,0000,0000,0000,,我们并不希望顾客点 1.5 杯咖啡 Dialogue: 0,0:01:29.89,0:01:31.78,Default,,0000,0000,0000,,如果他们觉得一杯咖啡太少 他们就需要买两杯 Dialogue: 0,0:01:31.78,0:01:35.02,Default,,0000,0000,0000,,他们可以把剩下的半杯给朋友啊 Dialogue: 0,0:01:35.02,0:01:38.45,Default,,0000,0000,0000,,至于负数 在这里是说不通的 Dialogue: 0,0:01:38.45,0:01:42.16,Default,,0000,0000,0000,,在 Java 中 没有一个数据类型只允许正数 Dialogue: 0,0:01:42.16,0:01:45.02,Default,,0000,0000,0000,,所以以后 我们要学习如何添加代码 Dialogue: 0,0:01:45.02,0:01:48.69,Default,,0000,0000,0000,,来防止变量中存储负数 Dialogue: 0,0:01:48.69,0:01:52.25,Default,,0000,0000,0000,,声明的下一部分就是变量名 Dialogue: 0,0:01:52.25,0:01:54.57,Default,,0000,0000,0000,,这里变量名是 numberOfCoffees Dialogue: 0,0:01:54.57,0:01:56.89,Default,,0000,0000,0000,,注意 是驼峰式的 Dialogue: 0,0:01:56.89,0:02:00.23,Default,,0000,0000,0000,,它以小写字母开头 因为由多个单词组成 Dialogue: 0,0:02:00.23,0:02:02.25,Default,,0000,0000,0000,,所以每个单词的首字母要大写 Dialogue: 0,0:02:02.25,0:02:06.45,Default,,0000,0000,0000,,你可以想象成在变量上放一个姓名标记 Dialogue: 0,0:02:06.45,0:02:09.16,Default,,0000,0000,0000,,你可以用这个名字查找它 Dialogue: 0,0:02:09.16,0:02:11.49,Default,,0000,0000,0000,,在这我已经把它画出来了 Dialogue: 0,0:02:11.49,0:02:13.96,Default,,0000,0000,0000,,这个变量盒子有它的名字 Dialogue: 0,0:02:13.96,0:02:15.95,Default,,0000,0000,0000,,如果你想知道这个值是什么 Dialogue: 0,0:02:15.95,0:02:18.69,Default,,0000,0000,0000,,或者想要修改它时 你需要用到这个名字 Dialogue: 0,0:02:18.69,0:02:22.34,Default,,0000,0000,0000,,合适的变量名是由开发者决定的 Dialogue: 0,0:02:22.34,0:02:25.05,Default,,0000,0000,0000,,取决于这个变量是干嘛用的 Dialogue: 0,0:02:25.05,0:02:28.42,Default,,0000,0000,0000,,在这里 因为变量存储了所点咖啡数 Dialogue: 0,0:02:28.42,0:02:30.31,Default,,0000,0000,0000,,我就选择了这个名字 Dialogue: 0,0:02:30.31,0:02:33.61,Default,,0000,0000,0000,,你可以选择其他名字 比如 coffeeCount 或者 Dialogue: 0,0:02:33.61,0:02:37.25,Default,,0000,0000,0000,,numberOfCoffeesOrdered 或者 orderedCoffees Dialogue: 0,0:02:37.25,0:02:40.05,Default,,0000,0000,0000,,它可以是任意的 只要它能 Dialogue: 0,0:02:40.05,0:02:43.68,Default,,0000,0000,0000,,使人们很好地理解这个变量代表什么 Dialogue: 0,0:02:43.68,0:02:45.96,Default,,0000,0000,0000,,我说过变量名可以是任意的 Dialogue: 0,0:02:45.96,0:02:49.57,Default,,0000,0000,0000,,其实 Java 里还有一些关于变量名的规则 Dialogue: 0,0:02:49.57,0:02:50.72,Default,,0000,0000,0000,,我们来看看这些规则 Dialogue: 0,0:02:50.72,0:02:54.56,Default,,0000,0000,0000,,我们来输入 variable names Java Dialogue: 0,0:02:54.56,0:02:55.68,Default,,0000,0000,0000,,第一条链接看起来不错 Dialogue: 0,0:02:57.09,0:03:00.07,Default,,0000,0000,0000,,这是来自 Oracle 的 Java 官方文档 Dialogue: 0,0:03:00.07,0:03:02.13,Default,,0000,0000,0000,,上面部分讲到了变量 Dialogue: 0,0:03:02.13,0:03:03.99,Default,,0000,0000,0000,,你可以在你的空闲时间里阅读 Dialogue: 0,0:03:03.99,0:03:06.87,Default,,0000,0000,0000,,我们对下面这部分感兴趣 Dialogue: 0,0:03:06.87,0:03:09.11,Default,,0000,0000,0000,,它讲了变量的命名 Dialogue: 0,0:03:09.11,0:03:13.77,Default,,0000,0000,0000,,它可以是任意长度 但名字太长就不实用了 Dialogue: 0,0:03:13.77,0:03:16.81,Default,,0000,0000,0000,,另一方面 一个很短的名字是不错 但是 Dialogue: 0,0:03:16.81,0:03:21.55,Default,,0000,0000,0000,,如果只有一个字母 比如 N 你也许就不知道 N 代表什么了 Dialogue: 0,0:03:21.55,0:03:24.26,Default,,0000,0000,0000,,所以你需要在很长的描述性名字还有 Dialogue: 0,0:03:24.26,0:03:26.66,Default,,0000,0000,0000,,特别短的字母名字之间达到一种平衡 Dialogue: 0,0:03:26.66,0:03:30.77,Default,,0000,0000,0000,,这有很多详细资料可供阅读 如果你想读的话 Dialogue: 0,0:03:30.77,0:03:34.58,Default,,0000,0000,0000,,但 重要的一点是如果你的名字只是一个单词 Dialogue: 0,0:03:34.58,0:03:37.36,Default,,0000,0000,0000,,那么拼写时都用小写 Dialogue: 0,0:03:37.36,0:03:40.47,Default,,0000,0000,0000,,比如 cadence speed gear Dialogue: 0,0:03:40.47,0:03:43.33,Default,,0000,0000,0000,,如果变量名包含多于一个单词时 Dialogue: 0,0:03:43.33,0:03:45.94,Default,,0000,0000,0000,,你也许想把每个单词首字母大写 Dialogue: 0,0:03:45.94,0:03:48.50,Default,,0000,0000,0000,,但第一个单词首字母要小写 Dialogue: 0,0:03:48.50,0:03:50.70,Default,,0000,0000,0000,,比如 gearRatio 或者 currenGear Dialogue: 0,0:03:51.71,0:03:54.58,Default,,0000,0000,0000,,我们的例子 numberOfCoffees 也遵循这个规则 Dialogue: 0,0:03:55.63,0:03:59.56,Default,,0000,0000,0000,,声明的下一个步骤是赋值运算 或者说这个等号 Dialogue: 0,0:04:00.88,0:04:04.44,Default,,0000,0000,0000,,在数学课上 你习惯了一加一等于二 Dialogue: 0,0:04:04.44,0:04:07.07,Default,,0000,0000,0000,,但是在 Java 中 等号的意思是不同的 Dialogue: 0,0:04:07.07,0:04:10.27,Default,,0000,0000,0000,,等号意味着给一个变量赋值 Dialogue: 0,0:04:10.27,0:04:14.63,Default,,0000,0000,0000,,在这里 我们给 numberOfCoffees 赋值2 Dialogue: 0,0:04:14.63,0:04:16.03,Default,,0000,0000,0000,,用盒子来打个比方 Dialogue: 0,0:04:16.03,0:04:20.55,Default,,0000,0000,0000,,我们把2放进变量来代表所点咖啡数 Dialogue: 0,0:04:20.55,0:04:22.25,Default,,0000,0000,0000,,所以 不论什么时候 你看见等号 Dialogue: 0,0:04:22.25,0:04:24.95,Default,,0000,0000,0000,,就想象着抓起右手边的东西 Dialogue: 0,0:04:24.95,0:04:28.57,Default,,0000,0000,0000,,然后放到左边的变量里 Dialogue: 0,0:04:28.57,0:04:30.54,Default,,0000,0000,0000,,关于这个我们之前讨论过 但是 Dialogue: 0,0:04:30.54,0:04:33.79,Default,,0000,0000,0000,,这里的2是变量的初始值 Dialogue: 0,0:04:33.79,0:04:36.53,Default,,0000,0000,0000,,所以把2放到变量里 Dialogue: 0,0:04:36.53,0:04:40.38,Default,,0000,0000,0000,,记住 根据数据类型 初始值必须 Dialogue: 0,0:04:40.38,0:04:42.27,Default,,0000,0000,0000,,是有效的类型 Dialogue: 0,0:04:42.27,0:04:44.80,Default,,0000,0000,0000,,在这里只允许是整数 Dialogue: 0,0:04:44.80,0:04:49.19,Default,,0000,0000,0000,,2是合法的整数 所以它可以存进变量里 Dialogue: 0,0:04:50.50,0:04:54.58,Default,,0000,0000,0000,,最后 同样重要的要以分号结尾 Dialogue: 0,0:04:54.58,0:04:56.62,Default,,0000,0000,0000,,总结一下 当你声明一个变量时 Dialogue: 0,0:04:56.62,0:05:00.09,Default,,0000,0000,0000,,你要指定好数据类型 后面是变量名 Dialogue: 0,0:05:00.09,0:05:04.44,Default,,0000,0000,0000,,然后是赋值运算符 然后是初始值 然后是分号 Dialogue: 0,0:05:05.51,0:05:08.57,Default,,0000,0000,0000,,这里我们要创建一个 numberOfCoffees 变量 Dialogue: 0,0:05:08.57,0:05:12.77,Default,,0000,0000,0000,,数据类型是 int 所以只能保存整数类型 Dialogue: 0,0:05:12.77,0:05:17.11,Default,,0000,0000,0000,,我们要为这个变量赋初始值2 Dialogue: 0,0:05:17.11,0:05:19.91,Default,,0000,0000,0000,,或者你可以根据我们说过的规则修改变量名 Dialogue: 0,0:05:19.91,0:05:24.07,Default,,0000,0000,0000,,你还可以修改初始值 只要它是相同的数据类型就可以 Dialogue: 0,0:05:24.07,0:05:27.55,Default,,0000,0000,0000,,你不能修改数据类型 它的拼写是int I-N-T Dialogue: 0,0:05:27.55,0:05:30.24,Default,,0000,0000,0000,,接下来我们还要学习其他数据类型 Dialogue: 0,0:05:30.24,0:05:32.41,Default,,0000,0000,0000,,它们都会以特定方式拼写出来 Dialogue: 0,0:05:33.53,0:05:36.90,Default,,0000,0000,0000,,任何时候当你需要使用变量时 用名字引用它就好 Dialogue: 0,0:05:36.90,0:05:38.41,Default,,0000,0000,0000,,当应用执行的时候 Dialogue: 0,0:05:38.41,0:05:41.32,Default,,0000,0000,0000,,它就会被实际值代替 Dialogue: 0,0:05:42.35,0:05:43.49,Default,,0000,0000,0000,,我们继续 Dialogue: 0,0:05:43.49,0:05:47.08,Default,,0000,0000,0000,,把这几行代码添加到你的应用 不要复制粘贴 Dialogue: 0,0:05:47.08,0:05:51.31,Default,,0000,0000,0000,,因为我想让你练习着输入它们 创建并使用一个变量 Dialogue: 0,0:05:51.31,0:05:52.80,Default,,0000,0000,0000,,在手机上运行这个应用 Dialogue: 0,0:05:52.80,0:05:55.39,Default,,0000,0000,0000,,请确保当你点击 ORDER 按钮时 会出现这种情况 Dialogue: 0,0:05:56.76,0:05:59.77,Default,,0000,0000,0000,,在这之后 我希望你做一个小实验 Dialogue: 0,0:05:59.77,0:06:01.94,Default,,0000,0000,0000,,试着给这个变量赋一个新的初始值 Dialogue: 0,0:06:03.16,0:06:06.07,Default,,0000,0000,0000,,然后继续 试着给一个新的变量名赋值 Dialogue: 0,0:06:06.07,0:06:07.42,Default,,0000,0000,0000,,除了 numberOfCoffees Dialogue: 0,0:06:07.42,0:06:09.93,Default,,0000,0000,0000,,再尝试一下其他的变量 比如 quantity Dialogue: 0,0:06:11.29,0:06:14.63,Default,,0000,0000,0000,,有一个新手常见的错误 你以为自己的输入是正确的 Dialogue: 0,0:06:14.63,0:06:17.65,Default,,0000,0000,0000,,是因为你的眼睛在快速浏览整个代码 Dialogue: 0,0:06:17.65,0:06:20.14,Default,,0000,0000,0000,,如果你逐字母浏览的话 Dialogue: 0,0:06:20.14,0:06:21.95,Default,,0000,0000,0000,,你会注意到 这也许存在问题 Dialogue: 0,0:06:23.02,0:06:25.81,Default,,0000,0000,0000,,完成它要花费一定的时间 Dialogue: 0,0:06:25.81,0:06:29.05,Default,,0000,0000,0000,,但要特别留意你输入的每一个字母 Dialogue: 0,0:06:29.05,0:06:32.65,Default,,0000,0000,0000,,如果报错了 试着读一下错误信息 Dialogue: 0,0:06:32.65,0:06:38.16,Default,,0000,0000,0000,,比如 这个错误信息说 不能解析 numberOCoffees 这个符号 Dialogue: 0,0:06:38.16,0:06:41.16,Default,,0000,0000,0000,,Java 不能识别 numberOCoffees Dialogue: 0,0:06:41.16,0:06:44.95,Default,,0000,0000,0000,,因为实际变量名是 numberOfCoffees Dialogue: 0,0:06:44.95,0:06:48.37,Default,,0000,0000,0000,,希望你可以解决错误 或者你可以点击撤销 Dialogue: 0,0:06:48.37,0:06:49.90,Default,,0000,0000,0000,,有时也可以解决错误 Dialogue: 0,0:06:51.08,0:06:54.37,Default,,0000,0000,0000,,或者你可以回到报错之前的代码 比如我们之前给的 Dialogue: 0,0:06:55.72,0:06:57.78,Default,,0000,0000,0000,,当你做完了 勾选这个框 然后继续