打开Java之门——一个Java SE小白的学习日志1【极客BOY-米奇】

前言(转载请说明作者:极客BOY)

  • 2020.2.19

    第一版发布

  • 2020.5.12

    优化排版与更新

由于第一次在CSDN写(技术)博客,好多硬核的Markdown语法与用法还一概不知,让我好好钻研一通。😂
本博主来自滨州学院信息工程学院2019级软件2班的一名Ordinary Student。
我爱好电脑硬件,对于软件基本上还是刚刚入门阶段,如果您刚刚好看到了这篇文章,请dalao们指教,本人对于计算机软件编程与硬件编程都抱有兴趣,大家都是我的老师,在文章中出错的话,希望大家多多指教~
费话不多说了,赶紧开始正式内容。

打开Java之门

Java EE、Java ME、Java SE总称Java
Java像它的Logo一样,略微苦涩,却回味无穷……

Why learn Java?

Java可跨平台编程,通用性当然比较高,而且它面向对象。
以下来自百度百科:面向对象

面向对象是相对于面向过程来讲的,面向对象方法,把相关的数据和方法组织为一个整体来看待,从更高的层次来进行系统建模,更贴近事物的自然运行模式。

Java JRE安装界面的 “3 Billion Devices Run Java” 也很好的说明了Java语言在全球设备中使用的普遍性与广阔的编程前景。并且,Java的有着简单的语法与众多易用IDE可以使用,给编程爱好者带来了许多便利。

Java具有卓越的通用性、高效性、平台移植性和安全性。广泛用于个人PC、ATMs、游戏控制台、科学超级计算机、移动电话和互联网。
以下来自百度百科:Java

Java语言特点:1.简单性、2.面向对象、3.分布性、4.编译和解释性、5.稳健性、6.安全性、7.可移植性、8.高性能、9.多线索性、10.动态性。

Java’s History

詹姆斯·高斯林 (James Gosling)软件专家,1955年5月19日出生于加拿大,Java编程语言的共同创始人之一,一般公认他为“Java之父”。

PS:Oak源于C++,对C++进行了改造,去除C++了一些相对冗余与影响安全的成分,并且更加符合嵌入式系统的实时性要求
据说Oak名字起源于一棵橡胶树。
因为Oak语言为智能化家电而设计,而在当时,市场需求与硬件支持少之又少,所以当时Oak语言并没有被广泛使用,而Oak改造而来的网络编程的语言因为Internet的兴起而大起波澜,此语言就是Java语言的前身。
再据说Java名字起源于与咖啡有关的印度尼西亚咖啡豆产地:爪(zhˇao)哇岛

部分内容来源自:Java简史(作者:彭英峻)原文链接

时间事件
1991年4月James Gosling博士领导的Green Project绿色计划项目启动,语言名:Oak,绿色项目着力发展家用电器的控制与通讯功能。
1995年5月23日Oak正式更名为Java,原因是因为注册的时候名字被一家显卡制造商占用。Java提出口号:“Write Once,Run Anywhere.”
1996年1月23日JDK1.0 第一个正式版本横空出世。
1997年2月19日JDK1.1 更新重大功能,例如内部类、反射等。
1998年12月4日JDK1.2 确定了Java的三个发展方向:J2EE、J2SE、J2ME。
2000年5月8日JDK1.3 确定每两年升级一次版本的规定。
2002年2月13日JDK1.4 (PS:JDK1.2-1.4统称Java 2)。
2004年9月30日JDK5.0(JDK1.5),又名Tiger,提供众多的类库。三个方向分别叫:Java EE、Java SE、Java ME。
2006年12月11日JDK6.0(JDK1.6)历史性时刻,开源Java源码。
2009年4月20日Sun公司被Oracle公司收购,当然Java作为Sun公司的重要作品,也被收购了。
2011年7月28日JDK7.0(DK1.7) 期间各种情况导致每两年升级一次版本的规定被打破,1.7版本是阉割版本,各种技术升级被推迟。
2013年9月JDK8.0(JDK1.8) 代表性技术Lambda表达式(本来属于1.7版本升级内容),多核处理器时代。(在博主撰写此技术博客时,此版本属于现在的长期版本。)
2017年9月21日JDK9.0(JDk1.9)。
2018年3月JDK10.0。
2018年9月JDK11.0。
2019年3月JDK12.0。
2019年9月JDK13.0。
2020年3月17日JDK14.0。

What’s the “Java JDK”?

Theory

theory 英[ˈθɪəri] 美[ˈθiːəri]
n. 学说; 论; 说; 理论; 原理; 原则; (未证明的) 意见; 看法; 推测;
[其他] 复数:theories

工欲善其事必先利其器
JDK全称Java Development Kit,JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的Java应用程序。JDK是整个Java开发的核心,它包含了JAVA的运行环境(JRE)(JVM虚拟机+Java系统类库)和JAVA工具(JDK)。
总的来说,你不下载JDK想编程开发Java软件,门都没有!

How to download “Java JDK”?

