笔记说明:记录视频课程中老师写的笔记(相当于抄板书,目的是加强记忆),附带自己的思考和总结(用块引用格式标记),“学而不思则罔,思而不学则怠”,用反复学习思考总结的方式,督促自己进步。  由于自己是零基础学起,遇到困难是难免的,要做好心理准备,克服困难向前走。时常反思复习,温故知新,加深理解。

1.角色转变:从今天开始就是Java软件工程师了

2.什么是软件工程师?

是一种职位的名称,通常是通过“某种编程语言”完成软件的开发

3.什么是软件呢?

大家眼前的笔记本就是一台计算机,计算机包括两部分:

* 硬件:鼠标、键盘、显示器。主机内存的CPU、内存条、硬盘等等...(注意:计算机只有硬件是无法工作的,需要软件驱动才能工作)

* 软件:软件包括 系统软件和应用软件

系统软件:直接和硬件交互的软件,例如:windows7、winxp、win8、win10、Linux操作系统

应用软件:应用软件通常运行在系统软件中,例如:QQ运行在windows操作系统上。QQ就是应用软件。win7就是操作系统。

我们通常所说的软件开发一般都是指使用计算机编程语言完成“应用软件”的开发。

4.开发软件需要计算机编程语言,计算机编程语言很多,例如:C语言、C++、Java、.NET、C#、php。咱们主要学习那个编程语言呢?Java编程语言,java系列的技术。通过学习Java系列的技术完成应用软件开发。

5.Java软件工程师:通过Java编程语言完成应用软件的开发。

6.学习之前先安装一个好用的文本编辑器,这里安装的是EditPlus3

* 安装EditPlus之后取消文件自动备份

* 设置字体

...

7.作为程序员要求掌握最基本的windows相关的DOS命令

具体已经整理到专题博客:https://blog.csdn.net/CealWang/article/details/104145647

8.关于windows操作系统的文件扩展名的设置

文件的扩展名决定文件的类型

作为Java程序员,以后要新建.java结尾的文件,所以必须保证文件的扩展名是.java

做法:打开计算机-->组织-->文件夹和搜索选项-->查看-->隐藏已知文件类型的扩展名,把前面对勾去掉

9.计算机语言发展史

9.1 什么是计算机<编程>语言?

提前的人为的制定好的一套交流规则,有时候,有的语法是需要死记硬背的,不需要问为什么。而只要遵守这套语法规则,那么人和计算机之间就可以很好地沟通、交流。这就是计算机编程语言。计算机编程语言有很多种,例如:C语言、C++、Java、PHP...

9.2 计算机语言发展史:

第一代语言:机器语言

主要编写二进制码,直接编写100101010101这样的二进制,以打孔机为代表。体积大,容错率小

第二代语言:低级语言

主要以汇编语言为代表,在低级语言中已经引入了一些英语单词,例如变量赋值采用mv

第三代语言:高级语言

几乎和人类的语言完全相同,即使是没有学习计算机编程,只要看到这段代码就知道该代码主要完成什么功能。例如:C语言、C++、Java、....

总之,编程语言的发展方向是:向着人类更加容易理解的方向发展。

10.Java语言发展史:

* Java语言诞生于1995年。在1995年之前SUN公司(太阳微电子公司:该公司目前被Oracle收购了。Oracle甲骨文:做数据库的。)为了占领智能电子消费市场,派James Gosling领导团队开发了一个Oak(橡树)语言。

* 1996年:JDK1.0诞生

- 什么是JDK?       Java开发工具包;做Java开发必须安装的一个工具包,该工具包需要从官网下载。目前SUN被Oracle收购了,所以下载需要去Oracle的官网下载。http://www.oracle.com

* 目前JDK最高版本是:Java8/JDK1.8/JDK8

课后任务:1.查一下2020年最高版本

2.自己电脑有没有安装java

在DOS窗口中,用java -version 命令查了一下,我的电脑已经安装了java  1.8.0_91  版本

* Java包括三大块:

- JavaSE(Java标准版)

- JavaEE(Java企业版)

- JavaME(Java微型版)

其中JavaSE是基础

反思:第一次把java三种对应的版本理清楚了,以前都是模糊印象,没有注意区分过。

专门学了java课程,要注意区分不同的概念,才能更好的入门。

11.Java语言特性【开源、免费、跨平台、纯面向对象】

