初识java
前言:许多刚刚接触互联网的小可爱们,你们打开我的博客是我的荣幸
我也在一点点去探索这个看似让人秃头的行业。
在刻板印象里面,人们根本不了解java是什么?
如果你接触了他应该会知道他应该是一种语言,其实他还有一个高端大气上档次的名字
什么是java**
java:计算机的编程语言
java通过面向对象的编程语言。他不仅吸收了C++语言的优点,而且摒弃了C++中难于理解的多承继和指针的概念。
具有简单性,功能强大,分布式,健壮性,安全性,平台独立于可移植性,多线程及动态性的特点
(简单通俗的说就是他简洁明了,ok不?)
1.了解什么是程序?
计算机程序一定是来源于并且超脱于现实生活的(这是我们老师跟我说的一句话,杠杠的对啊,简直是对精神的洗礼)
1.1现实生活中的程序?
你玩游戏肯定得先下载吧,然后安装,其次必须得注册账号吧(如果不想可以用朋友的号,他装备可能比较厉害)这就是一个简单的流程,程序都是一种
当然手续,流程,套路都是程序
程序就是一系列步骤集合体
1.2计算机中的程序?
手机,电脑里的各种软件:游戏,办公软件,视频,音乐·(就是你使用的APP)
以及日常使用的智能电器:路由器,洗衣机,电视…
日常使用的一些工具:银行ATM、挂号机
程序是由程序员开发(编写、敲)出来的(编程人员-编写程序的人员)
程序就是在计算机中为了到达某种,目的,或者为了实现任何各种效果而运行的一系列指令(类似于你妈跟你说的话,你必须做)
2.了解主流编程语言
(不是你学的外语的那个语言啊,你跟电脑说俄语他可听不懂,你可以跟我说,哈哈哈哈我是俄罗斯留学回来的)
程序设计语言,编程语言,是用来编写程序的
计算机并不能理解我们人类的语言,它识别的是二进制(1001110001)(我也不知道这个二进制是个啥鬼,没事,咱不管他,应该于干不过他)
而我们使用的各种语言(汉语、英语…数值使用的是十进制)
编译器(解释器)(类似于胖翻译:日本鬼子电视里面的那个汉奸,总是说皇军大大的好,其实不咋滴):but,这个编译器可是大大良民,贼好
因为我们如果人类去记忆计算机能识别的二进制(我的脑机不够用,肯定记不住),是非常麻烦的,所以我们就有前辈开发了一些翻译器。演变至今,我们已经开始用自然语言来表示计算机指令
当然我们直接使用自然语言,可能出现的表达方式太多了,所以“翻译官”的开发者们,就强制定义了一套语法,我们按照人家语法(自然语言基础上设计的)去下达计算机指令即可;
主流编程语言:java(我的小心肝)、C、C++、python、c#、PHP(最嘚瑟)、javaScript…
Go、Kotlin
我们编程人员不可能拿一门语言吃一辈子,掌握多种5-6种语言,但精通1-2门语言,(希望你可以全通,哈哈哈哈哈,哦豁)
高级、低级语言:(更接近于系统底层就是低级语言)
java、Python…是一种高级编程语言(加简单)
C…是一种低级编程语言(难)
静态语言和动态语言
java 、C…都是静态语言
Python、javaScript…是动态语言
3.了解java的历史和前景
*有人会说,我学编程,我打代码就行了,管他什么历史不历史,(其实我刚刚开始也是这样想的,老师给下了指令,那就得听)*了解历史可以充分的知道这个java到底是怎么来的,他经历了什么,是谁开发的他,俗话说,知己知彼,百战百胜,知道了他的老底,你就会如虎添翼的的和他“交朋友”
1991年Sun公司的詹姆斯高斯林领导开发Green Project,出现了oak语言
1995年oak更改名为java,正式诞生。
1996年java出现1.0版本
1998年java出现了三个分支:(1.2版本)
- j2 SE(Standard Edition)标准版:语法基础、标准、核心。
用它可以开发桌面程序(这个分支被C++ C C#抢占市场)
- j2ME(Micro Edition )微软本:用于移动开发。
用它可以开发移动端程序。(在这个分支被Android抢占市场、但是Android目前还是用java开发主流
Google在2017年开始要求Android 开发人员选用Kotlin<模仿java>来开发Android 打官司)
- j2EE(Enterprise Edition)企业版本:微服务、大数据…
用于企业级开发 企业程序:网站、平台、管理系统…(目前领头)
2004年j2系列更改为java5 …更新了非常多xin2功能
2009年被Oracle收购,Oracle开始负责开发…
2013年java8出现了
2019年一月一日起 java8 后续更新收费
4.熟练掌握安装、【配置】java开发环境
哇塞类,这又是个啥,没事啊,别怕,魔法女孩带你把他装进口袋
之所以安装jJDK和JRE就是为了准备:编译器、虚拟机…
在JDK安装目录中,有俩个我们必须知道的程序:
-
javac(java complier java)编译器
-
java
无法直接运行这俩个程序(闪退),它需要在DOS(Disk Operating System)系统中运行。
Windows 中可以通过Windows+R键->cmd回车就可以进入此系统
在
DOS系统中,鼠标是无法使用的,我们需要通过命令(command)来执行你想要的任务。
PS:读完这段话,小白可能会懵逼,你一步一步按照我的操作来,其实也没个啥
打开或进入某个文件夹:cd 要进入的文件夹名或路径
- 进入上一级文件夹:cd…
- 进入当前磁盘的根目录(磁盘的直接目录):cd/
查看某个文件夹的所有内容:dir(directory)目录
-
被标注了dir的内容是表示他是一个文件夹
-
没有标注dir的内容是表示他是一个文件
-
**…**是表示上一级文件夹
-
**.**是表示当前文件进入
切换盘符:盘符名:
环境变量:Windows系统中内置的一些信息,方便我们在任何程序中,任何位置使用的信息。
-
path(路径)环境变量:在path坏境中存储了一些在系统的任何程序,任何位置都能用到的路径信息。在存储到path环境变量之后,可以在DOS系统中的任何位置执行该程序
。DOS系统中当你输入了一个程序名,他会自动在当前文件下查找是否有此程序,如果有此程序,就运行,没有此程序就会来到path
-
5.熟练掌握使用记事本开发java程序
(嗯?记事本不是记事的吗?,咋还能开发程序呢?就是这么神奇,来吧,跟我走哦)
利用对语言的语法去编写代码(指令)
我们使用记事本程序来编写java程序
1
- List item
. 创建一个文本文档(记事本)代码
-
打开记事本编写源代码(一个程序的原始、根源代码)
public class HelloWorld{
pubilc staic void main (String[] args){ System.out.println("Hello World!"); }
}
PS:小白又懵逼了,不管他,我也不知道他是个啥,写就行了
3. 使用javac. exe程序来编译源代码更改文件名为HelloWorld. java 编译器只识别.java文件
javac 要编译源代码路径 编译之后会出现一个. class文件(字节码/byte code 文件)
- 使用java.exe程序来运行编译好的字节码文件(不需要写扩张名)
5.2代码规范
一个好的代码应该是给人看的,而不是给机器看的。(我们老师每节课都会说一遍,一定要写规范,这是一个程序plmm必须要做的)
-
代码必须注意单词的大小写(严格区分)
-
代码要注意缩进,表现出层级关系(下属)(可以理解成你和你妈)
-
缩进四个空格
声明结构注意花括号,左侧花括号,右侧花括号换行,,花括号是成对出现的,结尾花括号注意和此声明开头对齐
java源代码文件名应该遵循大驼峰命名法(帕斯卡命名法),不允许使用中文命名
helloworld->HelloWorld首字母大写,如果有多个单词,后面的,每个单词首字母都大写
6.了解java虚拟机于[跨平台]的原理
java当初在1995年之所以已经出世,就改变了开发行业的格局。
因为java采用了虚拟机运行的机制,java程序实现了跨平台(Write Once,run anywhere)编写一次,在任何地方运行
不采用直接编译成二进制文件,而是编译成伪二进制文件(java中的字节码文件。class文件。)
以前为了开发不同平台的程序,需要对不同平台进行适配,其实也就是开发不同平台能理解的二进制内容。
但是成本太高,所以java采用在各种平台上开发对应的虚拟机,然后编写java代码,以后直接运行在java虚拟机上,就这样实现了跨平台。
又因为虚拟机的原因,所以无法直接面向计算机,性能有损失(由虚拟机决定)。(后续关于jvm深入研究调优《深入java虚拟机第二版》周志明)
-
PS:有的小可爱又看不懂了,所以通俗的说呢,就是有一个和事佬,你和你妈你爸吵架了,你说的话他们听不懂,可能会出现男女混合双打,这时候呢出现了了一个和事佬就是jvm虚拟机,就可以让你爸你妈都跟你和解,哇,是不是非常棒!
7.了解反编译工具的使用
编译:将自然语言的内容翻译给计算机能识别的二进制的过程。(源代码–字节码)
**反编译:**将计算机能识别的二进制的内容反向解释成自然语言。(字节码–源代码)
常用的反编译工具:jad,jd-gui…
了解一下就ok了,加密了你也反编译 不出来,能让你弄出来的也不是啥好玩意
8.IDE-开发工具
IDE:Integrated Development Environment 集成开发环境
集成了代码编写、分析、编译、调试等功能的服务套,最终的目的就是快速开发!
开发java的主流IDE:(有他就不需要记事本了,超级高大上)
-
Eclipse-Eclipse基金会开源(开放源代码的)
-
MyEclipse-IBM和xxx公司合作开发的(基于Eclipse基金会开源的内容,然后定制开发成的集成了大量的javaEE组件)收费的
-
Intelij IDEA-jet Brains开发的(收费)
Eclipse下载安装非常简单,但是必须保证JAVA-HOME被配置正常!
Eclipse的版本必须选择配套的IDK
ok了小可爱们,我讲明白了吗?如果不知道,可以关注我来跟我探讨啊
我也是小白,让我们一起变成秃头的魔法女孩(男孩)吧