- 为什么要配置java环境变量?
解析:1.为了在命令行窗口下编译和运行Java程序
2.当我们要执行java源文件的时候就需要JDK提供的JDK当中提供的编译程序javac.exe,它存在于JDK安装路径下的bin文件夹中,而我们的java源文件存在于电脑的任意一个磁盘中,当我们在源文件的文件目录下去调用javac编译程序,系统会发现根本就找不到这个它,因为源文件和编译程序不存在同一文件目录下,除非一种特殊情况就是java源文件存在于javac.exe的目录下,否则都会出现如下错误。
3.所以为了解决上述的问题我们就需要j配置java环境变量
不配置的话就会出现如下错误:更加详细解释参考:开发Java程序为什么要配置环境变量?
- JDK、JRE和JVM的作用和关系?
首先我们得先知道什么是 JDK、JRE和JVM。
JDK:全称 java Develop Kit ,翻译过来就是java开发工具包,它内部包含了代码的编译工具和运行工具,通俗的说它就是一个工具包
JRE:全称是 java Runtime Environment,翻译过来就是java运行时环境。它包含了JVM虚拟机和java核心类库
JVM:就是java虚拟机,它是一个虚构出来的计算机,可在实际的计算机上模拟各种计算机的功能。
作用:
JDK:java程序的开发环境。
JRE:java程序的运行环境。
JVM:保证java语言跨平台。
简洁的说就是:使用jdk开发完成的java程序,交给JRE去运行,由JVM来保证跨平台。
JDK、JRE和JVM如下图:它们是一层一层的嵌套关系:JDK>JRE>JVM
- 标识符是什么及其作用和规则?
标识符及作用:给类,方法,变量取名的符号 !!!
规则:
1.由数字,字母,下划线和美元符号组成
2.不能以数字开头、不能是关键字、区分大小写、不能有空格
注意:变量是只是标识符的一种不能混为一谈
二、循环练习: 案例需求一:在一口井中,有一只蜗牛白天爬3.5米,晚上掉下1.5米,井深57.6米,问蜗牛需要多少天爬出,请用程序实现。
错误示范:
1.做题之前先分析:一只蜗牛白天爬3.5米,晚上爬1.5米,相减就是一天爬了2米,
2.直接使用while循环实现,定义一个变量sum用来保存累积爬的米数,再定义一个计数器count来记录天数
3.最后输出打印结果完成
错误代码:
package com.feisi.work6;
public class Demo13 {
public static void main(String[] args) {
//保存累加路程
double sum = 0;
//保存天数
int count = 0;
while (true) {
//
if (sum <= 57.6) {
sum = sum + 2;//将每天的路程累加
count++;//记录天数
} else {
//当程序不满足条件时结束循环
break;
}
}
//将最后的结果打印输出
System.out.println("一共需要" + count + "天!");
}
}
错误的代码运行结果:
分析问题:
那么问题来了是哪里出了问题呢?
思考发现我们忽略了当蜗牛最后一天若它已经出井,就不在需要下滑1.5米了,也就是说会少一天,而上面我们的代码多算了一天,从而导致了错误的输出,问题不大但是很致命。
修改后的代码:
package com.feisi.work6;
public class Demo13 {
public static void main(String[] args) {
//保存累加路程
double sum = 0;
//保存天数
int count = 0;
while (true) {
if (sum <= 56.7) {
sum = sum + 3.5;//将每天的路程累加
System.out.print(sum + ", ");
count++;//记录天数
}
if (sum >= 56.7) {
//当程序不满足条件时结束循环
break;
}
sum -= 1.5;
// System.out.print(sum+", ");
// System.out.println();
}
//将最后的结果打印输出
System.out.println("一共需要" + count + "天!");
}
}
正确执行结果:
特别注意:这类先加后减问题要特别注意再进行到某一步时可能已经达到了输出临界值,不需要再进行一次循环操作,从而导致错误输出,相反的先减后加则不需要考虑。
下面就是验证先减后加案例:
案例需求二:小明有20块钱,买一瓶饮料花3元,回收瓶子得1元,求小明一共可以喝多少瓶饮料?
分析:1.首先定义变量保存总钱数,及瓶数
2.因为清楚循环次数使用while循环,在里面使用if判断当总金额小于3元时循环结束
3.最后将结果打印输出
一般代码如下:
package com.feisi.work6;
public class Demo13 {
public static void main(String[] args) {
//保存总金额
int TotalMoney = 20;
//保存瓶数
int count = 0;
//使用while循环
while (true) {
//用于判断剩于金额
if (TotalMoney >= 3) {
TotalMoney -= 3;//进行相减操作
count++;//记录瓶数
} else {
break;//当金额小于3时终止循环
}
//回收瓶子总金额加1
TotalMoney += 1;
}
//打印输出结果
System.out.println("小明一共可以喝到" + count + "瓶饮料");
}
}
运行结果:
由代码优化思想,其中的第20行代码和26行代码可以合并得:
while (true) {
//用于判断剩于金额
if (TotalMoney >= 3) {
TotalMoney -= 2;//进行相减操作
count++;//记录瓶数
} else {
break;//当金额小于3时终止循环
}
}
优化后代码运行结果:
三、总结:- 合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下
- 我们学习的态度要细致认真,切不可看轻基础知识,并且要善于总结思考。