* 简单性:

相对而言的,例如java中不再支持多继承,C++是支持多继承的,多继承比较复杂;C++中有指针,Java中屏蔽了指针的概念。所以相对来说Java是简单的。

Java语言底层是C++实现的,不是C语言。

* 面向对象

Java是纯面向对象的,更符合人的思维模式,更容易理解。

* 可移植性

什么是可移植性?    Java程序可以做到 一次编译,到处运行。如:Java程序可以在windows操作系统上运行,不作任何修改的情况下,同样可以直接放在Linux操作系统上运行。这被称作Java程序的可移植性,或者叫做跨平台。

windows操作系统和Linux操作系统的内核肯定不同,这两个操作系统执行指令的方式也不一样。显然,java程序不能直接和操作系统打交道,因为java程序只有一份,操作系统执行原理都不同。

SUN团队很聪明,想了一个办法,他们让java程序运行在一台虚拟的计算机中,这个虚拟的计算机叫做Java虚拟机,简称JVM。Java虚拟机再和底层的操作系统打交道。

在这里自我总结一下:Java虚拟机,为了解决java跨平台运行的问题,实现java程序的可移植性

重点理解可移植性(跨平台)

* 多线程

* 健壮性

和自动垃圾回收机制有关,自动垃圾回收机制简称GC机制。Java语言运行过程中产生的垃圾是自动回收的,不需要程序员关心。(C++语言中,程序员分配一块空间,一定要记得释放掉一块空间,否则时间久了会造成大量内存泄露,导致内存溢出,程序崩溃;Java语言中,程序员只负责申请空间,不需要释放,Java语言会自动回收垃圾)

* 安全性

....

12.Java的加载与执行

* Java程序的运行包括两个非常重要的阶段

- 编译阶段

- 运行阶段

* 编译阶段

- 编译阶段主要的任务是检查Java程序是否符合Java语法,符合Java语法则能够生成正常的字节码文件(xxx.class);不符合Java语法规则无法生成字节码文件

- 字节码文件中不是纯粹的二进制,这种文件无法在操作系统中直接执行

- 编译阶段的过程:

* 程序员需要在硬盘的某个位置<位置随意>新建一个扩展名为.java的文件,该文件被称为源文件,源文件中编写的是Java源代码/源程序。这个源程序不能随意编写,必须符合Java语法规则<Java语法规则是需要记忆的>

* Java程序员需要使用JDK中自带的javac.exe命令进行Java程序的编译。

javac在哪用? 怎么用?

- 在DOS命令窗口中使用。

- javac的使用规则:

javac java源文件的路径

javac是一个java编译工具/命令。

* 一个java源文件可以编译生成一个或多个.class文件。【以后再说】

* 字节码文件/class文件是最终要执行的文件,所以class文件生成之后,删除java源文件并不会影响java程序执行,但是一般不要删除java源程序,因为class文件最终执行效果可能不是我们想要的,这时候需要回头修改java源程序,然后将java源程序重新编译生成新的class文件,然后再运行新的class文件生成新的效果。

* 编译结束后,可以将class文件拷贝到其他操作系统中运行。【跨平台】

* 运行阶段 【可以在其他操作系统中运行,跨平台】

- JDK安装之后,除了自带一个javac.exe,还有另一个工具/命令,叫做java.exe,主要负责运行阶段。

- java.exe在哪里用?怎么用?

- 在DOS窗口中使用

- java.exe使用规则:

java 类名

例如:

硬盘上有一个A.class,那么就这样用:  java A

硬盘上有一个B.class,那么就这样用:  java B

硬盘上有一个C.class,那么就这样用:  java C

千万要注意:不能写成这样:java A.class【这种方式是错误的,不要带扩展名,要记住】

- 运行阶段的过程:

* 打开DOS命令窗口

* 输入  java A

* java.exe命令启动Java虚拟机(JVM),JVM会启动类加载器ClassLoader

* ClassLoader会去硬盘上搜索A.class文件,找到该文件则将该字节码文件装载到JVM中。

* JVM将A.class字节码文件解释成二进制1010101010这样的数据。

* 然后操作系统执行二进制和底层硬件平台进行交互。

13.开始第一个Java程序

* 保证计算机中已经安装了文本编辑器Editplus(我的电脑安装了Notepad++,试试能不能用)

