云栖社区专家系列课——Java必修课第一讲

简介: 根据IEEE Spectrum网站的2017年公布的排名,Java在按雇主需求的语言排名第一,市场需求巨大,发展前景乐观。作为Java必修课第一讲,本节课中,最课程创始人、微软MVP陆敏枝为了大家介绍了当前Java行业的IT人才供需情况、Java基本语法、JDK的下载与安装、Java环境变量的配置以及第一个Java程序的编写、架构与运行,内容既涵盖理论分析又包括动手实践,对零基础入门Java的初学者而言非常适用。

本节课为Java必修课第一讲。在本节课中,最课程创始人、微软MVP陆敏枝为了大家介绍了当前Java行业的IT人才供需情况、Java基本语法、JDK的下载与安装、Java环境变量的配置以及第一个Java程序的编写、架构与运行,内容既涵盖理论分析又包括动手实践,对零基础入门Java的初学者而言非常适用。


课程基本信息

开课时间:每周四下午:1400-1530

主讲人:云栖社区专家,陆敏枝

直播视频链接:

https://yq.aliyun.com/video/play/1492

欢迎下载或在线观看

 

本节课程重点内容

一、IT人才供需情况以及Java语言在IT行业的不同排名状况

每年IT人才市场缺口约在100万人;同时,根据IEEE Spectrum网站的2017年公布的排名,Java在按雇主需求的语言排名第一,在按趋势发展的排行榜排名第四。Java是招聘上最受欢迎语言之一,很大原因是Java能应用于多平台,并且在企业级网页应用和移动端应用开发占据了极其重要的地位,同时各种互联网公司的产品都需要Java来实现。对于初学者,我们优先推荐Java作为入门语言,因为C\C++相对难度更大些,而Python专业背景和工作经验更看重一些。此外,根据京东、网易、百度等代表性企业的薪资情况,在北上杭深等城市,Java的市场就业前景和薪资待遇比较乐观。

 

二、Java基本语法

1、下载安装JDK

在学习Java之前,首先需要下载并安装JDKJDKJava 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。在本系列教学视频中,我们使用的是SE(JavaSE)standard edition,标准版。

JDK具体下载、安装过程详见视频教程(点击进入JDK下载页面)。

d1522f8ff664367e815270192e3d3e285ab1d6d1 

点击DOWNLOAD进入下载界面。选中需要下载Jdk包,Accept License Agreement,下载后解压,按照默认安装即可。

7ce703c6f833485e8c7784beb19bb3d800222a0d 

 

Tips:如果学习语言为了个人兴趣,建议下载最新版本;如果学习语言是为了找工作,建议下载最最新版本之前的前一版本(较为稳定)。

验证是否安装成功

安装完成后,可通过命令提示窗(cmd)中java -version验证是否安装成功,如安装成功,则显示如下界面:

68fb373eb4c29160fc3910528503a6fa2d2321d2 


2Java第一个程序

本小节,将在Java安装目录下的bin目录下编写我们的第一个程序:HelloWorld.java,代码如下:


public class HelloWorld{
public static void main(String[] args){ //mian 函数 主方法
System.out.println("Hello World");
System.out.println("Hello baobao");
System.out.println("Hello rongrong");
System.out.println(1+2);
System.out.println(3*4);
}
}

程序运行

1)运行位置将编写的第一个Helloworld.java程序放在Java->Jdk1.8.0_151(根据安装版本确定)->bin目录下;

2)将文件名称改为:HelloWorld.java,除扩展名外与程序内的类名(public class HelloWorld)保持一致;

3)打开命令行窗口CMD,并进入HelloWorld.java所在的路径;

4)编译Java 程序:javac HelloWorld.java,程序编译成功后,在当前路径下会新生成HelloWorld.class 可执行的二进制文件,如下图所示。

86f4b0469f0e437ebc575a5a0d6d9f57d56ef7d2 

