初识Java

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 初识Java

结束了c语言的课程,就面临着选方向,绝大部分人要么选择Java要么选c++,也有学校教python,无非就这三个方面。我选择的是Java方向。接下来我将开始简单介绍一下Java。


Java之父简介:


说到Java不得不提到Java之父:·高斯


高斯林出生于加拿大,是一位大人口中的计算机编程天才。在他12岁的时候,就能自己设计电子游戏机,或者帮邻居修理收割机这种技术活。


高斯林大学时期在加拿大卡尔加里大学天文系担任程式开发工读生,1977年获得了计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位。在卡内基·梅隆大学攻读计算机博士学位时,他编写了多处理器版本的 Unix 操作系统上运行的 Emacs 类编辑器 Gosling Emacs(以C语言编写,使用 Mocklisp 作为扩展语言)。


f568633942d2733c61f7d75ba534dd59.jpg


毕业后高斯林到了 IBM 工作,设计了 IBM 第一代工作站 NeWS 系统,但没有收到公司领导的重视,这也导致他后来跳槽到了 Sun 公司。1990年,与Patrick Naughton和Mike Sheridan等人合作“绿色计划”,后来发展一套语言叫做“Oak”,后改名为Java。1994年底,James Gosling在硅谷召开的“技术、教育和设计大会”上展示Java程式。2000年,Java成为世界上最流行的电脑语言。


Java之父高斯林创造了伟大的编程语言——Java,在TIOBE排行榜上,Java常年排名第一。现在这位祖师爷依然战斗在编程最前线,宝刀不老。高斯林曾谈论过计算机编程艺术,他认为和精力守恒定理一样:你投入到程序中的精力越多,用户使用时遇到的麻烦和折腾的精力就会越少,程序员要做的,正是在开发端和用户端之间尽量平衡开发和用户的复杂度。


这是我在百度百科找到的,简单了解一下就好。


语言最开始只是Sun计算机(Sun MicroSystems)公司在1990年12月开始研究的一个内部项目。后来被Oracle公司收购了,所以现在是Oracle公司在维护 jdk 等等。


1. Java语言概述


1.1 Java是什么


Java是一门面向对象的编程语言,不仅吸收了C++、C语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。


不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于嵌入式系统、移动终端、企业服务器、大型机等各种场合。


1.2 Java语言重要性


1.2.1. 语言广泛使用程度


下图数据来自于TIOBE编程语言社区2017年12月和2018年10月最新的排行榜,常年占据语言排行榜榜首,是近些年最火的编程语言之一。


6f164873ff7f001b90cf745505be2b33.png


TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、 课程和第三方厂商的数量。排名使用著名的搜索引擎(诸如 Google、MSN、Yahoo!、Wikipedia、YouTube 以及 Baidu 等)进行计算。


注意:上述排名不能说明那个语言好,那个语言不好,每门编程语言都有适应自己的应用场景。


1.2.2 工作领域


Java语言目前在IT领域的应用是非常广泛的,掌握Java语言可以从事不少IT行业的相关开发岗位,具体包括:

企业级系统

比如大型复杂的企业级软件系统,Java的安全机制以及跨平台性的优势,其在分布式系统领域开发中有广泛应用,涉及到金融、电信、交通、电子商务、ERP系统等。

Web开发领域

Java语言在设计初期,赶上了互联网发展的风口,当时就瞄准了互联网开发,凭借稳定的性能表现和较好的扩展性,Java语言一直是大型互联网平台的重要解决方案。

android平台应用

Android是一种智能手机操作系统,Java是一门非常流行的编程语言。Android上的应用程序就是大多是用Java编写的,Android的SDK大部分就是直接将Java SDK翻译过来的,所以具有Java基础,也可以快速上手Android开发。

大数据平台开发

大数据相关的各类框架,比如:Hadoop、spark、storm、flink等,以及各种中间件flume、kafka、

sqoop等,这些框架以及工具等大多数是用Java语言开发的,随着大数据技术的落地应用,Java在大数据领域的应用前景也是比较广阔的。


1.2.3. 在校招中的岗位需求


bf546018cdbe4573854ad2dd27c29c50.png


这是随便找的一张图,从上述位置需求中可以看出,由于应届生缺少实际工作经验,因此校招中企业更看重学生的基础,也就是:

语言、数据结构/算法、操作系统、网络、数据库等,其他的属于加分项


