一、软件开发介绍

软件开发:

软件就是可以帮助人做事的工具(自我理解)。

软件,即一系列按照特定顺序组织的计算机数据和指令的集合。有系统软件应用软件之分。

人机交互方式

  • 图形化界面(Graphical User Interface GUI)这种方式简单直观,使用者易于接受,容易上手操作。
  • 命令行方式(Command Line Interface CLI)需要有一个控制台,输入特定的指令,让计算机完成一些操作。较为麻烦,需要记住命令。
    • 常用的 DOS 命令

      • dir:列出当前目录下的文件以及文件夹
      • md:创建目录
      • rd:删除目录
      • cd:进入指定目录
      • cd..:退回上一级目录
      • cd\:退回到根目录
      • del:删除文件
      • exit:退出 dos 命令行
        • 补充:echo javase>1.doc
    • 常用的快捷键
      • 左右方向键:移动光标
      • 上下方向键:调阅历史操作命令
      • Delete 和 Backspace :删除字符

Pascal 之父 Nicklaus Wirth:" Algorithms + Data Structures = Programs ".

二、计算机编程语言介绍(尤指 Java)

计算机语言:就是人与计算机进行沟通的工具(方式)。

计算机语言的种类:C,C++,Java,PHP,Kotlin,Python,Scala等。

2.1  计算机语言的发展

  • 第一代语言

    • 机器语言:指令以二进制代码形式存在。
  • 第二代语言
    • ​​​​​汇编语言:使用助记符表示一条机器指令。
  • 第三代语言:高级语言
    • C、Pascal、Fortran 面向过程的语言

    • C++ 面向过程/面向对象

    • Java 跨平台的纯面向对象的语言

    • .NET 跨语言的平台

    • Python、Scala......

