前言
C: 在上一篇,咱们搭建好了 Java 语言的开发环境,这一篇查老师就带着大家欢快的写出咱们的第一个程序,不过本篇咱们是应用记事本(比拟原生态)来写程序,并不应用其余的高级开发工具,所以可能会显得比拟低端,请大家见谅。
饭要一口一口的吃,工具也要一点一点的降级,技术也要一点一滴的积攒。
系列浏览
查老师有话说: 尽管查老师心中你是最棒的,然而如果你上一篇没看,还是倡议关上疾速串一下,以避免对下方的内容无奈放弃连贯性。
- 《Java 语法 | Java 概述》
- 《Java 语法 | 开发环境搭建》
- 《Java 语法 | 第一个 Java 程序》
开发步骤
一个 Java 程序的开发,须要通过:编写源码,编译源码和运行,这三大阶段。
和查老师来体验一下吧!源代码 / 源程序:程序的原始指令,由程序员编写。
1. 首先应用记事本编写源代码文件(Java 程序的源代码文件扩大名为 .java
)。
2. 关上 cmd 命令窗口,进入源代码所在地,应用 javac
命令编译,生成 .class
文件。
查老师有话说: 编写完的源代码,计算机是无奈间接执行的,因为它只辨认二进制,所以咱们须要一个
翻译官
帮忙咱们去翻译下,这样计算机才可能辨认。翻译官
就是编译器,编译之后就会呈现一个扩大名为.class
的字节码文件(它并非纯二进制文件,是运行于 JVM 中的一种伪二进制文件),这时才可能被计算机执行。
3. 应用 java
命令运行 .class
文件。
运行
.class
文件时不能加上.class
后缀名。
这样咱们就实现了第一个 Java 程序,咱们借助它给计算机下达了一个在控制台输入 Hello World!!!
的指令。
查老师有话说: 为什么咱们开始编写的第一个程序要输入 Hello World 这句话?
理论是因为《The C Programming Language》这本 C 语言书籍中应用它做了第一个演示程序,十分驰名,所以起初的程序员在学习编程或进行设施调试时连续了这一习惯。
一个程序员才懂的冷笑话:一位资深程序员到了退休的年纪,为了给本人的晚年生活减少点乐趣,开始学习书法,在开始学习书法的第一天,资深程序员铺开纸张,大笔一挥
Hello World
!
根本程序结构
方才咱们编写了第一个 Java 程序,只管背了相干单词,但必定还是看的云里雾里的。查老师先给你个揭示,当初呢不要求你过多了解它们的含意,只须要晓得它的成果和注意事项即可。随着学习的深刻,缓缓就会深刻意识和了解了,千万别钻牛角尖 ,因为还没给你讲的必定是因为查老师认为目前还不是太适宜你的, 欲速则不达。
下方是你当初须要记忆的注意事项和标准:
- 类名与文件名完全一致,首字母大写(帕斯卡 / 大驼峰命名法)。
- main() 办法是程序的入口,四因素必不可少。
- 外围语句:System.out.println(); 从控制台输入信息,S 是大写。(Java 严格辨别大小写)
- {和}一 一对应,缺一不可。(留神模拟查老师的编写习惯)
- 留神要有层级缩进,一行只写一条语句即可。
查老师有话说:“好的代码应该是给人看的,而不是给机器看的。” 下面的 5 条注意事项,其实 4 条都在强调标准,编码标准十分重要!
一个软件的生命周期中,80% 的破费都在于保护。简直没有任何一个软件,在其整个生命周期中,均由最后的开发人员来保护。编码标准能够改善软件的可读性,能够让程序员尽快而彻底地了解新的代码。更多标准除了模拟查老师文章示例习惯外,还请后续随时与查老师一起解读《阿里巴巴 Java 开发手册》。
输入语句
其实输入性能,不仅仅只有 println()
这一个语法,还有去掉了 ln
之后的 print()
也能够实现。
System.out.print(); // 输入完不换行
System.out.println(); // 输入完换行
如果想让 print()
实现 println()
的成果,能够借助本义符。
本义符
阐明
n
将光标挪动到下一行的第一格
t
将光标挪动到下一个程度制表地位
// 下方前两行和第三行代码是等效的。
System.out.println(“Hello”);
System.out.println(“World”);
System.out.print(“Hello n Worldn”);
正文
在 Java 的编写过程中咱们须要对一些程序进行正文,这样除了本人更不便浏览,他人也更好了解咱们的程序,所以咱们肯定要适时的加一些正文,能够是编程思路或者是程序的作用。
Java 中有三种正文:
- 单行正文以
//
开始; - 多行正文以
/*
结尾,以*/
结尾; - JavaDoc(文档正文)正文以
/**
结尾,以*/
结尾(文档正文后期理解,前期再把握)
/**
- HelloWorld.java
- 第一个 Java 程序
*/
public class HelloWorld{
public static void main(String[] args){
// 输入音讯到控制台(单行正文后留神增加一个空格,这是一个小标准)
System.out.println(“Hello World!!!”);
}
}
跨平台原理
在《Java 语法 | Java 概述》中,查老师讲 Java 的能力时就埋了一个伏笔,Java 程序是跨平台的,何谓跨平台?查老师给你举个非跨平台的程序例子,下图是百度网盘客户端程序的下载页面,它为了可能运行在不同的平台(零碎)上,开发了 6 套零碎(其实是 7 套,还有一套网页版)。看到这其实你就应该能明确为什么跨平台是一个十分优良的能力了。
而通过方才编写完第一个 Java 程序之后,咱们思考一下 Java 为什么能跨平台?其实在开发步骤中就能找到起因。编译!编译会将源代码转变为字节码文件(伪二进制),而这伪二进制内容将来运行时是运行在 JVM(Java Virtual Machine)上的,换而言之,其是因为 JVM 能跨平台装置,所以 Java 能力实现跨平台。
由此,Java 程序员就能够不必思考所写的程序要在哪里运行了,反正都是在 JVM 虚拟机上运行的,JVM 会负责将其变成相应平台的机器语言,而这个转变并不是程序员应该关怀的。后续的很多优良程序设计都采纳了该思维。
Java 虚拟机有本人欠缺的硬件架构,如处理器、堆栈等,还具备相应的指令系统。
Java 虚拟机实质上就是一个程序,当它在命令行上启动的时候,就开始执行保留在某字节码文件中的指令。Java 语言的可移植性正是建设在 Java 虚拟机的根底上。任何平台只有装有针对于该平台的 Java 虚拟机,字节码文件(.class)就能够在该平台上运行。这就是“一次编译,屡次运行”。
Java 虚拟机不仅是一种跨平台的软件,而且是一种新的网络计算平台。该平台包含许多相干的技术,如合乎凋谢接口标准的各种 API、优化技术等。Java 技术使同一种利用能够运行在不同的平台上。Java 平台可分为两局部,即 Java 虚拟机(Java virtual machine,JVM)和 Java API 类库。[1]
目前先理解到这种水平即可,JVM 深刻学习是将来晋升 “Java 内功 ” 的重要一步,但它不太适宜刚学习的你。
编译和反编译
从方才的学习中,咱们分明了编译是将源代码文件转换为了字节码文件,这字节码文件也是当前咱们运行所需的。如果有一天,你的老板给你了一堆字节码文件,让你去借鉴一下内容(源代码),你当然晓得字节码文件里是一堆乱码了,所以随着而来的,咱们须要它再转换为源代码文件,这就是反编译,咱们能够借助工具来更快,更好的批量解决。
编译: 将源文件(.java)转换成字节码文件(.class)的过程称为编译。
反编译: 将字节码文件(.class)转换回源文件(.java)的过程称为反编译。(罕用有 Jad、FrontEnd、jd-gui)
此处仅仅演示利用 Jad
来将 HelloWorld.class 进行反编译,相似的工具还有 jd-gui 等。
查老师出题环节
输入根本信息
需要:逐行输入集体根本信息。
提醒:集体根本信息可包含:姓名、年龄、性别、身高、体重、婚否等
参考文献
[1]顾玮. Java 虚拟机的剖析与钻研[J]. 办公自动化,2017,22(9):35-36,11
后记
好了,第一个 Java 程序的介绍也就到这儿完结了,本篇的作业请微信搜寻关注:查老师的讲义 ,而后回复 第一个 Java 程序作业 即可。
感觉怎么样?概念是否分明了?语法是否记住了?
明天这篇,查老师给大家留个工作。首先请自行敲一遍老师示例的代码(正文量要求不低于 40%),并整顿下本人的笔记,理清整章节思路。而后再做个练习试试,例如:通过记事本编写 Java 程序,将你最喜爱的两首诗的内容别离打印在屏幕上。
好了,本篇就到这儿吧,咱们下一篇见!????
查老师有话说: 对于技术的学习,查老师一贯遵循的步骤是:先用最最简略的 demo 让它跑起来,而后学学它的最最罕用 API 和 配置让本人能用起来,最初纯熟应用的根底上,在闲暇时尝试浏览它的源码让本人可能洞彻它的运行机制,局部问题呈现的起因,同时借鉴这些技术实现来晋升本人的代码高度。
所以在查老师的文章中,后期根本都是小朱文,仅仅交叉很大量的源码钻研。当然等小朱文更新多了,你们还仍然喜爱,前期会不定时专门对局部技术的源码进行解析。