Java基础——初体验生存向解说Day1

Java语言入坑前言

写前随便聊一聊

博主刚刚本科毕业,一个月前误入Java行业实习,其实满打满算也不过一年的编程经历。受到老板的鞭策(嗨,勇就完了),写一个学习日志,也欢迎大家一起交流补充。

本科的学习教材是《Java2实用教程》,有需要的宝贝可以自行参考。

关于Java你该知道的事

在很久很久以前,Sun公司准备开发一个名为Green的智能家居项目。起初程序员们决定使用C++来书写,但因为种种原因,又决定开发一种新型语言,名为Oak(Java前身)去完成这个项目。

对,就是这么突然。

但是很遗憾,最终项目没有做成,却发扬光大了它的副产品,也就是我们现在所使用的Java语言。

与此同时,在印度尼西亚有一个盛产咖啡的小岛,名叫爪哇(Java),小岛上的居民正兢兢业业地为程序员们提供咖啡。

当Java语言已基本完善的时候,几位老母亲决定为自己的好儿子取个好听的名字。一位老母亲摸了摸自己光滑的头顶说:“我希望Java语言能够为程序员们带来hair happiness。”

于是,Java这个名字就诞生了,寓意是为世人端上一杯热咖啡。而Java最终的logo也被定为了一杯咖啡的模样。

可喜可贺可喜可贺。

书归正传。

关于为什么要学习Java。

最初面试官问我的时候,我也不知道怎么回答,但不可否认的是,在目前情况来看,Java在编程界已经成为了绝对的主流。(其实是因为大家都在学啊喂!能挣钱的编程语言就是好语言啊!)

在本科的学习阶段,老师曾告诉我们,Java是一门可移植的跨平台语言,具有语法简单、面向对象、稳定、与平台无关、多线程、动态等特点。

有过编程语言基础譬如C/C++的小伙伴们在学习Java的过程中就会很轻易地发现,这门语言的学习去掉了诸多类如指针会让人脱发的概念,或多或少都简化了语法。而所谓的平台无关,则是该语言(我认为)最大的优点。

诸如C/C++等编程语言往往只能对特定的CPU芯片进行编译。前文提到,Java语言当初的开发目的是为了解决智能家居问题,那么就要求其一定要减少平台依赖性。具体的解决办法,就是将书写的 *.java文件进行编译,再去运行。那么问题又来了,每一个平台都有自己独特的机器指令,这也是其他编程语言无法做到完美兼容的主要原因。

于是Java又说了,那好吧我的老伙计,我将在操作系统上提供一个由Java虚拟机(Java Virtual Machine,JVM)、类库及其他核心文件组成的Java运行环境(Java Runtime Environment,JRE)。这样我就能取代机器指令,转而提供字节码指令,不与任何一个平台相关,不被任何平台进行识别、执行。

Java说:欸嘿嘿嘿想不到吧?

诸位计算机们说:卧槽。。?

Java针对不同平台提供的Java虚拟机字节码都完全相同,该字节码文件,即*.class文件将被JVM翻译成虚拟机所在平台的机器码,并让当前平台运行该机器码。 由此一来,所有编译后的class文件都可以都可以被复制到任何一个安装了Java运行环境的计算机上直接使用。实现了Write once,run anywhere的渣男终极目标。

也正因为Java最终给出的是字节码文件,在程序保密性上也得到了保证。程序发布后,偷偷摸摸想学一手的野男人们看到满屏的0和1傻了眼。呵,本公司的撩妹宝典怎么会交给你们这几头蒜呢?

(虽然确实是有反编译)

都说Java是面向对象语言,那么究竟什么是面向对象呢?

截止到刚才为止,程序语言被分为面向过程OP(oriented-procedure programming)、面向对象OO(oriented-object programming)、函数式编程(functional programming)三种。

面向过程的代表程序语言如C语言,更强调方法与动作,它会将编写的程序按你的写的东西按步骤去完成,毫无主动性。

比如你在街上看到了一位美人(我):