1.3 Java语言发展简史


7e68794114a5402b99003c786f55fb82.png


1.4 Java语言特性


Java具有简单性、面向对象、分布式健壮性安全性、平台独立与可移植性、多线程、动态性等特点 。Java可以编写桌面应用程序、Web应用程序、分布式系统嵌入式系统应用程序等 。

这些在未来会慢慢一个个得接触到,这里就一笔带过。


2. 初识Java的main方法

2.1 main方法示例


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


Java的写法,和C语言不一样,我们更习惯将,大括号的左边写在成员上一行的前面。


如上展示的就是最简单的一个Java程序,可能同学们看到后一头雾水,可以说,Java的main方法应该是当前主流编程语言中最“长”的。

通过上述代码,我们可以看到一个完整的Java程序的结构,Java程序的结构由如下三个部分组成:


1.源文件(扩展名为*.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。

2.类:类中带有一个或多个方法。方法必须在类的内部声明。

3.方法:在方法的花括号中编写方法应该执行的语句。

总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。


注意:在一个源文件中只能有一个public修饰的类,而且源文件名字必须与public修饰的类名字相同。

好了,代码编写完了,如何让它“运行”起来呢?


2.2 运行Java程序


Java是一门半编译型、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class文件是由字节码组成的平台无关、面向JVM的文件。最后启动java虚拟机来运行.class文件,此时JVM会将字节码转换成平台能够理解的形式来运行。


1.可以选择用记事本或者某个可以编写Java的IDE(集成开发环境)编写Java源程序。

2.使用javac.exe编译器编译Java源程序,生成xxx.class的字节码文件。

3.使用Java 运行xxx.class的字节码文件。


注意:在运行Java程序前,必须先安装好JDK(Java Development Kit即Java开发工具包),JDK里面就包含了javac和ava工具,Java程序最终是在JVM(Java虚拟机)中运行的。


f019f49a3e5e4d1b85eaa62dc1cb77f0.png



JDK、JRE、JVM的内在联系。


JDK(Java Development Kit):Java开发工具包,提供给Java程序员使用,包含了JRE,同时还包含了编译器javac与自带的调试工具Jconsole、jstack等。

JRE(Java Runtime Environment):Java运行时环境,包含了JVM,Java基础类库。是使用Java语言编写程序运行的所需环境。

JVM:Java虚拟机,运行Java代码。


3. 注释


注释是为了让代码更容易被读懂而附加的描述信息. 不参与编译运行, 但是却非常重要.

时刻牢记! 代码写出来是为了给人看的, 更是为了给三个月后的你自己看的.


3.1 基本规则


单行注释:// 注释内容(用的最多)

多行注释:/* 注释内容*/(不推荐)

文档注释: /** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档


4. 标识符


在上述程序中,Test称为类名,main称为方法名,也可以将其称为标识符,即:在程序中由用户给类名、方法名或者变量所取的名字。

【硬性规则】
标识符中可以包含:字母、数字以及 下划线和 $ 符号等等。
注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。


【软性建议】
类名:每个单词的首字母大写(大驼峰)
方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
变量名:与方法名规则相同


一个大型的工程,是由多名工程师协同开发的,如果每个人都按照自己的方式随意取名,比如:person、PERSON、Person、_person,将会使程序非常混乱。如果大家在取名时能够遵守一定的约束(即规范),那多人写除的代码仿佛一个人写的。


通过观察上述程序可以发现,public、class以及static等颜色会发生变化,将这些具有特殊含义的标识符称为关键

字。即:关键字是由Java语言提前定义好的,有特殊含义的标识符,或者保留字。

注意:用户不能使用关键字定义标识符。

在Java中关键字有很多,这里给大家列出来一部分,先了解下后序在逐一详细解释。


4faf2f85115648de8a96c5b1f5c4f15f.png

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
6月前
|
人工智能 算法 Java
约数个数(c++, java)
约数个数(c++, java)
36 0
|
分布式计算 JavaScript Java
学JAVA,从现在开始-day01
每日记录自己学习java的心得和体会~
AbstractDemo.java
AbstractDemo.java
71 0
|
Java API Windows
|
数据安全/隐私保护 Android开发
java32-巩固练习
java32-巩固练习
108 0
java32-巩固练习
Java8-ConcurrentUtils
import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; public class ConcurrentUtils { public static void s...
864 0
|
分布式计算 Java Hadoop