🌂c/java领域新星创作者
🎉欢迎👍点赞✍评论❤️收藏
😛😛😛希望我的文章能对你有所帮助,有不足的地方还请各位看官多多指教,大家一起学习交流!今天开始,就正式进入Java的学习!
目录
下图数据来自于TIOBE编程语言社区的排行榜,java常年占据语言排行榜,是近些年最火的编程语言之一。
TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经 验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、 Wikipedia、YouTube 以及 Baidu 等)进行计算。
注意:上述排名不能说明那个语言好,那个语言不好,每门编程语言都有适应自己的应用场景。
Java语言目前在IT领域的应用是非常广泛的,掌握Java语言可以从事不少IT行业的相关开发岗位,具体包括:
除上述开发领域外,Java在游戏领域、人工智能领域、科学计算领域、嵌入式领域也有一定的应用。因此学好 Java,将来就业的选择也会非常广泛。
简单性:Java 语法是 C++ 语法的一个 “ 纯净版本 ” ,相当于对 C++ 做了一个减法。这里没有头文件、指针运算(甚至指针语法)、结构、联合、操作符重载、虚基类等等。不仅如此,Java 开发环境远远超出大多数其他编程语言的开发环境。
面向对象:什么是面向对象?在 Java 的世界里,一切皆对象 。比如:人、狗、手机、电脑等都是对象。所谓面相对象,就是依靠对象之间的交互来完成事情,比如:人用手机网上购物,狗吃骨头...Java 的面向对象特性与 C++ 旗鼓相当,与 C++ 的主要不同点在于多重继承。在 Java 中,取而代之的是更简单的接口概念。而且与C++ 相比, Java 提供了更丰富的运行时自省功能。
分布式
Java有丰富的例程库,用于处理像HTTP和FTP之类的TCP/IP协议。Java应用程序能够通过URL打开和访问网络上的对象,其便捷程度就好像访问本地文件一样。
健壮性:
Java 与 C++ 最大的不同在于 Java 采用的指针模型可以消除重写内存和损坏数据的可能性(对于曾经花费几个小时来检查由于指针bug 而引起内存冲突的人来说,一定很喜欢 Java 的这一特性)。不仅如此, Java 编译器能够检测许多在其他语言中仅在运行时才能够检测出来的问题。
安全性:
Java 适用于网络 / 分布式环境。为了达到这个目标,在安全性方面投入了大量的精力。使用 Java 可以构建防病毒、防篡改的系统。从一开始,Java 就设计成能够防范常见的各种攻击。
体系结构中立:
编译器生成一个体系结构中立的目标文件格式,按照该中规范生成的文件,只要有Java运行时系统,这些编译 后的代码就可以在许多处理器上运行。Java编译器通过生成与特定计算机体系结构无关的字节码指令来实现这一特性。精心设计的字节码不仅可以很容易的在任何机器上解释执行,而且还可以动态地翻译成本地机器代码。这就是为什么可以:“Wrice once,Run anywhere” 。
可移植性:
与C/C++不同,Java规范中没有“依赖具体实现的地方”。基本数据类型的大小以及有关运算都做了明确的说明。例如,Java中的int永远是32位的整数,而在C/C++中,int可能是16位整数、32位整数,也可能是编译器提供商指定的其他大小。在Java中,数据类型具有固定的大小,这消除了代码移植时令人头疼的主要问题。
解释性:
Java 为了实现与平台无关,自己维护了一套基于栈架构的指令集, Java 源代码经过编译之后,字节码文件中的指令就是按照自己的指令集来组织的,但是在具体硬件环境中运行时,系统并不能识别,因为Java 程序在执行时,Java 解释器会逐条的将字节码文件中的指令翻译成 CPU 的指令集。
高性能:
边解释边执行,垃圾会说等导致了 Java 代码运行效率偏低,近年来 JVM 也在不断的优化,比如: JIT( 即时编译器) ,热点代码探测,让 Java 程序的执行效率大幅提高,在有些场合不亚于 C/C++ 。
多线程:
Java 在当时很超前。它是第一个支持并发程序设计的主流语言。多线程可以带来更好的交互响应和实时行为。并发程序设计绝非易事,但是Java 在这方面表现出色,可以很好的管理这个工作。
动态性:
Java 与 C/C++ 相比更加具有动态性。它能够适应不断发展的环境。库中可以自由的添加新方法和实例变量,而对客户端没有任何影响。在Java 中找出运行时类型信息十分简单。
因此:Java不仅仅是一门编程语言,也是一个由一些列计算机软件和规范组成的技术体系。
- public class test {
- public static void main(String[] args) {
- System.out.println("hello");
- }
- }
如上展示的就是最简单的一个Java程序。可以说,Java的main方法应该是当前主流编程语言中最“长”的。
通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:
1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。2.类:类中带有一个或多个方法。方法必须在类的内部声明。3.方法:在方法的花括号中编写方法应该执行的语句。总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。注意:在一个源文件中只能有一个 public 修饰的类,而且源文件名字必须与 public 修饰的类名字相同 。好了,代码编写完了,如何让它 “ 运行 ” 起来呢?
Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
JDK,JRE,JVM之间的关系是什么呢?
JDK (Java Development Kit):Java 开发工具包,提供给 Java 程序员使用,包含了 JRE ,同时还包含了编译器javac 与自带的调试工具 Jconsole 、 jstack 等。JRE (Java Runtime Environment):Java 运行时环境,包含了 JVM , Java 基础类库。是使用 Java 语言编写程序运行的所需环境。JVM : Java 虚拟机,运行 Java 代码
编写和运行第一个 Java 程序时,可能会遇到的一些错误:1. 源文件名后缀不是 .java2. 类名与文件名不一致3. main 方法名字写错: mian4. 类没有使用 public 修饰5. 方法中语句没有以分号结尾6. 中文格式的分号7. JDK 环境没有配置好,操作系统不能识别 javac 或者 java 命令
Java中的注释主要分为以下三种:
单行注释: // 注释内容(用的最多)多行注释: /* 注释内容 */ (不推荐)文档注释: /** 文档注释 */ (常见于方法和类之上描述方法和类的作用 ) ,可以被 javadoc 工具解析,生成一套以网页文件形式体现的程序说明文档注意:1. 多行注释不能嵌套使用2. 不论是单行还是多行注释,都不参与编译,即编译之后生成的.class文件中不包含注释信息。
1. 内容准确 : 注释内容要和代码一致 匹配 , 并在代码修改时及时更新。2. 篇幅合理 : 注释既不应该太精简 , 也不应该长篇大论。3. 使用中文 : 一般中国公司都要求使用中文写注释 , 外企另当别论。4. 积极向上 : 注释中不要包含负能量 。
下面那些标识符是合法的?A : class B : HelloWorld C : main D : 123abc E : ARRAY_SIZE F: $name G: name:jim答案:BCEF
注意:用户不能使用关键字定义标识符。
在Java中关键字有很多,这里给大家列出来一部分:
用于定义访问局限修饰符的关键字 | ||||
private | protected | public | ||
用于定义类、函数,变量修饰符的关键字 | ||||
abstract | final | static | sychronized | |
用于定义类与类之间关系的关键字 | ||||
extends | implements | |||
用于定义建立实例及引用实例,判断实例的关键字 | ||||
new | this | super | instanceof | |
用于异常处理的关键字 | ||||
try | catch | finally | throw | throws |
用于包的关键字 | ||||
package | import | |||
其他修饰符关键字 | ||||
native | strictfp | transient | volatile | assert |
🎉🎉🎉好啦,今天我们就先初步了解一下java,后续我将给各位看官慢慢道来!