Java入门

Java帝国的诞生

C语言

1972年诞生、贴近硬件、运行快、效率高;

两个枷锁:指针、内存管理(C语言放任不管,自己分配自己释放,编译的时候不显示,运行的时候才会报错)

C++

1982年诞生、面向对象、兼容C语言、但是更复杂(令人吃惊)、在图形领域和游戏领域还是很有用

想要建立新的语言

要求:语法像C语言、没有指针和内存管理、真正的可移植性、面向对象、安全、高质量类库……

Java应运而生

所有平台上只要安装了JVM虚拟机,就可以运行Java的代码。

JavaSE(占领桌面):开发桌面应用的程序员接受不了Java,开发出来很不好看,和原来的差别很大,并且还得费劲安装虚拟机;

JavaME(占领手机):移动互联网还未兴起;

JavaEE(占领服务器):适合团队去开发复杂的大型项目。

三高:高可用,高性能,高并发


Java特性和优势

简单性:纯净版C++,没有头文件、指针运算、分配内存;

面向对象:程序设计技术,模拟人的思维去写程序;

万物皆对象

可移植性:只要安装了JVM就能运行;

Write once, run anywhere.

高性能:即时编译存在,有可能会超过C++的效率;

分布式:Java为网络分布式环境所设计的,因为能处理很多TCPIC协议上的东西,在Java上通过URL(统一资源……)就像是操作本地文件一样,支持通过网络去进行调用;

动态性:Java本身不具有,但是后面的反射机制可以让Java有一些动态性,这也是C++语言无法实现的东西;

多线程:可以有更好的交互行为和实施行为(如同时看视频,同时听音乐,或者边打游戏边上QQ,这都是多线程)

安全性:为了适合网络的分布式环境,

健壮性:运行前会检查内存,不会让带电脑崩溃,就算有问题,也可以通过异常机制捕获异常,进而解决异常。


Java三大版本

Java最大的特性是跨平台(原因就是JVM,它可以运行在所有的系统上)

JavaSE

标准版,是Java的基础和核心;

主要用于桌面程序和控制台开发。

JavaME

相当于Java的微缩版,主要用于嵌入式的开发,但是已经基本不用了,pass。

JavaEE

E企业级开发!


JDK、JRE、JVM

JDK(Java Development Kit)

JRE(Java Runtime Environment)

JVM(Java Virtual Machine)

Java入门


HelloWorld

%新建HelloWorld.java文件
public class HelloWorld{
    public static void main(String[] args){
        System.out.print("Hello, World!");
    }
}
#在写代码的路径下,进入命令控制台
javac HelloWorld.java
java HelloWorld
#显示结果为
Hello, World!

Java开发环境搭建

Java既有编译型的特点也有解释型的特点;

编译解释都有“解释”的意思,唯一的区别是时机,接下来进一步解释:

中国人老苗和外国人Miles同看一本中文小说,但是美国人看不懂,有两种方式:①把整本书翻译成英语给Miles看;②Miles找一个翻译官Jack,Jack看一段给Miles讲一段,但是Miles有事离开或者想回过头看的话,Jack还得重新翻译一遍,这两种方式都可以,但是各有好坏:①可以看到整体的翻译结果,但是如果作者更新了,那Miles就看不到了;②只要有变化,Miles就能知道。

编译型类似于把小说整本翻译为英文,就是把Java代码转换成计算机能够读懂的代码,可用作开发操作系统,类似的还有C和C++;

解释型可能会有一些性能损失,网页和服务器一些脚本对于速度的要求并不高,就可以使用这种语言,就可以用Java、JS、Python等。

.java源文件→.class字节码文件,这个过程叫预编译

.class字节码文件进入虚拟机的类装载器中,通过字节码校验器进行检验;

检验无误后通过解释器,走一步运行一步告诉操作系统。

随着4G→8G→16G,解释型的效率也在不断提高。


使用IDEA开发

IDE(Integrated Development Environment)集成开发环境,集成了代码编写、分析、编译、调试功能等一体化的开发软件,如Eclipse,IDEA等。

IDEA安装和平常软件安装一致。

进入IDEA后,代码编辑一般都在左侧src文件夹下写;

右键单击选择New,再选择java class,命名为HelloWorld;

软件自动给出以下代码:

public class HelloWorld{
}

再输入psvm,回车,自动生成以下代码:

public class HelloWorld{
    public static void main(String[] args){
        
    }
}

继续输入sout,自动生成以下代码:

public class HelloWorld{
    public static void main(String[] args){
        System.out.println();
    }
}

输入"Hello, World!",完成!

上一篇:Chrome 92 破坏性功能,我这弹窗有何用?


下一篇:C sharp 字符串魔法