2022-03-17 15:02阅读: 47评论: 0推荐: 0

Java入门

Java帝国的诞生

C & C++

1972年C诞生

  • 贴近硬件,运行极快,效率极高。

  • 操作系统,编译器,数据库,网络系统等

  • 指针和内存管理

1982年C++诞生

  • 面向对象
  • 兼容C
  • 图形领域、游戏等

反抗

我们要建立一个新的语言∶

  • 语法有点像C
  • 没有指针
  • 没有内存管理
  • 真正的可移植性,编写一次,到处运行
  • 面向对象
  • 类型安全
  • 高质量的类库

Java初生

1995年的网页简单而粗糙,缺乏互动性。

图形界面的程序(Applet)

Bill Gates说:这是迄今为止设计的最好的语言!

Java 2标准版(J2SE):去占领桌面

Java2移动版(J2ME):去占领手机

Java 2企业版(J2EE):去占领服务器

java就是为服务器端程序所发明的

强大,简单,快捷,跨平台

大量的巨头加入

Java发展

他们基于Java开发了巨多的平台,系统,工具

  • 构建工具:Ant, Maven, Jekins

  • 应用服务器Tomcat,Jetty,Jboss, Websphere, weblogic

  • web开发:struts,Spring,Hibernate, myBatis

  • 开发工具Eclipse, Netbean, intellijidea, Jbuilder

  • 2006 : Hadoop(大数据领域)

  • 2008 : Android(手机端),也是由java支持的

一个伟大的帝国诞生了!

Java的特性和优势

简单性

就是c++语法的纯净版。没有头文件,指针运算,结构,联合,操作符重载,虚基类等等。由于语法基

于c,因此学习起来完全不费力。

面向对象

面向对象是一种程序设计技术,他将重点放在数据(即对象)和对象之间的接口上。模拟人的思维写程

序,万物皆对象!

可移植性

这是JAVA的一个重要的优势。JAVA代码或者说字节码、二进制码可以跨平台的移植,而不用管具体的操

作系统和硬件环境。

“一次编写,随处运行”:“write once, run anywhere”

JAVA在设计时就很注重移植和跨平台性。比如:JAVA的Int永远都是32位。不像c++可能是16,32,可

能是根据编译器厂商规定的变化。这样的话程序的移植就会非常麻烦。

高性能

JIT(JUST IN TIME)即时编译。将一些“热点”字节码编译成本地机器码,并将结果缓存起来,在需要的时

候重新调用。这样的话,使JAVA程序的执行效率大大提高,某些代码甚至接近c++的效率。随着这种技

术的一天天完善,也许有一天会超越编译代码的效率。

分布式

JAVA是为internet的分布式环境设计的,因为他能够处理tcp/ip协议。事实上,通过url访问一个网络资

源和访问本地文件是一样简单的。Java还支持远程方法调用(RMI,remote method Invocation),使程序

能够通过网络调用方法。

动态性

就是在需要时将某些代码添加到正在运行的程序中。反射机制。当需要把某些代码添加到正在运行的程

序中时,动态性是一个非常重要的特性。Java的动态特性是其面向对象设计方法的扩展。它允许程序动

态地装入运行过程中所需要的类,这是C++语言进行面向对象程序设计所无法实现的

多线程

多线程的使用可以带来更好的交互响应和实时行为。多线程的简单性是Java成为主流服务器端开发语言

的主要原因之一。

安全性

Java适合于网络/分布式环境,为了达到这个目标,在安全性方面投入了很大的精力,使Java可以构建防

病毒,防篡改的系统。

健壮性

Java是一种健壮的语言,吸收了C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如:指针、内

存的申请与释放等)。Java程序不可能造成计算机崩溃。Java系统仔细检测对内存的每次访问,确认它

是合法的,而且不致引起任何问题。不过,即使Java程序也可能有错误。如果出现某种出乎意料之事,

程序也不会崩溃,而是把该例外抛弃。再通过异常处理机制,程序就会发现这类例外,并加以处理。

当然,我们学习他这门语言,最初的目的,是因为使用的人多,我们需要去掌握学习,但是当我们慢慢

的越来越深入的时候,你就会爱上他,发现他的无穷魅力并为之沉醉!

Java三大版本

JavaSE

标准版(桌面程序,控制台开发....)

Java的基础和核心

JavaME

嵌入式开发(手机,小家电.....)

java的微缩版,几乎没有人学

JavaEE

E企业级开发(web端,服务器开发...)

技术应用最广泛的版本

JDK、JRE、JVM

JDK

Java Development Kit(Java 开发者工具)

JDK里面包含JRE

JRE

Java Runtime Environment(Java 运行时环境)

JVM

JAVA Virtual Machine(Java 虚拟机)

在操作系统上模拟一个小的CPU,去处理Java相关的东西

