我还以为第一章那个关于path设置的答案是骗人的,直到我看到了自己的path,然后服气。
我jdk装在C盘,路径真的就是
C:\Program Files\Java\jdk1.8.0_161\jre\lib\rt.jar
然后再来看看这几个路径的相对位置——
首先,打开jdk所在文件夹
你会看到一个bin和一个jre,这里的bin是开发环境必要组件和工具;jre是运行环境。
然后再打开jre
这里的bin就是java运行的必要组件,那lib又是什么呢?
jdk下的jre下的lib是开发环境中,运行时需要的jar包。最典型的就是导入的外部驱动jar包。因为编译时,系统找的是jdk下的jre,而不是最外层的jre。
所以,我们要找的jdk就藏在jkd下的jre中的lib里的rt包内。
- 编译和运行的命令
编译是:javac 源文件名.java(源文件名必须和文件中的public类【可能不是主类】同名)为什么是javac呢?因为编译器是javac.exe
运行是:java 主类名(因为都是从主类开始运行)为什么是java呢?因为解释器是java.exe - 主类以及源文件命名
如果文件中有两个类,前面一个功能类用了public,后面的类中即使包含main函数,也不能用public(main其实是主类中的一个函数)你看他的写法:public static void main(String args[])就是一个公共的静态的返回值为空的函数带一个string参数 - 数据类型
byte | short | char | int | long |
---|---|---|---|---|
8位 | 有符号16位 | 无符号16位 | 32位(2*10^9) | 64位(9*10^18) |
为什么int是-2 ^ 31 ~2 ^ 31 + 1呢?因为第一位存符号位。
float32位(注意用的时候数字后面要带个f/F),double64位
-
强转
多余的数位直接丢失 -
switch开关语句
switch (byte/short/int/char){
case xxx1: 语句+break;
case xxx2: 语句+break;
default:
} -
数组
java不允许在声明数组的时候给大小。
所以类型名 数组名[] =
后面分配元素new 类型名[size];
1.数组遍历
for(没用过的循环变量:数组名)
2.输出数组
System.out.println(数组名)
3.输出数组引用
System.out.println(""+数组名) -
输入语句
Scanner reader = new Scanner(System.in);
int a = reader.nextInt();
如果在故事的开始就能看透事物的本质是不是会快很多?
为什么在最初的最初,只是混了个眼熟呢?
遇到新事物为什么不问为什么呢?
问了为什么不仅能加深理解,而且能加深记忆。
老师不讲≠你不用知道。
好老师难遇,遇到了要知道感恩,遇到划水狗也不用抱怨,学习是自己的事。
最近总是感慨很多,唱个歌也感慨,出去玩也感慨,走个路都感慨,复习了更是感慨万千。放个瑶瑶公主~