5)执行Java 程序:java HelloWorld,程序运行结果如下。

dc57843766a932a8a045ff208118782c7b4abd60 

3Java环境配置

在未配置Java环境前,如果在别的目录写程序,就不能编译和执行当前目录下的程序,会提示如图所示错误。

0b8de972d3eac7949af6ad4b71a437267d90ff7c 

因此,我们需要设置环境变量Path,让任何路径下的Java程序均可运行。

配置步骤

我的电脑->属性->高级系统设置->环境变量->系统变量-Path中,新建或编辑Java安装路径 C:\Program Files\Java\jdk1.8.0_151;(默认安装位置),注意:如果输入分号,一定要用英文状态下。

9a6d5e9cfdeefb8359c4bd6a0cfca06708473cc6 

另一种配置环境变量的方法:利用%JAVA_HOME%\bin替代C:\Program Files\Java\jdk1.8.0_151,这样一来,系统读取Path时,会自动用JAVA_HOME的值,替换到Path中。

Tip:配置完环境变量后,重新打开命令提示窗(加载环境变量),否则有可能报错。

环境变量设置成功后,我们便可以在任意路径下编写运行Java程序,详细环境变量设置过程,请观看视频

4Java程序的结构

上面的Java程序HelloWorld.java虽然只有短短几行,但是它必须包含以下基本准则:

1)首先,我们程序文件就是一个文本文件,后缀名为.java,不支持其他后缀名;其次,文件中Class 类名必须与文件名一致,否则程序无法运行。

5b18a7a8c47bf2872de6c71cc8ec6f2a3dfebabb 

2)我们的程序文件中必须包含至少一个class(类),我们的代码(除了导包等辅助代码)必须都写到class中,当代码中缺少class时,程序编译时会出现大量错误。

f21ff9f604fcba21633ff8be1f3a410784c8152e 

对于初学者,可以将class理解为存放代码的大容器,里面包含一个个的方法;备注:仅针对初学者。

Tips:编译Java程序时,要留意错误提示信息,便于分析代码存在的问题。

3)在class中,对于初学者而言,我们的代码(除了声明等)都必须写到方法中,可以将方法理解为存放代码的小容器,内含一行行的代码。

方法的标准模式如下:

修饰符 返回值类型 方法名(参数类型1 参数1,参数类型2 参数2,……){

若干行代码;

具体示例如下:

32ad04922783dc96a751707ea27156760677eb73 

简单来说,方法可以理解为现实生活中的一个过程,比如计算器算加法,比如榨汁机榨汁;参数就是你送到这个方法里面的东西(或者叫做值),类比于榨汁机榨汁过程,参数就是送进去的苹果;返回值是指方法要返回东西,榨汁机榨汁就自然是返回果汁,加法自然就是返回相加的值。方法也可能没有返回值,比如我们的main方法就没什么好返回的,那么返回值类型那里我们就写上void

535ea931371abe2129fc3e027a6948d5fee8b1ce 

4)一个可以独立运行的程序,有且仅有一个main方法,它是程序运行的第一个方法。如果去掉main方法或改名,上面的程序就不能运行(可编译)。

370dece14a7bd35af5759dc43d2e248a7b0d8c77 

5、main方法和方法(函数)简述

1main方法

Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是public static void 类型的,方法必须接收一个字符串数组的参数等等。也就是说,main方法一定如下所示

public static void main(String[] args){
代码
}

这句代码中的args是用来接受程序启动时候附加的参数的,比如,我们的程序这样启动,

java HelloWorld 1 2 3 zhezhe

那么args存放的就是一个123zhezhe数组集合String[]就是对它的定义(声明),String[]表明args字符串数组。因此,我们可以通过 

System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[2]);
System.out.println(args[2]);

注:计算机中顺序是从0开始算起。此外,args参数参数名可以更改,但习惯性写成args

2)方法(函数)简述

