从今天开始,就要写Java编程进阶从入门到精通系列
的文章啦!希望大家学习完都可以找到心仪的工作,在自己热爱的岗位上闪闪发光!
个人主页:橙子
推荐学习专栏:Java 编程进阶之路【从入门到精通】
一. 第一个Java程序 Helloworld
首先要说的是,整个Java全栈编程知识体系十分庞大,
包括JavaSE知识,Web前端,Web后端,数据库相关的知识等,初学者应该系统踏实的学习,一步一个脚印。
学习Java语言的第一步,从经典的helloworld的程序开始。 题目:
编写一个Java程序,在DOS窗口打印“Helloworld!”。
//filename:Helloworld.java
public class Helloworld{
public static void main(String[] args){
System.out.println("Helloworld!");
}
}
当然要运行这个程序还要做一些前期的准备,后文讲述。
编译解释运行:
使用javac
命令编译后,在当前文件夹自动生成一个.class
的字节码文件,运行时由JVM解释执行。
二. Java语言的现状
软件开发全球范围迅速发展,熟练掌握一门编程语言为初学者提供了一个很好的起点,以下是2022年编程语言排行榜,可以看到Java语言是我们学习编程很好的选择!
三. Java语言的诞生与发展史
Java语言诞生于20世纪90年代,自诞生以来迅速发展!
Java语言于1995年被定位于网络应用的程序设计语言正式推出,起初,Java语言是Sun
公司的一种用于开发智能化家电的语言,名为Oak
(橡树),并没有得到很大的发展。
1993年,万维网迅速发展,Sun公司利用Oak语言开发具有动态内容的WWW
网页,Oak重新得到很大的重视和发展,并将改造后的语言改名为Java。Sun公司于2009年被Oracle
公司以74亿美元收购。
后来Java语言由于自身功能的强大,被业界广泛的接受,IBM,Apple等大公司都购买了Java语言的许可证,同时,众多软件开发商开发了许多支持Java的产品,在这个以计算机网络迅速发展的时代,Java语言得到了迅猛的发展。
随着Java Servlet的推出,Java语言推动了电子商务的发展,之后Java Server Page的推出更让Java成为web应用程序开发的首选。使Java占据了越来越重要的位置。
四. Java语言一些主要的特点
Java语言是一种完全面向对象的跨平台语言。有很多突出的优点,
例如简单易学,面向对象,分布式,安全可靠,解释型语言,跨平台运行,可移植高性能多线程,可实现网络编程等。
1.简单易学
于C++相比,Java语言去掉了指针,联合体,结构体,使得自身的性能更加稳定
。同时程序员不能通过Java程序直接访问内存地址,保证了很大的安全性。而且其缺少的数据结构的功能完全可以由面向对象的类来实现,简单易学。
2.完全面向对象
Java语言中有一句万物皆对象的说法,与C++相比,Java是一门完全面向对象的编程语言,即Java是以对象为中心,以消息为驱动的编程语言
。面向对象有三大主要特征,即继封装,继承,多态。
封装:利用抽象数据类型把数据和数据之间的操作封装在一起,只有通过访问权限才可以访问相关的数据。
继承:继承是通过已有的类创建新的类的过程,子类可以继承父类所有的属性和方法。Java语言只允许单继承,减少了由多继承带来的歧义,更加的安全。同时Java语言可以通过接口来实现多重继承。
多态:多态是指在一个程序中存在多个同名方法,例如:可以通过重载在一个类中实现多个同名方法,可以通过子类覆盖 父类中的方法实现。即一个接口,多个对外实现的方法。
3.跨平台运行
Java程序编译后自动生成字节码文件,由Java虚拟机JVM解释运行
,使用Java编写的应用程序不用修改,就可以在不同的软硬件平台运行。Java虚拟机在不同的平台有不同的虚拟机,虚拟机不可以跨平台。
4.安全可靠
第一点,Java放弃使用指针,防止对内存的非法访问,第二,显式的方法说明,编译器可以发现方法的错误调用,第三,垃圾回收机制,解决了内存的不合理释放问题,第四,解释器实施检查,防止数组字符串等访问越界,第五,异常处理,简化错误处理任务,使得Java语言可靠。
同样,Java语言是很安全的语言
,由于Java用于网络编程,所以对它的安全性有很高的要求,否则从网络下载程序就会很危险,甚至损害用户的计算机。Java可以通过自身的自己防止病毒的产生和对本地系统的危害。
5.支持多线程,网络编程
线程是比进程小的并发执行单位。
一方面,Java环境的多线程,若干个系统线程运行,另一方面,Java语言内置多线程机制,简化多线程应用程序的开发。
6.编译解释并存
Java语言本质上还是解释型语言
,有编译器编译为独立于平台的字节码文件,字节码文件被解释器解释为二进制文件,并在Java虚拟机上执行代码。同时解决了普通解释型语言执行效率低的问题,使得Java语言迅速发展。
五. Java技术与Java虚拟机
一. Java技术主要包括三个方面
Java SE:又称J2SE,是Java语言的标准版
。
Java ME:又称J2ME,是移动商务最佳的典范,众多小型的电子装置无线通讯手机等都使用Java ME开发。
Java EE:又称J2EE,是Java语言的企业版。是以企业为环境而开发应用程序的解决方案。
二. Java虚拟机
大部分的编程语言程序都是经过编译或者解释之后在计算机运行的,而Java语言要先经过编译器编译,转换成与平台无关的机器码(字节码文件),然后再通过解释器解释运行。
字节码文件是Java虚拟机的指令组,Java编译成字节码文件后尺寸较小,便于网络传输。
字节码最大的好处就是编译一起,处处运行。使用Java编译器编译一次生成字节码文件,便可以在不同平台的JVM上运行。任何一种可以运行Java字节码的软件均可以看作Java的虚拟机,如浏览器与Java开发工具。字节码相当于JVM上面运行的机器码,底层上来说,JVM就是以Java字节码文件为指令组的软CPU
,JVM其实就是一个字节码解释器。
六. Java程序的种类和结构
Java语言可以编写两种类型的程序:Application(应用程序)和Applet(小程序)。这两种程序开发原理相同但是运行环境不同。
应用程序:从命令行运行程序,可以在Java平台上独立运行。主类必须包含一个含有main()方法的主方法,这个方法不仅是应用程序的标志,同时也是Java执行程序的入口。Java应用程序是一个独立的程序,可以调用独立的解释器即可以运行。
小程序:小程序内嵌在HTML(超文本标记语言)中,需要用浏览器来运行,在运行Java小程序时还要为它编写一个HTML文件,在浏览器中运行这个HTML文件,同时就激活了浏览器中的解释器。同样,也可以使用可以模拟浏览器环境并执行Java程序的软件来执行小程序,由于浏览器安全受限,所以一般使用模拟浏览器环境的软件。
两者存在很多不同之处:
第一,运行环境的不同:应用程序的外部输入是命令行,而小程序则是来自Web浏览器大量的信息输入,在浏览器的环境下,它需要知道何时启动,何时激活,关闭。
第二,执行环境的不同:最低要求不同,应用方面,小程序十分便利,适合发布在Internet上,而非网络系统和内存较小的系统更适合Java应用程序。
第三,小程序直接利用浏览器或者AppletViewer提供的图形用户界面,而应用程序要书写专用的代码来实现图形用户界面。
第四,小程序的主类必须是一个继承自系统类JApplet或Applet的子类,且该类必须是public类,应用程序的主类必须是包含主方法的类,但是不一定是public类。
一个Java程序可以有多个源文件构成。下面介绍一个Java程序的具体结构:
package src;
import java.io.*;
public class A_1{
public static void main(String[] args){
char c=' ';
System.out.println("请输入一个字符:");
try{
c=(char)System.in.read();
}catch(IOException s){}
System.out.println("您输入的字符是:"+c);
}
}
在Java类体中有两部分,域(成员变量)主要是常量变量等和成员方法。成员方法类似于C语言里面的函数,可以有参数,但是要在成员方法前面加上访问权限修饰符。
语句是Java程序的基础单位,每个语句以英文状态下的分号结束,类和方法应放在{}之中。
Java语言严格区分大小写,书写时不可以到小写混淆
,另外,在书写Java程序是应该养成良好的习惯,例如代码的换行等。
一个程序只能有一个主类,主类是程序运行的入口。
七. 总结
学完这篇博客,你应该学会这些内容:
- [x] 了解第一个Java程序,培养Java编程兴趣
- [x] Java语言的发展史
- [x] Java技术,Java虚拟机