printf("Ohhhhhhhh~~~~~\n");
printf("Look at this chick~~~~~\n");
printf("Oh, you are so cute~~~~");

那么程序在运行的时候,就会将它按顺序进行读取输出。这时如果你说:啊!等一下!我是一个绅士,喊大美妞不符合我的身份!

不好意思,晚了。

面向函数的非官方代表程序语言python,是将整个过程进行划分,每一步都做成一个函数,然后按步骤去执行函数完成。

比如你又看到了一位美人(还是我):

def A():
	print("Ohhhhhhhh~~~~~")
def B():
	print("Look at this chick~~~~~")
def C():	
	print("Oh, you are so cute~~~~")
def main():
	A()
	B()
	print("Wait a minute...")
	print("I'm a gentleman!")
	print("捧出一只毛茸茸的小鸡崽儿")
	C()		

面向对象的代表性语言Java,是通过书写方法后将这些方法都包装到一个大类中,再使用对象(Java语言层面的对象)去进行调用。最终这些方法能否实现则由对象说了算,对比面向过程主动性满满。

比如有一位美人(又是我),身高167(私有属性1),黑长直(私有属性2),大长腿(私有属性3),即兴弹了一首《卡农》(方法1),随便跳了个whistle(方法2)。

每一个对象都有自己的特有属性及专有方法,比如如果我想跳个舞,我就会调用自己的方法2。

如果外部对象想让我跳个舞,就需要进行请求:小贝啊,跳个舞呗?此时他可能会给我传入一个参数,比如whistle的音乐。那么当方法执行结束,也就是舞跳完了,最终可能会返回一个结果:快点儿鼓掌!好的,现在外部对象可以开始鼓掌了。

在正式开发Java语言之前,要先了解其编码标准。

首先,Java是区分大小写的。
其次,类名首字母大写,后面单词驼峰命名。(如,BellaIsABeauty)
再次,方法名和变量名首字母小写,后面单词驼峰命名。(如,bellaIsBeautiful)
最后,放出阿里巴巴编程标准:https://yq.aliyun.com/articles/69327

以上。

Java开发步骤

首先是搭建实验平台。

请宝贝们自行百度,下载jdk并配置环境变量。如果一定需要具体操作步骤,请下方留言。

实验平台搭建好了,就要开始编写源文件。

打开一个文本编辑器,如电脑自带的记事本或笔记本。不要打开word文档,因为它是自带格式的,不能编程使用。在编写源文件的时候要注意,如果一个源文件中有多个类,那么只能有一个类是public类(不过一般也不会在一个源文件中写很多类,内部类除外,因为这不符合正常人的思维);如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同。该源文件的扩展名为.java;如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了。

当然如果你使用的是eclipse或者Idea这样的IDE工具,在创建源文件的时候是会自动生成public类的。

HelloWorld.java

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

在上述源文件中,public class为一个public类,public static void main(String args[]一个主方法,整个程序项目运行的主入口是main方法,System.out.println()是输出语句的意思,System.out.print()同样是输出语句,两者的不同点在于,前者输出后会自动换行,后者不会换行。

源文件完成后,就要编译成为字节码文件。

windows+R快捷键–>cmd–>打开小黑窗:

输入“cd {存储路径}”,进入到java文件的目录下,“javac 文件名.java”进行编译。如果程序出错,此时就会进行提示错误内容。如果没有出错,就会自动生成class字节码文件。此时输入“java 主类名”运行,就可以查看到运行结果:

HelloWorld运行结果
很好,现在你已经完成你的第一个java程序了。

为了方便程序的书写,推荐下载eclipse使用可视化窗口。

说来惭愧,在实习之前,博主甚至都不知道由IDEA这样一个开发工具。但是在公司里,博主还发现,女生相对来讲更喜欢使用eclipse,男生用IDEA更多。这是什么原理呢?咱也不该问。

总而言之,在大学本科学习的时候我们主要学习的都是eclipse,因此在后期的文章中,也会顺带着提到一些eclipse好用的快捷键。诸位看客可以根据自己的喜欢选择平台,代码内容均是相同的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值