WEBVTT 00:00:00.430 --> 00:00:03.390 这行代码是用来创建变量的 00:00:03.390 --> 00:00:06.510 记住 变量就像一个名为 number of coffees 的盒子 00:00:06.510 --> 00:00:08.290 里边的值为 2 00:00:08.290 --> 00:00:10.700 我们讨论一下这行代码的各个部分 00:00:10.700 --> 00:00:13.500 然后 这节课我们会创建更多的变量 00:00:13.500 --> 00:00:17.040 你已经注意到了声明变量时的规定 00:00:18.160 --> 00:00:22.080 当我说到声明一个变量时 这跟定义一个变量 00:00:22.080 --> 00:00:23.970 或者创建一个变量是一回事 00:00:23.970 --> 00:00:26.560 我们已经见过这行代码 00:00:26.560 --> 00:00:30.420 它符合在 Java 中声明变量的特定格式 00:00:30.420 --> 00:00:32.490 你可以把它看做一个公式 00:00:32.490 --> 00:00:35.840 首先 我们需要知道变量可以存放什么格式的数据 00:00:35.840 --> 00:00:39.350 在这里 是整数类型 简称 int 00:00:39.350 --> 00:00:41.400 接下来是变量名 00:00:41.400 --> 00:00:42.130 在这里 00:00:42.130 --> 00:00:46.830 变量名是 numberOfCoffees 后面跟着的是初始值 00:00:46.830 --> 00:00:50.310 这里是2 代表点了两杯咖啡 00:00:50.310 --> 00:00:54.250 根据 Java 的规则 代码以分号结尾 00:00:54.250 --> 00:00:56.860 我们来分解一下这些代码 00:00:56.860 --> 00:00:58.580 首先是 Data Type (数据类型) 00:00:58.580 --> 00:01:02.070 也就是变量可以存储的数据的类型 00:01:02.070 --> 00:01:04.250 这里只能存整数 00:01:04.250 --> 00:01:06.450 保存在这个变量里 00:01:06.450 --> 00:01:09.690 我之前所说的 int 是整型的简称 00:01:09.690 --> 00:01:11.440 一个整型就是一个完整的数字 00:01:11.440 --> 00:01:13.735 主要包括所有数字 包括零和 00:01:13.735 --> 00:01:16.845 负数 但分数和小数不包括在内 00:01:16.845 --> 00:01:21.450 0 5 145 所有这些都是整型 00:01:21.450 --> 00:01:24.900 所点的咖啡数只能是一个完整的数字 比如 1 00:01:24.900 --> 00:01:26.320 2 4 等等 00:01:26.320 --> 00:01:29.890 我们并不希望顾客点 1.5 杯咖啡 00:01:29.890 --> 00:01:31.780 如果他们觉得一杯咖啡太少 他们就需要买两杯 00:01:31.780 --> 00:01:35.020 他们可以把剩下的半杯给朋友啊 00:01:35.020 --> 00:01:38.450 至于负数 在这里是说不通的 00:01:38.450 --> 00:01:42.160 在 Java 中 没有一个数据类型只允许正数 00:01:42.160 --> 00:01:45.020 所以以后 我们要学习如何添加代码 00:01:45.020 --> 00:01:48.690 来防止变量中存储负数 00:01:48.690 --> 00:01:52.250 声明的下一部分就是变量名 00:01:52.250 --> 00:01:54.570 这里变量名是 numberOfCoffees 00:01:54.570 --> 00:01:56.890 注意 是驼峰式的 00:01:56.890 --> 00:02:00.230 它以小写字母开头 因为由多个单词组成 00:02:00.230 --> 00:02:02.250 所以每个单词的首字母要大写 00:02:02.250 --> 00:02:06.450 你可以想象成在变量上放一个姓名标记 00:02:06.450 --> 00:02:09.160 你可以用这个名字查找它 00:02:09.160 --> 00:02:11.490 在这我已经把它画出来了 00:02:11.490 --> 00:02:13.960 这个变量盒子有它的名字 00:02:13.960 --> 00:02:15.950 如果你想知道这个值是什么 00:02:15.950 --> 00:02:18.690 或者想要修改它时 你需要用到这个名字 00:02:18.690 --> 00:02:22.340 合适的变量名是由开发者决定的 00:02:22.340 --> 00:02:25.050 取决于这个变量是干嘛用的 00:02:25.050 --> 00:02:28.420 在这里 因为变量存储了所点咖啡数 00:02:28.420 --> 00:02:30.310 我就选择了这个名字 00:02:30.310 --> 00:02:33.610 你可以选择其他名字 比如 coffeeCount 或者 00:02:33.610 --> 00:02:37.250 numberOfCoffeesOrdered 或者 orderedCoffees 00:02:37.250 --> 00:02:40.050 它可以是任意的 只要它能 00:02:40.050 --> 00:02:43.680 使人们很好地理解这个变量代表什么 00:02:43.680 --> 00:02:45.960 我说过变量名可以是任意的 00:02:45.960 --> 00:02:49.570 其实 Java 里还有一些关于变量名的规则 00:02:49.570 --> 00:02:50.720 我们来看看这些规则 00:02:50.720 --> 00:02:54.560 我们来输入 variable names Java 00:02:54.560 --> 00:02:55.680 第一条链接看起来不错 00:02:57.090 --> 00:03:00.070 这是来自 Oracle 的 Java 官方文档 00:03:00.070 --> 00:03:02.130 上面部分讲到了变量 00:03:02.130 --> 00:03:03.990 你可以在你的空闲时间里阅读 00:03:03.990 --> 00:03:06.870 我们对下面这部分感兴趣 00:03:06.870 --> 00:03:09.110 它讲了变量的命名 00:03:09.110 --> 00:03:13.770 它可以是任意长度 但名字太长就不实用了 00:03:13.770 --> 00:03:16.810 另一方面 一个很短的名字是不错 但是 00:03:16.810 --> 00:03:21.550 如果只有一个字母 比如 N 你也许就不知道 N 代表什么了 00:03:21.550 --> 00:03:24.260 所以你需要在很长的描述性名字还有 00:03:24.260 --> 00:03:26.660 特别短的字母名字之间达到一种平衡 00:03:26.660 --> 00:03:30.770 这有很多详细资料可供阅读 如果你想读的话 00:03:30.770 --> 00:03:34.580 但 重要的一点是如果你的名字只是一个单词 00:03:34.580 --> 00:03:37.360 那么拼写时都用小写 00:03:37.360 --> 00:03:40.470 比如 cadence speed gear 00:03:40.470 --> 00:03:43.330 如果变量名包含多于一个单词时 00:03:43.330 --> 00:03:45.940 你也许想把每个单词首字母大写 00:03:45.940 --> 00:03:48.500 但第一个单词首字母要小写 00:03:48.500 --> 00:03:50.700 比如 gearRatio 或者 currenGear 00:03:51.710 --> 00:03:54.580 我们的例子 numberOfCoffees 也遵循这个规则 00:03:55.630 --> 00:03:59.560 声明的下一个步骤是赋值运算 或者说这个等号 00:04:00.880 --> 00:04:04.440 在数学课上 你习惯了一加一等于二 00:04:04.440 --> 00:04:07.070 但是在 Java 中 等号的意思是不同的 00:04:07.070 --> 00:04:10.270 等号意味着给一个变量赋值 00:04:10.270 --> 00:04:14.628 在这里 我们给 numberOfCoffees 赋值2 00:04:14.628 --> 00:04:16.029 用盒子来打个比方 00:04:16.029 --> 00:04:20.550 我们把2放进变量来代表所点咖啡数 00:04:20.550 --> 00:04:22.250 所以 不论什么时候 你看见等号 00:04:22.250 --> 00:04:24.950 就想象着抓起右手边的东西 00:04:24.950 --> 00:04:28.570 然后放到左边的变量里 00:04:28.570 --> 00:04:30.540 关于这个我们之前讨论过 但是 00:04:30.540 --> 00:04:33.790 这里的2是变量的初始值 00:04:33.790 --> 00:04:36.530 所以把2放到变量里 00:04:36.530 --> 00:04:40.380 记住 根据数据类型 初始值必须 00:04:40.380 --> 00:04:42.270 是有效的类型 00:04:42.270 --> 00:04:44.800 在这里只允许是整数 00:04:44.800 --> 00:04:49.190 2是合法的整数 所以它可以存进变量里 00:04:50.500 --> 00:04:54.580 最后 同样重要的要以分号结尾 00:04:54.580 --> 00:04:56.620 总结一下 当你声明一个变量时 00:04:56.620 --> 00:05:00.090 你要指定好数据类型 后面是变量名 00:05:00.090 --> 00:05:04.440 然后是赋值运算符 然后是初始值 然后是分号 00:05:05.510 --> 00:05:08.570 这里我们要创建一个 numberOfCoffees 变量 00:05:08.570 --> 00:05:12.770 数据类型是 int 所以只能保存整数类型 00:05:12.770 --> 00:05:17.110 我们要为这个变量赋初始值2 00:05:17.110 --> 00:05:19.910 或者你可以根据我们说过的规则修改变量名 00:05:19.910 --> 00:05:24.070 你还可以修改初始值 只要它是相同的数据类型就可以 00:05:24.070 --> 00:05:27.550 你不能修改数据类型 它的拼写是int I-N-T 00:05:27.550 --> 00:05:30.240 接下来我们还要学习其他数据类型 00:05:30.240 --> 00:05:32.410 它们都会以特定方式拼写出来 00:05:33.530 --> 00:05:36.900 任何时候当你需要使用变量时 用名字引用它就好 00:05:36.900 --> 00:05:38.410 当应用执行的时候 00:05:38.410 --> 00:05:41.320 它就会被实际值代替 00:05:42.350 --> 00:05:43.490 我们继续 00:05:43.490 --> 00:05:47.080 把这几行代码添加到你的应用 不要复制粘贴 00:05:47.080 --> 00:05:51.310 因为我想让你练习着输入它们 创建并使用一个变量 00:05:51.310 --> 00:05:52.800 在手机上运行这个应用 00:05:52.800 --> 00:05:55.390 请确保当你点击 ORDER 按钮时 会出现这种情况 00:05:56.760 --> 00:05:59.770 在这之后 我希望你做一个小实验 00:05:59.770 --> 00:06:01.940 试着给这个变量赋一个新的初始值 00:06:03.160 --> 00:06:06.070 然后继续 试着给一个新的变量名赋值 00:06:06.070 --> 00:06:07.420 除了 numberOfCoffees 00:06:07.420 --> 00:06:09.930 再尝试一下其他的变量 比如 quantity 00:06:11.290 --> 00:06:14.630 有一个新手常见的错误 你以为自己的输入是正确的 00:06:14.630 --> 00:06:17.650 是因为你的眼睛在快速浏览整个代码 00:06:17.650 --> 00:06:20.140 如果你逐字母浏览的话 00:06:20.140 --> 00:06:21.950 你会注意到 这也许存在问题 00:06:23.020 --> 00:06:25.810 完成它要花费一定的时间 00:06:25.810 --> 00:06:29.050 但要特别留意你输入的每一个字母 00:06:29.050 --> 00:06:32.650 如果报错了 试着读一下错误信息 00:06:32.650 --> 00:06:38.160 比如 这个错误信息说 不能解析 numberOCoffees 这个符号 00:06:38.160 --> 00:06:41.160 Java 不能识别 numberOCoffees 00:06:41.160 --> 00:06:44.950 因为实际变量名是 numberOfCoffees 00:06:44.950 --> 00:06:48.370 希望你可以解决错误 或者你可以点击撤销 00:06:48.370 --> 00:06:49.900 有时也可以解决错误 00:06:51.080 --> 00:06:54.370 或者你可以回到报错之前的代码 比如我们之前给的 00:06:55.720 --> 00:06:57.780 当你做完了 勾选这个框 然后继续