Write Once、Run Anywhere

安装开发环境

JDK下载与安装

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html

卸载JDK

  • 删除java的安装目录
  • 删除JAVA_HOME
  • 删除path下关于Java的命令
  • 命令行窗口输入java -version检查是否卸载完成

安装JDK

  • 百度搜索JDK8下载

  • 安装路径:E:\Program Files\Java\jdk1.8.0_202\

  • 配置环境变量

    • 新建系统变量

    • 配置path变量

      %表示引用路径


JDK目录介绍

  • bin目录放一些可执行程序(exe文件),java运行工具(java.exe,javac.exe)
  • include目录:C语言的头文件
  • jre目录:java运行时环境
  • lib目录:library的缩写,放置java的类库文件,JVM相关的东西
  • src.zip:java基础类的源代码

bin和jre目录是重点

HelloWorld及简单语法规则

  1. 新建java文件

    • 文件后缀名为.java
  2. 编写代码

    public class Hello(类){
    public static void(三个关键字) main(主方法)(String[] args)(参数){
    System.out.print("Hello, World!");
    }
    }

  3. 编译成JVM可以运行的Class文件,给人看!

    语法:javac java文件

  4. 运行,运行的是编译出来的class文件,不需要写后缀名

注意

文件名和类名必须保证一致。

类名

对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首

字母应该大写,例如 MyFirstJavaClass

方法名

所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字

母大写。

源文件名

源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记

Java 是大小写敏感的),文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错

误)。

主方法入口

所有的 Java 程序由 public static void main(String []args) 方法开始执行。

Java运行机制

计算机的高级编程语言类型

编译型 ,解释型. Java 语言是两种类型的结合;

  • 从字面上看,“编译”和“解释”的确都有“翻译”的意思,它们的区别则在于翻译的时机安排不大一样。 编译型:有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码。这 个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler)。 就类似于把一本中文书直接翻译成英文版进行出售。

  • 解释型:打个比方:假如你打算阅读一本外文书,而你不知道这门外语,那么你可以找一 名翻译,给他足够的时间让他从头到尾把整本书翻译好,然后把书的母语版交给你阅读(编译型);或 者,你也立刻让这名翻译辅助你阅读,让他一句一句给你翻译,如果你想往回看某个章节,他也得重新给 你翻译。(解释型)

  • 编译型与解释型,两者各有利弊。前者由于程序执行速度快,同等条件下对系统要求较低(不需要对程序进行翻译,直接闷头执行就可以了),因此像开 发操作系统、大型应用程序、数据库系统等时都采用它,像C/C++、Pascal/Object Pascal(Delphi)、VB等基本都可视为编译语言,而一些网页脚本、服务器脚本及辅助开发接口这样 的对速度要求不高、对不同系统平台间的兼容性有一定要求的程序则通常使用解释性语言,如Java、 JavaScript、VBScript、Perl、Python等等。

  • Java语言虽然比较接近解释型语言的特征,但在执行之前已经预先进行一次预编译,生成的代码是介 于机器码和Java源代码之间的中介代码,运行的时候则由JVM(Java的虚拟机平台,可视为解释器)解 释执行。它既保留了源代码的高抽象、可移植的特点,又已经完成了对源代码的大部分预编译工作,所以 执行起来比“纯解释型”程序要快许多。

  • 总之,随着设计技术与硬件的不断发展,编译型与解释型两种方式的界限正在不断变得模糊。

程序运行机制

第一步:编译

利用编译器(javac)将源程序编译成字节码à 字节码文件名:源文件名.class

第二部:运行

利用虚拟机(解释器,java)解释执行class字节码文件。

类装载器把类加载到JVM里面

使用IDEA开发

IDEA是 JetBrains 公司下的Java集成开发环境,在业界被公认为是最好的Java开发工具之一;JetBrains是捷克的一家软件公司,该公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主,旗下开发了多款软件开发工具;

官方网站:https://www.jetbrains.com/

安装步骤

网址:IntelliJ IDEA 2019.3中/英文破解版64位下载|兼容WIN10 | 我爱分享网 (zhanshaoyi.com)

链接: https://pan.baidu.com/s/1elTkIHOKcQr7Tw3rvNR6Ig

提取码: hesm

快捷操作

  • psvm:生成main方法
  • sout:生成输出语句

IDEA优化配置参考

网址: https://jingyan.baidu.com/article/dca1fa6f6af95af1a540527d.html

  1. 调节字体

  2. 鼠标滚动大小

  3. 注释颜色

  4. 字符编码设置

  5. 常用快捷键

  6. 项目属性浏览

本文作者:风帆远航

本文链接:https://www.cnblogs.com/flying-birds-xyg/p/16017300.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   风帆远航  阅读(47)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.