Java学习的第五天(JavaSE基础01)

1.Java的发展历史
Java之父--James Gosling (sun公司)
1991年  oak
1995年改名成Java
1996 jdk1.0
     jdk1.2(将Java分为三个方向j2se(桌面应用开发);j2me(嵌入式系统开发);j2ee(企业级开发))
目前将将这三个方向的名字分为JavaSE JavaME JavaEE
     jdk5-----jdk1.5
     jdk7-----jdk1.7
     jdk8-----jdk1.8
2009年 oracle(甲骨文)公司收购了sun公司
2014年 甲骨文公司发布了Java8正式版
目前最新的Java版本 jdk13
2.Java语言的特点
简单性;面向对象;兼容性;跨平台;开源。
3.JVM(Java虚拟机)JRE JDK三者之间的关系
JDK:(java development kit)Java开发工具包
    内部包含了JRE(Java的运行环境)以及核心类库,并且它的lib目录下包含了Javac工具(编译)和Java工具(运行)

helloworld.java--(javac工具编译)-->helloworld.class(二进制/字节码文件)--(java工具运行)-->控制台捕获
注意:由于java工具同时存在于jdk和jre目录下的bin目录中,所以这里的java工具运行会存在一定的分歧
普遍认为执行过程是在虚拟机中去执行文件
jdk负责翻译程序,而jre负责运行程序,由于jdk的配置文件中同时存在javac工具和java工具,所以可以笼统的说jdk既可以翻译程序也可以运行程序

--假如有一个二进制文件,也就是.class文件只想要去运行,那么我们就只要去装jre就行了

JDK JRE JVM三者的关系图
4.Java程序的编写和编译运行的步骤

第一步:新建一个记事本,将名字改为Helloworld.java

注意1:这里取名字,第一个字母要大写,这是Java约定俗成的一个规矩
注意2:文件名要和类名一致,目的是为了使我们一看到外部的文件名就大致知道这个Java文件是干嘛用的
注意3:后缀名一定要显示出来,不能出现Helloworld.java.txt的情况,那么如何显示后缀名呢??我们随便进入一个文件夹,点击查看,然后我们可以看到文件扩展名显示,直接打勾就行了。

第二步:以记事本打开这个Helloworld.java,在里面输入如下代码,点击保存

class Helloworld{
  public static void main(String[] args){
    System.out.println("这是我的第一个Java文件代码");
  }
}

第三步:使用快捷键wins+R输入cmd,打开dos命令行


第四步:输入如下代码进入到D:\学习专用代码库\day5,这时我们输入javac Helloworld.java编译成.class文件,然后输入java Helloworld运行Helloworld.class文件,输出代码中写的“这是我写的第一个Java文件代码”
注意1:这里虽然运行.class文件,但是只要输入java Helloworld就行了,一定不要输入java Helloworld.class

小技巧:如果我们嫌一个一个的敲路径太麻烦,那么我们可以这样做(cmd下输入cls将屏幕清空)

1.找到你新建的.java所在的目录

2.直接点击上面的day5所在的选择栏
3.去掉这里,直接输入cmd 进行到该目录下
4.然后输入javac Helloworld.java编译,输入java Helloworld运行
5.常用错误
  • 为什么通过上面输出的结果是一串乱码(或者编码GBK的不可映射字符)呢?
    这里打开我们的记事本,点击另存为,我们可以看到下面的编码类型是UTF-8,而我们需要设置的编码类型为ANSI,这样我们输出的结果才不会是乱码!
拓展知识
class Helloworld{
  public static void main(){
    System.out.println("hello world!!");
  }
}
/单词解析
public  公共的
static  静态的
void    无返回值
main    主要的
String  字符串
System  系统的
out     输出
print   打印
println 打印并换行

关键字单词都是小写的,System不是关键字,因为它的首字母是大写的

\t(转义符)  相当于一个tab键,默认空八个格子
\n  相当于换行
System.out.println();  另一种换行的写法

你可能感兴趣的:(Java学习的第五天(JavaSE基础01))