* 安装JDK【JDK一般需要从Oracle的官网下载】,我们这里讲解的是JDK7

13.1 JDK、JRE、JVM的关系,搞清楚

* JDK:Java开发工具包,Java开发人员一定要安装

* JRE:Java Runtime Environment,Java运行时环境,Java程序开发完之后,只要有一个运行环境就可以运行Java程序。

* JVM:Java虚拟机,Java程序最终运行在JVM上的,JRE包括Java虚拟机(JVM)的。JVM没有单独的安装软件。

* JDK和JRE都有单独的安装软件,一般JDK都会自带一个JRE。如果不在这台电脑上做Java开发,仅仅是需要运行Java程序,不需要安装JDK,只安装JRE就可以,JRE的体积比较小。比如在客户的机器上运行程序,只需安装JRE,而JRE中包含了JVM。三者的关系可以用下图表示。

13.2 JDK目录介绍:

JDK/bin:该目录下存放了很多命令,例如javac.exe和java.exe。javac.exe负责编译,java.exe负责运行

13.3 开发HelloWorld.java源程序【照抄,不要问为什么,注意大小写】

13.4 将HelloWorld.java源程序通过javac工具进行编译:

- 首先需要解决的问题是:javac命令是否可用

- 打开DOS命令窗口,直接输入javac,然后回车,出现报错:

'javac'不是内部或外部命令,也不是可运行的程序或批处理文件。

以上问题是因为:windows操作系统无法找到javac命令文件

- 怎么解决以上javac不可用的问题?

- windows操作系统是如何搜索硬盘上某个命令的呢?

* 首先从当前目录下搜索

* 当前目录搜不到的话,会从环境变量path指定的路径中搜索某个命令

* 如果都搜索不到,则报以上错误。

- 配置环境变量path

* 注意:path环境变量和java语言没有关系,path环境变量是属于windows操作系统的一个知识点,是专门给windows操作系统指路的。

* java要想能随意使用,需要将javac所在的目录配置到环境变量path中,用法:path=xxxx;D:\programs\Java\jdk1.8.0_91\bin    路径之间要用分号隔开,必须是英文分号“;”。

* 修改环境变量后,一定要先退出DOS窗口,用exit命令退出,再重新打开一个

- 环境变量修改说明,如下图,环境变量有两个部分,:

- javac命令怎么用?

javac java源文件路径

注意:路径包括绝对路径和相对路径两种方式

* 绝对路径方式:1.开始-运行-cmd,打开DOS命令窗口

2.输入javac 再直接把java源文件拖拽到javac后面,会直接显示java源文件所在的绝对路径

3.回车

没有报错的话,会在java源文件所在目录下生成一个.class文件,编译成功了。

编译时,我的程序出现了一个报错,"String"的"S"没有大写。注意java是大小写敏感的,编译过程如下图:

* 相对路径方式:

1.打开java源程序所在的文件,在目录栏输入cmd,打开DOS命令窗口,在源文件所在的目录操作DOS命令

2.输入dir,回车,查看当前目录下的文件,确定路径是对的

3.输入del *class,删除HelloWorld.class文件

4.直接输入javac HelloWorld.java

5.回车,生成class文件,编译成功

收获:1.步骤1打开DOS命令窗口的方式,将DOS窗口中的目录切换到源文件所在目录下,比较便捷,不用依次切换盘符;2.记得用dir检查目录是否正确;3.学到了DOS命令的删除命令del

13.5运行java程序:

- 需要使用java.exe命令

- 首先测试java命令是否可用

- 使用方式:java 类名

硬盘上有HelloWorld.class,那么类名就是:HelloWorld

java HelloWorld

一定要注意:java命令后面跟的不是文件路径,是一个类的名字。

- 首先你需要将DOS窗口中的目录切换到HelloWorld.class文件所在目录。dir确定当前目录下真的有HelloWorld.class文件。

- 然后直接执行:java HelloWorld       敲回车,效果就是输出 Hello World! 运行结束。效果如下:

