突然发现自己Java基础的底子不到位,复习!

所记知识会发布在CSDN与博客网站jirath.cn

《Java基础复习》—常识与入门

一、Java语言的知识体系图

分为三部分

  1. 编程语言核心结构:变量、基本语法、分支、循环、数组
  2. Java面向对象的核心逻辑:OOP(面向对象编程)、封装、继承、多态、接口。。。。。。
  3. JavaSE高级应用程序:异常、集合、线程、IO、反射、网络

二、常识与概述

计算机能直接识别的是机器指令,机器指令的封装是汇编语言,汇编语言再向上是高级语言如C,C++,Java

因为机器的差异性,汇编语言要想编译为适应不同的机器的指令,就需要中间件——操作系统。

应用程序=算法+数据结构

常用的DOS命令

3.Java语言版本迭代概述

1991年 Green项目,开发语言最初命名为Oak (橡树)

1994年,开发组意识到Oak 非常适合于互联网

1996年,发布JDK 1.0,约8.3万个网页应用Java技术来制作

1997年,发布JDK 1.1,JavaOne会议召开,创当时全球同类会议规模之最

1998年,发布JDK 1.2,同年发布企业平台J2EE

1999年,Java分成J2SE、J2EE和J2ME,JSP/Servlet技术诞生

2004年,发布里程碑式版本:JDK 1.5,为突出此版本的重要性,更名为JDK 5.0

2005年,J2SE -> JavaSE,J2EE -> JavaEE,J2ME -> JavaME

2009年,Oracle公司收购SUN,交易价格74亿美元

2011年,发布JDK 7.0

2014年,发布JDK 8.0,是继JDK 5.0以来变化最大的版本

2017年,发布JDK 9.0,最大限度实现模块化

2018年3月,发布JDK 10.0,版本号也称为18.3

2018年9月,发布JDK 11.0,版本号也称为18.9

4.Java语言应用的领域:

Java Web开发:后台开发

大数据开发:

Android应用程序开发:客户端开发

5.Java语言的特点

面向对象性:

两个要素:类、对象

三个特征:封装、继承、多态

健壮性:① 去除了C语言中的指针 ②自动的垃圾回收机制 -->仍然会出现内存溢出、内存泄漏

跨平台型:write once,run anywhere:一次编译,到处运行

功劳归功于:JVM

类似计算机的架构,java不是运直接运行在机器的,而是在JVM(Java虚拟机)中运行,解决了跨平台的难题

二、开发环境的搭建(重点)

1.1 JDK、JRE、JVM的关系

1.2 JDK的下载、安装

下载:官网,github

安装:安装包(不自动配置环境变量):JDK 、JRE

注意问题:安装软件的路径中不能包含中文、空格。

这也是本人在日常中的习惯,涉及到专业性的软件,尽量使用英文命名,所以有道词典是个好东西

1.3 path环境变量的配置

1.3.1 为什么配置path环境变量?

path环境变量:windows操作系统执行命令时所要搜寻的路径

为什么要配置path:希望java的开发工具(javac.exe,java.exe)在任何的文件路径下都可以执行成功。

1.3.2 如何配置?

安装完成后,右键单击我的电脑,进入属性->系统->高级系统设置->环境变量

新建环境变量JAVA_HOME,变量值是jdk的地址

新建环境变量CLASSPATH,值为相对地址\lib

或是编辑文本值

在PATH变量下添加项目

三、第一个Java程序

1.运行Hello,World

1.1编写文件

新建一个 .java文件(.java文件实际上是Java的源代码文件,是程序员编写的,未经过编译的文件)

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

1.2编译文件

java的程序需要先编译为字节码文件,再交给虚拟机运行

学过计算机组成或者你百度过的话,我们的代码最后都变成了机器语言,机器可以直接运行机器语言

字节码文件正如机器语言,将字节码文件交给Java虚拟机,由JVM来运行字节码文件(类加载机制)

打开我们的命令行,然后切换到刚刚编写源代码的文件夹

在此目录中,使用命令:javac 源代码文件的名字

结果:目录中出现了同名.class文件

1.3运行Java程序

使用命令 java 文件的名字(不加扩展名)

2.总结第一个程序

  1. java程序编写-编译-运行的过程

    编写:我们将编写的java代码保存在以".java"结尾的源文件中

    编译:使用javac.exe命令编译我们的java源文件。格式:javac 源文件名.java

    运行:使用java.exe命令解释运行我们的字节码文件。 格式:java 类名
  2. **在一个java源文件中可以声明多个class。**但是,只能最多有一个类声明为public的。

    而且要求声明为public的类的类名必须与源文件名相同。
  3. 程序的入口是main()方法。格式是固定的。
  4. 输出语句:

    System.out.println():先输出数据,然后换行

    System.out.print():只输出数据
  5. 每一行执行语句都以";"结束。
  6. 编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与java源文件中的类名相同。