毫无疑问,当然是官网啦 【手动狗头给👴爬】
友情链接🔗:https://www.oracle.com/java/technologies/javase-downloads.html
PS:在下载JDK之前会要你同意协议并注册账号哦!不然下载是不可能的。【强制注册必须要给“好评”】
温馨提示:对于像我这样的新手小白来说,下载长期稳定的JDK 8uXXX就可以了,当然新版也有很多新功能,但是在我们Java SE开发者的初级阶段,这些新版功能是我们用不到的,下载一个稳定的JDK还是非常有必要的。

JDK’s File Dir(Windows)

bin Dir
bin\文件名作用
javac.exeJava编译器
java.exeJava运行工具
jar.exe打包工具
javadoc.exe文档生成工具
…………
db Dir

从JDK6.0开始,Java引入了JavaDB,由纯Java实现,并且开源的数据库管理系统,支持JDBC4.0所有规范

jre Dir

jre即Java运行时环境。

包含:
Java虚拟机、运行时的类包、Java应用启动器以及一个bin目录(不包含开发环境中的开发环境)

lib Dir

lib为library的缩写。意思为Java类库或者库文件。

src.zip:
放置的是JDK核心类的源代码,可对此文件进行探究以发现类的实现方法并学习一些Java输入规范。

How Java works?

Created with Raphaël 2.2.0 开始编写源代码(e.g. HelloWorld.java) 编译(javac.exe) 字节码文件(HelloWorld.class) 运行(java.exe) JVM 错误 yes no

Java的字节码文件(.class)可以跨平台运行,这个就是Java语言优于C语言的方面。

Say:Hello World!

Edit Java Code

/*
*文件名:HelloWorld.java
*///注意:在编译中所有语法的符号全都是半角状态。
public class HelloWorld{//HelloWord为类的名字,务必与Java源文件名保持一致。
	public static void main(String[] args){//
		System.out.println("Hello World!");//在eclipse中可输入sysout并且按“Alt+/”快捷键快速完成println方法的输入
		}//main方法。
}

“类”的一些现实理解(引用):
所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。
类是具备某些共同特征的实体的集合,它是一种抽象的概念,用程序设计的语言来说,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象。
类与对象的关系:
类是对象的集合,对象是类的实例;对象是通过new className产生的,用来调用类的方法;类的构造方法 。
比如“人类”就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“名字、年龄”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合,而对象就是类的一个具体实例。同时类有多态和继承,例如“人类”可以分为“男人、女人”,“老人、小孩”那么“男人、女人”就是“人类”的子类等等。一楼的说“轿车”是一个实例化,我觉得有点不妥,“轿车”应该是“车”的一个子类,例如“车牌号是*的轿车”才是一个对象。方法是被对象调用的比如“张三.穿衣()”,用static修饰的方法是静态的方法或称为共享方法,一般用类名直接调用。

Run Java Application

在运行之前千万别忘了在系统变量Path中加入Java JDK中的bin文件夹!
开始操作!
可以开启cmd(命令提示符)与Windows 7后支持的Powershell来编译与运行Java源代码文件。

例如我把HelloWorld.java放入D盘符的根目录中:

D:
javac HelloWorld.java
java HelloWorld

不出意外的话,你的命令行中就会出现Hello World!这行字!
激动吗?这才是你编程的第一步!
就让Java好好鞭挞你吧!!!【传 统 艺 能 ,激动地跳起《新 宝 岛》】

PS:为了提升你的能力,可以试试改几个小错误,看它是否可以正常运行哦!
温馨提示:在我实际操作中,发现在记事本中输入中文可能会导致命令行中输出文字乱码,这是由于记事本保存的文件编码并不是命令行支持的默认编码,所以打开会乱,解决办法之一是改变java源文件保存的编码格式,改为ANSI即可(UTF-8格式貌似会出问题)。

How to Print?

输出屏幕有好几种方式,列举一下:

第一种(最常见):

System.out.println("Hello World!");

输出结果为:Hello World!加上一个换行。
可以理解为ln等同于 ‘\n’

第二种:

System.out.print("Hello World!");

输出结果为:Hello World!不换行

第三种(类似C语言):

System.out.printf("%s","Hello World!");

输出结果为:Hello World!不换行
类C语言的输出方式需要至少两个参数,第一个是输出类型,另外后面写的是类型的内容,不同的一个占位符的的内容用一个逗号分隔。
e.g.

System.out.printf("%s%d","Hello",666);

其输出为:Hello666

上面讲述的三种方法为命令输出,如果我们想图形化窗口输出,可以采用:

JOptionPane.showMessageDialog(null,"Hello World!");

PS:别忘了在源文件开端加入:

import javax.swing.JOptionPane;

总结

这篇文章花费了我四个半小时,当然收获也是巨大的,我了解了许多Markdown的文章语法,后期我会尝试导出.md来作为我的技术支持,虽然这篇文档是作业,但是我认为这是成为一名好的开发者的开端,有了良好的开端,完美的结局才可能发生!
引用一句话(来自小米科技):

永远相信美好的事情即将发生

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客BOY

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值