main方法之外,我们还可以定义其他方法。例如,我们可以实现一个加法方法,该方法接收两个整数,返回整数结果。

按照方法的模板:

修饰符 返回值类型 方法名(参数类型1 参数1,参数类型2 参数2,……){

若干行代码;

写出加法方法:

public static int add(int a, int b){
int re = a + b;
return re;
}

使用该方法计算数值时,就可以在main方法中调用add方法,给定输出值12

public static void main(String[] args) {
int theResult = add(1, 2);
System.out.println(theResult);
}

上面add方法代码中,int aint b,表明这个方法接受两个类型为int(整型)的参数输入add方法名前面的int,表明这个方法的返回值也为int代码中的return,表明这里这个方法要返回了,并且返回了一个re对于修饰符public static后续课程我们会讲到。

课后作业:

课后大家可以尝试实现乘法、减法等方法实现并在主函数调用。


课程介绍

本套课程是零基础Java学习者的入门课程,涵盖了Java初学者应该掌握的所有核心知识,并由最课程创始人、微软MVP陆敏枝主讲。课程内容包括了基本语法、运算符、流程控制、面向对象、Java APIIO流、多线程、反射与代理。旨在通过本次课程,在对Java这门编程语言有初步的了解的基础上为后续学习高级课程打下坚实的基础。


相关文章
|
4月前
|
设计模式 运维 并行计算
GitHub上的677页Java性能优化笔记火了!竟是阿里调优专家肝出的
Java是目前应用最为广泛的软件开发平台之一。随着Java及Java社区的不断壮大,Java早已不再是一门简单的计算机语言了,它更是一个平台、一种文化、一个社区。
|
Java
《阿里特邀专家关键:Java无锁集合代码分析》电子版地址
阿里特邀专家关键:Java无锁集合代码分析
63 0
《阿里特邀专家关键:Java无锁集合代码分析》电子版地址
|
Java Docker 容器
《阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库》电子版地址
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库
207 0
《阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库》电子版地址
|
Java Spring
《云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧》电子版地址
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧
98 0
《云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧》电子版地址
|
人工智能 架构师 前端开发
清华大牛带领20位大厂专家耗时三年整理出这份2000页Java进阶指南
自我介绍: 马士兵教育: 由马士兵老师携手BATJ名师为大家提供java架构师培训,人工智能培训,大数据培训,软件测试培训,Web前端培训,区块链培训等课程,课程均由一线互联网公司技术大牛精心研发,全程项目式教学!
|
机器学习/深度学习 分布式计算 Cloud Native
Java 程序员可以学习的技术方向,精通任何一个都可以成为专家
Hello 大家好,相信大家跟阿粉一样,在成为卓越的Java 程序员的路上从未停止过学习,作为一个 Java 程序员还有很多我们需要学习的东西,特别是在这样一个技术快速发展的时期可能昨天还在流行的技术,转眼就已经落后了。那么在 2021 年已经接近尾声的时候有哪些技术我们可以继续不断的学习呢?
Java 程序员可以学习的技术方向,精通任何一个都可以成为专家
|
Java
华为技术专家深度解析Java线程状态(下)
华为技术专家深度解析Java线程状态
91 0
华为技术专家深度解析Java线程状态(下)
|
Java 调度
华为技术专家深度解析Java线程状态(上)
华为技术专家深度解析Java线程状态
94 0
华为技术专家深度解析Java线程状态(上)
|
NoSQL 安全 网络协议
阿里华为技术专家教你如何实现一个Java连接池?(下)
阿里华为技术专家教你如何实现一个Java连接池?
82 0
阿里华为技术专家教你如何实现一个Java连接池?(下)
|
安全 网络协议 NoSQL
阿里华为技术专家教你如何实现一个Java连接池?(上)
阿里华为技术专家教你如何实现一个Java连接池?
218 0
阿里华为技术专家教你如何实现一个Java连接池?(上)