《Java基础复习》—常识与入门的更多相关文章

  1. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  2. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

  3. Java基础复习笔记系列 七 IO操作

    Java基础复习笔记系列之 IO操作 我们说的出入,都是站在程序的角度来说的.FileInputStream是读入数据.?????? 1.流是什么东西? 这章的理解的关键是:形象思维.一个管道插入了一 ...

  4. Java基础复习笔记系列 五 常用类

    Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...

  5. Java基础复习笔记系列 四 数组

    Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...

  6. Java基础复习笔记基本排序算法

    Java基础复习笔记基本排序算法 1. 排序 排序是一个历来都是很多算法家热衷的领域,到现在还有很多数学家兼计算机专家还在研究.而排序是计算机程序开发中常用的一种操作.为何需要排序呢.我们在所有的系统 ...

  7. Java基础知识常识总结

    Java基础知识常识总结 1.面向对象的特征以及对他的理解? 封装,继承,多态,如果再增加一条就是抽象. 2.Object有几种方法,分别是什么? 在JDK1.5中的11种方法,分别有: toStri ...

  8. 《Java基础复习》-控制执行流程

    最近任务太多了,肝哭我了,boom 参考书目:Thinking in Java <Java基础复习>-控制执行流程 Java使用了C的所有流程控制语句 涉及关键字:if-else.whil ...

  9. Java基础复习之数组

    Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...

随机推荐

  1. 某些时候 v-if 会导致 v-modal 内部数据获取不到 也watch不到,这个时候用v-show即可,另外提一下数组要整体赋值才有双向绑定

    某些时候 v-if 会导致 v-modal 内部数据获取不到 也watch不到,这个时候用v-show即可,另外提一下数组要整体赋值才有双向绑定

  2. Angular入门之环境搭建(VS code)(转载)

    安装Visual Studio Code VS code和我们常用的VS压根不是一回事,它只是一个开源的轻量级编辑器,而不是IDE,因为支持typescript语法,且插件功能丰富,所以选择 官网下载 ...

  3. 在 macOS 下备份/还原/重置 LaunchPad 布局

    原文链接:https://billc.io/2019/07/launchpad-layout-backup/ 前几天升级到 Catalina Public Beta 后,LauchPad 会出现无法刷 ...

  4. cocosCreator定制小游戏构建模板

    cocosCreator定制小游戏构建模板 1. 解决痛点 在开发微信小游戏过程中,需要在微信小游戏game.json加入一个配置键navigateToMiniProgramAppIdList,但常规 ...

  5. Jenkins的制品管理

    Jenkins的制品管理 制品是什么? 也叫产出物或工件.制品是软件开发过程中产生的多种有形副产品之一.广义的制品包括用例.UML图.设计文档等.而狭义的制品就可以简单地理解为二进制包.虽然有些代码是 ...

  6. Topshelf+Quartz3.0基于控制台应用程序快速开发可调度windows服务

    1.TopShelf TopShelf是一个开源的跨平台的宿主服务框架.可通过.Net Core/.Net Framwork控制台应用程序快速开发windows服务,更加便于服务调试. 本文基于.Ne ...

  7. C# datagridview 格式化单元格内容

    private void dgvBig_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {  if (dgvB ...

  8. 欢乐水杯(happy glass)中流体的一种实现!图文视频讲解 ! Cocos Creator!

    使用cocos creator v2.2.2 实现流体效果 ! 图文+视频讲解! 效果预览 实现原理 整体思路是参考论坛中的一个帖子 这款游戏中水的粘连效果在Construct3中利用图层很容易实现, ...

  9. Ansible权威指南-读书笔记

    2 Ansible基础元素介绍 2.1 ansible 目录结构介绍 2.2 ansible 配置文件解析 配置文件解析顺序:当前命令执行目录-->用户家目录下的.ansible.cfg--&g ...

  10. 《JavaScript 模式》读书笔记(4)— 函数5

    这一篇是函数部分的最后一篇.我们来聊聊Curry化. 十.Curry 这部分我们主要讨论Curry化和部分函数应用的内容.但是在深入讨论之前,我们需要先了解一下函数应用的含义. 函数应用 在一些纯粹的 ...