Java零基础_day01_课堂笔记相关推荐

  1. 【java学习】从头再来一遍(附韩顺平_循序渐进学Java零基础【完整笔记】)

    计划任务 1.每天学习至少2个小时 2.完成教程中的课程作业 3.记录学习笔记 笔记下载-泉哥博客https://www.quange.cc/note/java/learn-java/712.html

  2. Java零基础笔记自用版(一)

    系列文章目录 一.Java零基础笔记自用版(一) 目录 系列文章目录 前言 一.⭐️Java概述 二.⭐️变量 三.⭐️运算符 四.⭐️控制结构 五.⭐️数组.排序.查找 写在最后 前言 最近在学习J ...

  3. Java零基础学习全套视频笔记

    Java零基础学习全套视频笔记 一.Java基础 1.注释 注释并不会被执行,是给我们写代码的人看的,防止项目结构代码太多忘记代码相关功能. 书写注释是一个非常好的习惯,平时写代码也一定要注意规范. ...

  4. 阿里云【名师课堂】Java零基础入门24 ~ 26:方法的定义与使用

    阿里云[名师课堂]Java零基础入门24 ~ 26:方法的定义与使用 24:方法的基本定义 无返回值无参数 无返回值有参数 有返回值有参数 25:方法重载(重点) 26:方法递归调用 24:方法的基本 ...

  5. 阿里云【名师课堂】Java零基础入门6:CLASSPATH环境属性

    阿里云[名师课堂]Java零基础入门6:CLASSPATH环境属性 一.具体内容 二.总结 一.具体内容 CLASSPATH指的是类的加载路径,是一个路径列表,用于搜索Java编译或者运行时所用到的类 ...

  6. 阿里巴巴大神发布的Java零基础笔记,实战教程多到手软,跪了

    前言 现值金三银四之际,是面试高峰季,很多学校开始校招,也是跳槽转行的最佳时机.根据数据显示,程序员是金九银十里最热门的行业,也是需求量最大的行业,但是程序员是个门槛低,但金字塔顶峰比较高的行业,意味 ...

  7. (尚硅谷java零基础教程)学习笔记day7/8-数组

    1.数组的概述 1.1 定义 数组(Array),是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理. 1.2 数组的相关概念 数组名 元素 数组的索引 ...

  8. 尚硅谷Java零基础极速入门七天版笔记

    Java零基础极速入门 文章目录 Java零基础极速入门 1 Java快速入门 1.1计算机语言 1.2 Java语言 1.3 JVM 1.4 环境配置 2 基础语法 2.1 变量 2.2 标识符 2 ...

  9. 【Java】Java零基础学习笔记

    文章目录 前言 思维导图 前期准备 卸载JDK 安装JDK Hello,world 可能遇到情况 java程序运行机制 IDEA的安装 java基础部分 基础语法 运算符 包机制 javaDoc文档手 ...

最新文章

  1. 3D点云描述子超全综述:传统方式+深度学习方式
  2. solidworks模板_SolidWorks文件属性分类和创建方法,图纸自动属性的基础
  3. 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)...
  4. python无法安装tensorflow_python – 无法安装Tensorflow Mac
  5. 多任务学习漫谈:以损失之名
  6. slow log php,善用php-fpm的慢执行日志slow log,分析php性能问题
  7. Eclipse安装STS插件
  8. Sql 四大排名函数(ROW_NUMBER、RANK、DENSE_RANK、NTILE)
  9. 如何处理 Kubeadm 搭建的集群证书过期问题
  10. mysql查询本年的函数_sql 查询本年、本月、本日记录的语句,附SQL日期函数
  11. IE开发人员工具不见了?
  12. python线程池如何调度,python线程池控制
  13. keil4和烧录软件的基本使用
  14. 一起重新开始学大数据-java篇-DAY13-ArrayList集合和装拆箱
  15. win10分屏设置壁纸+获取win10锁屏壁纸
  16. 初识DataTable
  17. Appium 点击操作梳理
  18. 网络管理之网络状态测试命令
  19. windows权限管理
  20. php导入excel读取内容

热门文章

  1. 企业网中有哪些常见的网络设备?它有什么功能?
  2. KVM- Guest Enter Guest Exit
  3. 创业如何解决资金不足的问题
  4. The nearest taller cow
  5. 家用无线网络布置——小凡,晚安
  6. 我要3万取款机怎么取_银行自动取款机一次可以取3万么
  7. 易地推拓客分享培训机构如何玩转拼团营销招生
  8. 手机压缩图片的软件有哪些?这两个实用工具不要错过
  9. Android实现二维码扫描功能-ZXing识别图片二维码,相册选图
  10. qt设置文本背景透明_qml文件中怎么设置透明输入框