2.2  Java 语言概述

  • 是 SUN ( Stanford University Network , 斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。
  • 是一种面向 Internet 的编程语言。Java 一开始富有吸引力是因为 Java 程序可以在 Web 浏览器中运行。这些 Java 程序被称为 Java 小程序 (applet)。applet 使用现代的图形用户界面与 Web 用户进行交互。applet 内嵌在 HTML 代码中 。
  • 随着 Java 技术在 Web 方面的不断成熟,已经成为 Web 应用程序的首选开发语言。
    • 后台开发:Java、PHP、Python、Go、Node.js

2.3  Java 语言简史 

2.4  Java 技术体系平台 

 2.5 Java 在各领域的应用

从Java的应用领域来分,Java语言的应用方向主要表现在以下几个方面:

  • 企业级应用:主要指复杂的大企业软件系统、各种类型的网站。Java 的安全机制以及它的跨平台的优势,使它在分布式系统领域开发中有广泛应用。应用领域包括金融、电信、交通、电子商务等。
  • Android平台应用:Android应用程序使用 Java语言编写。Android 开发水平的高低很大程度取决于 Java 语言核心能力是否扎实。
  • 大数据平台开发:各类框架有 Hadoop、spark、storm、flink 等,就这类技术生态圈来讲,还有各种中间件如 flume、Kafka、sqoop 等等,这些框架以及工具大多数是用 Java 编写而成,但提供诸如 Java、Scala、Python、R 等各种语言 API 供编程。
  • 移动领域应用:主要表现在消费和嵌入式领域,是指在各种小型设备上的应用,包括手机、PDA、机顶盒、汽车通信设备等。

2.6 Java 语言的主要特性

  • Java 语言是安全的。Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。如:安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节码代码检查。
  • Java 语言是体系结构中立的。Java 程序(后缀为 java 的文件)在Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。
  • Java 语言是解释型的。如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统的解释器中运行。
  • Java 是性能略高的。与那些解释型的高级脚本语言相比,Java 的性能环视较优的
  • Java语言是原生支持多线程的。在 Java 语言中,线程是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。

2.7  Java 语言的特点

  1. 面向对象

    1. 两个基本概念:类、对象
    2. 三大特性:封装、继承、多态
  2. 健壮性
    1. 吸收了 C/C++ 语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制。
  3. 跨平台性
    1. 跨平台性:通过 Java 语言编写的应用程序在不同的系统平台上都可以运行。“Write once,Run Anywhere”
    2. 原理:只要在需要运行 java 应用程序的操作系统上,先安装一个 Java 虚拟机(JVM Java Virtual Machine)即可。由 JVM 来负责 Java 程序在该系统中的运行。

2.8  Java 语言运行机制及运行过程

  • Java 两种核心机制

    • Java 虚拟机(Java Virtal Machine)
    • 垃圾收集机制(Garbage Collection)

  • 核心机制 —— Java 虚拟机

    • JVM 是一个虚拟的计算机,具体指令集并使用不同的存储区域。负责执行指令,管理数据、内存、寄存器。
    • 对于不同的平台,有不同的虚拟机
    • 只有某平台提供了对应的 java 虚拟机,java 程序才可在此平台运行
    • Java 虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
    •  
  • 核心机制 —— 垃圾回收
    • 不再使用的内存空间应回收 —— 垃圾回收

      • 在C/C++ 等语言中,由程序员负责回收无用内存
      • Java 语言消除了程序员回收无用内存空间的责任;它提供一种系统级线程跟踪存储空间的分配情况。并在 JVM 空闲时,检查并释放那些可被释放的存储空间。
    • 垃圾回收在 Java 程序 运行过程中自动进行,程序员无法精确控制和干预。
    • 但Java 程序还会出现内存泄漏和内存溢出的问题。

三、Java 语言的环境搭建

JDK,JRE

JDK、JRE、JVM 的关系

运行Java 程序

四、注释(comment)

目的:为了解释说明代码

Java 中的注释类型

  • 单行注释        //
  • 多行注释       /* */
  • 文档注释(Java 特有)     /**    */

注释的作用

  • 提高了代码的阅读性,调试程序的重要方法
  • 注释是一个程序员必须要具有的良好编程习惯
  • 将自己的思想通过注释先整理出来,再用代码去体现

五、Java API 的文档

  • API (Application Programming Interface,应用程序编程接口)是 Java 提供的基本编程接口。
  • Java 语言提供了大量的基础类,因此 Oracle 也为这些基础类提供了相应的 API 文档,用于告诉开发者如何使用这些类,以及这些类里包含的方法。
  • 下载 API
    • 地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

六、对第一个 Java 程序的总结

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

    1. 编写:我们将编写的 java 代码保存在以“ .java ” 结尾的源文件名 .java
    2. 编译:使用 javac.exe 命令编译我们的 java 源文件。格式:javac 源文件名.java
    3. 运行:使用 java.exe 命令解释运行我们的字节码文件。格式:java 类名
  2. 在一个 java 源文件中可以声明多个 class。但是,只能最多有一个类声明为 public  的。而且要求声明为 public 的类名的类名必须与源文件的文件名相同。
  3. 程序的入口是 main() 方法,格式是 固定的
  4. 输出语句
    • System.out,println();  // 先输出数据,然后换行
    • System.out.print();  // 只输出数据
  5. 每一行的执行语句都以“ ; (英文状态下的分号)”结束。
  6. 编译的过程:编译以后,会生成一个或多个字节码文件。字节码文件的文件名与 java 源文件中的类名相同。

七、其他

良好的编程风格

常用的 Java 开发工具(Integrated Development Environment)

  • 文本编辑工具:

    • 记事本
    • UltraEdit
    • EditPlus
    • TextPad
    • NotePad
  • Java 集成开发环境(IDE)
    • JBuilder
    • NetBeans
    • Eclipse
    • MyEclipse
    • IntelliJ IDEA​​​​​​​

Java基础学习(一):Java 语言概述相关推荐

  1. Java基础学习(11)---Java注解和反射

    文章目录 一.注解概述 二.内置注解 三.元注解 四.自定义注解 五.反射概述 ★ 静态语言 VS 动态语言 反射机制 Java反射机制研究及应用 Java反射优点和缺点 六.Class类 获取Cla ...

  2. java基础学习:java中的反射

    一.什么是java反射 什么是 java 的反射? 说到反射,写这篇文章时,我突然想到了人的"反省",反省是什么?吾一日三省吾身,一般就是反思自身,今天做了哪些对或错的事情. ja ...

  3. Java基础学习(2)---Java基础语法

    文章目录 一.注释.标识符.关键字 1.注释 2.标识符 3.关键字 二.数据类型 1.强类型语言和弱类型语言 2.Java的数据类型 三.类型转换 四.变量.常量 1.变量 2.常量 五.运算符 算 ...

  4. 【Java基础学习】Java基础中容易忽略点-2

    - 多线程 高可用.高性能.高并发 - 概念 方法间的调用:普通方法的调用,从哪来到哪里去,闭合的一条路径 多线程使用:开辟多条路径 程序.进程和线程 程序指的是静态的代码:进程指的是操作系统调用程序 ...

  5. Java基础学习(6)---Java面向对象

    文章目录 一.初始面向对象 什么是面向对象? 二.方法回顾和加深 三.对象的创建分析 类与对象的关系 创建与初始化对象 内存分析 四.面向对象三大特性☆ 封装 继承 object类 super &am ...

  6. Java基础学习总结——Java对象的序列化和反序列化

    一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存 ...

  7. java基础学习篇——java学习目录与应用场景

    两个方向--大数据开发.javaEE 技术拓展: 数据结构,常用算法,常用设计模式,JVM JAVAEE之路 javase--javaweb--javaee框架 (spring.springmvc.s ...

  8. Java基础学习汇总

    Java基础学习汇总 java语言基础 java函数和数组 java面向对象 java异常 整理用,早就停更... 写作不易,如果您觉得写的不错,欢迎给博主点赞.收藏.评论.收藏来一波~让博主更有动力 ...

  9. java catch空指针异常处理_Java基础学习:java文件空指针异常处理

    在Java编程中,我们或多或少地会遇到一些程序异常的情况,为了不影响程序的正常执行,我们需要在程序发生异常的情况下,进行一些操作来防止造成更大的损失.例如在我们平时的除法运算中,被除数是不能为0的,如 ...

  10. Java 基础学习-Java语言概述

    Java 基础学习 第一章 Java语言概述 回顾java基础知识,进行整理记录. 文章目录 Java 基础学习 前言 一. Java语言发展史(了解) 二.Java语言跨平台原理(理解) 三.JRE ...

最新文章

  1. arduino点阵声音频谱_基于Arduino和频谱分析的LED音乐课节拍器
  2. 可以无限增加iPhone 的图标吗?
  3. 基于Apache OLTU的OAuth2.0授权解决方案
  4. WEBGL的测试网站和基础知识
  5. Python入门1_数字表达式
  6. flask与js交互的示例代码_Frida Java Hook 详解(安卓9):代码及示例(上)
  7. wildfly-9.0.2 web项目部署详细步骤
  8. CITRIX:为什么说“桌面虚拟化”我们最强?
  9. php四则运算出题器_PHP实现的简单四则运算计算器功能示例
  10. 7-16 装箱问题 (20 分)
  11. java产生随机数(可个性化定制)
  12. 用Markdown做日记和任务跟踪的DailyNotes
  13. 关于ARINC 573/717帧同步字的误解
  14. Vmware workstation 16pro解锁装MacOS
  15. 排序算法之时间复杂度O(n2)
  16. Lucene之Field常用类型
  17. bigbluebutton视频直播服务器调用接口
  18. Redis的优点和缺点
  19. html5 footer header,W3C HTML5标准阅读笔记 – header、footer、main、address
  20. 再次爬取干货集中营的福利图片

热门文章

  1. realme q2和realme q2pro的区别
  2. WINDOWS下安装Snort
  3. EDM备忘录:触发式邮件订阅和退订功能介绍
  4. [Unity3d插件KGFMapSystem]非常不错的小地图的制作
  5. 解读Take-Two新财报:营收、利润增长均不及预期,游戏巨头如何迎来第二春?
  6. 【UML】 类图 图例
  7. PHP漂流瓶代码,PHP实现的迷你漂流瓶
  8. 项目实战——基于Java8+JavaFX+多线程+文件IO+SQLite数据库实现的本地文件快速搜索引擎详细设计实现
  9. java redis缓存使用_redis缓存在项目中的使用
  10. 什么是JavaAgent?