当前位置:网站首页 > Java基础 > 正文

java基础视频教学



黑马程序员Java零基础视频教程_上部(P1-P80)

  • 1. Java入门
    • 1.1 Java学习介绍
    • 1.2 Java人机交互
      • 1.2.1 常用CMD命令
  • 2. Java基础学习
    • 2.1 Java入门
      • 2.1.1 HelloWorld代码案例
      • 2.1.2 配置Path环境变量
      • 2.1.3 Java语言发展
      • 2.1.4 Java能干什么?
      • 2.2.5 Java为什么这么火?
    • 2.2 小概念
      • 2.2.1 注释、关键字、字面量
      • 2.2.2 制表符
      • 2.2.3 变量的注意事项
      • 2.2.4 变量计算-计算公交车人数
      • 2.2.5 计算机的存储规则
      • 2.2.6 计算机的存储规则
      • 2.2.7 数据类型
      • 2.2.8 标识符
      • 2.2.9 键盘录入
    • 2.3 Idea和运算符
      • 2.3.1 IDEA
      • 2.3.2 运算符
    • 2.4 判断和循环
      • 2.4.1 顺序结构:
      • 2.4.2 分支结构:If语句
      • 2.4.3 分支结构:switch语句
      • 2.4.4 分支结构:For语句
      • 2.4.5 分支结构:While语句
      • 2.4.6 分支结构:Do...While语句
      • 2.4.7 无限循环
      • 2.4.8 跳转控制语句
    • 2.5 数组
      • 2.5.1 数组介绍
      • 2.5.2 数组的定义与静态初始化
      • 2.5.3 数组元素访问
      • 2.5.4 数组遍历
      • 2.5.5 数组动态初始化
      • 2.5.6 数组内存图
      • 2.5.7 数组常见问题
      • 2.5.8 数组常见操作
    • 2.6 方法
      • 2.6.1 什么是方法?
      • 2.6.2 方法的格式
      • 2.6.3 方法的调用
      • 2.6.4 方法的重载
      • 2.6.5 方法的内存
  • 3.综合练习
    • 3.1 买飞机票
    • 3.2 找质数
    • 3.3 开发验证码
    • 3.4 数值元素的复制
    • 3.5 评委打分
    • 3.6 数学加密和解密
    • 3.7 抽奖的两种实现方式
    • 3.8 双色球彩票系统
    • 3.9 二维数组

没有什么世界上最好的 编程语言 ,只有最合适的编程语言

1. Java入门

1.1 Java学习介绍

在这里插入图片描述

1.2 Java人机交互

  • CMD:在windows中,利用命令行的方式操作计算机。
  • 可以打开文件,打开文件夹,创建文件夹等等

CMD

  • ,打开运行界面
  • 输入CMD


说明:盘符切换
举例:E:回车,表示切换到E盘
在这里插入图片描述

说明:查看当前路径下的内容. (隐藏的文件夹也有)
在这里插入图片描述


说明:进入单级目录
举例:
在这里插入图片描述

1.2.1 常用CMD命令


说明:回退到上一级目录
在这里插入图片描述


说明:进入多级目录。
举例:


说明:回退到盘符目录。
在这里插入图片描述


说明:清屏。

说明:退出命令提示符窗口。

是经常打开的软件,每次打开的时候都要切换盘符,并且进入多层文件夹,太麻烦了!

只要把的路径记录在电脑的环境变量里!!在当前目录下寻找后,如果没有找到,就去环境变量里去找。

Win+E,右键属性,高级系统设置,高级,环境变量。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
把的路径记录在Path里,当找环境变量时,会在path中从上至下寻找。
注意修改后,原来的CMD不作用,要新建有个CMD。

2. Java基础学习

2.1 Java入门

加粗样式
1、JDK

JDK是Java初学时用的,比较麻烦,小千建议大家开始学习Java的时候结合记事本使用,可以强迫熟悉Java语句和Java程序的基础结构。当然严格来说,编程软件里面应该不包括它,它只是支持Java的底层工具。
在这里插入图片描述

2、Jbuilder

Jbuilder是一个可视化Java开发工具。它是在Java2平台上开发商业应用程序、数据库、发布程序的优秀工具。它支持J2EE,所以程序员可以快速的转换企业版Java应用程序。

JBuilder 对重量级框架的支持比较好。比如EJB。

3、Eclipse

4、NetBeans

5、MyEclipse

下面以JDK为例:
在这里插入图片描述

  • bin:该路径下存放了各种工具命令。其中比较重要的有: javac和java
  • conf:该路径下存放了相关配置文件。
  • include:该路径下存放了一些平台特定的头文件。
  • jmods:该路径下存放了各种模块。
  • legal:该路径下存放了各模块的授权文档。
  • lib:该路径下存放了工具的一些补充AR包。

在这里插入图片描述
Java中的编译分为两个部分

  • 源码文件编译成字节码文件(前端编译)
  • 字节码文件被虚拟机加载以后编译成机器码(后端编译)

2.1.1 HelloWorld代码案例

 

在这里插入图片描述
在这里插入图片描述

2.1.2 配置Path环境变量

在这里插入图片描述

2.1.3 Java语言发展

在这里插入图片描述
紧贴市场发展
在这里插入图片描述

2.1.4 Java能干什么?

三大使用平台:JavaSE、JavaME、JavaEE
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2.5 Java为什么这么火?

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

JVM (Java Virtual Machine) : Java虚拟机,真正运行Java程序的地方
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. JDK是什么?有哪些内容组成?
    • JDK是Java开发工具包
    • JVM虛 拟机: Java程序运行的地方
    • 核心类库: Java已经写好的东西,我们可以直接用。
    • 开发工具: 、、、…
  2. jJRE是什么? 有哪些内容组成?
    • JRE是Java运行环境
    • JVM、核心类库、运行工具
  3. jDK, JRE, JVM三者的包含关系
    • JDK包含了JRE
    • JRE包含 了JVM

2.2 小概念

2.2.1 注释、关键字、字面量

  1. 注释:注释是在程序指定位置添加的说明性信息,简单理解,就是对代码的一种解释
    2.
  2. 关键字:被Java赋予了特定涵义的英文单词

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 字面量:整数类型、小数类型、字符串类型、字符类型、布尔类型、空类型
字面量类型说明举例整数类型不带小数点的数字666, -88小数类型带小数点的数字13.14, -5.21字符串类型用双引号括起来的内容“HelloWorld”,“黑马程序员"字符类型用单引号括起来的,内容只能有一个‘A’, '0’,‘我’布尔类型布尔值,表示真假,只有两个值true, false空类型一个特殊的值,空值值是: null
 

2.2.2 制表符

在打印的时候,把前面字符串的长度补齐到8,或者8的整数倍。最少补1个空格,最多补8个空格。

 

变量:数据类型 变量名=数据值;

 
 

2.2.3 变量的注意事项

  • 只能存一个值
  • 变量名不允许重复定义
  • 一条语句可以定义多个变量
  • 变量在使用之前一定要进行赋值
  • 变量的作用域范围

2.2.4 变量计算-计算公交车人数

 

2.2.5 计算机的存储规则

在这里插入图片描述
在计算机中,任意数据都是以二进制的形式来存储的。
在这里插入图片描述

2.2.6 计算机的存储规则

  1. : 1981年5月1日发布的简体中文汉字编码国家标准。收录7445个图形字符,其中包括6763个汉字。
  2. : 台湾地区繁体中文标准字符集,共收录13053个中文字,1984年实施。
  3. : 2000年3月17日发布,收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
  4. : 国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

2.2.7 数据类型

1. 基本数据类型:

在这里插入图片描述

 
 

整数和小数取值范围大小关系:double > float > long > int > short > byte
long类型变量:需要加入L标识(大小写都可以)
float类型变量:需要加入F标识(大小写都可以)

在这里插入图片描述

 

2. 引用数据类型:

类、 接口类型、 数组类型、 枚举类型、 注解类型、 字符串型,例:String类型就是引用类型

2.2.8 标识符

  • 标识符命名规则——硬性要求
    • 由数字、字母、下划线和美元符
    • 组成 不能以开头
    • 不能是关键字
    • 区分大小写
  • 标识符命名规则——软性建议
    • 小驼峰命名法:方法、变量
    • 规范1:标识符是一个单词的时候,全部小写java基础视频教学
    • 范例1: name
    • 规范2:标识符由多个单词组成的时候,第一个单词首字母小写,其他单词首字母大写
    • 范例2: firstName
  • 大驼峰命名法:类名
    • 规范1:标识符是一个单词的时候,首字母大写
    • 范例1: Student
    • 规范2:标识符由多个单词组成的时候,每个单词的首字母大写
    • 范例2: GoodStudent

2.2.9 键盘录入

Java帮我们写好一个类叫Scanner,这个类就可以接收键盘输入的数字。

在这里插入图片描述

 

输入2个数字:

 

2.3 Idea和运算符

2.3.1 IDEA

看看2位大牛的文字。

  • IntelliJ IDEA 下载安装及配置教程
  • IDEA放大和缩小代码字体的快捷键设置
    在这里插入图片描述

在这里插入图片描述
IDEA中类相关操作:修改类名、删除类、新建类

注意:文件名与类名保持一致

IDEA中模块相关操作:新建模块、删除模块、修改模块、导入模块
IDEA中项目相关操作:关闭项目、新建项目、打开项目、修改项目

2.3.2 运算符

在这里插入图片描述
算术运算符
在这里插入图片描述

 

输出三位数的个、十、百

 

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

 

在这里插入图片描述

自增自减运算符
在这里插入图片描述
可以先写 也可后写
在这里插入图片描述

 

赋值运算符
在这里插入图片描述
关系运算符
在这里插入图片描述

逻辑运算符
在这里插入图片描述

在这里插入图片描述
简单理解:当左边的表达式能确定最终的结果,那么右边就不会参与运行了

三元运算符——

运算符优先级

在这里插入图片描述
计算机实际只存储补码, 所以原码转换为补码的过程,也可以理解为数据存储到计算机内存中的过程

原码
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
补码完美解决了计算机中正数与负数计算问题。
在这里插入图片描述

  • 计算机中是用补码计算的,所以一个字节是

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.4 判断和循环

2.4.1 顺序结构:

 

2.4.2 分支结构:If语句

 

在实际开发中,电影院选座也会使用到if判断。假设某影院售卖了100张票,票的序号为1~100。
其中奇数票号坐左侧,偶数票号坐右侧。键盘录入“个整数表示电影票的票号。
根据不同情况,给出不同的提示:如果票号为奇数,那么打印坐左边,如果票号为偶数,那么打印坐右边。

 

在这里插入图片描述
在这里插入图片描述

2.4.3 分支结构:switch语句

在这里插入图片描述

 
  1. 位置: 不一定是写在最下面的,我们可以写在任意位置。只不过习惯会写在最下面
  2. 省略: 可以省略, 语法不会有问题,但是不建议省略。

执行流程:

  • 首先还是会拿着小括号中表达式的值跟下面每一个case进行匹配。
  • 如果匹配上了,就会执行对应的语句体,如果此时发现了break,那么结束整个switch语句。
  • 如果没有发现break,那么程序会继续执行下一个case的语句体,一 直遇到break或者右大括号为止。

switch新特性:

 
 
 

2.4.4 分支结构:For语句

在这里插入图片描述
在这里插入图片描述

 

2.4.5 分支结构:While语句

在这里插入图片描述

 

在这里插入图片描述

2.4.6 分支结构:Do…While语句

在这里插入图片描述
先执行 后判断。

2.4.7 无限循环

在这里插入图片描述

2.4.8 跳转控制语句

 

在这里插入图片描述

2.5 数组

2.5.1 数组介绍

数组:是一种容器,可以用来存储同种数据类型的多个值

  • 数组容器在存储数据的时候,需要结合隐式转换考虑
  • 例如:int类型的数组容器( (×) (√) (√) (√) (×))
  • 例如:double类型的数组容器( (√) (√) (√) (√) (√) (√))
  • 建议:容器的类型,和存储的数据类型保持一致

2.5.2 数组的定义与静态初始化

在这里插入图片描述
数组的初始化: 就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程。

完整格式:

省略格式:

数值一旦确定长度,长度不可发生改变。

 
 

2.5.3 数组元素访问

 
 

2.5.4 数组遍历

 

2.5.5 数组动态初始化

动态初始化:初始化时只指定数组长度,由系统为数组分配初始值。
格式:
范例:

 

数组动态初始化和静态初始化的区别

动态初始化:手动指定数组长度,由系统给出默认初始化值。

  • 只明确元素个数,不明确具体数值,推荐使用动态初始化
  • 举例:使用数组容器来存储键盘录入的5个整数。

静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度。

  • 需求中已经明确了要操作的具体数据,直接静态初始化即可。

2.5.6 数组内存图

暂时先不讲,后面讲。

注意:
从JDK8开始,取消方法区,新增元空间。把原来方法区的多种功能进行拆分,有的功能放到了堆中,有的功能放到了元空间中。
在这里插入图片描述

Java内存分配

  1. 方法运行时使用的内存,比如main方法运行,进入方法栈中执行
  2. 存储对象或者数组,new来创建的,都存储在堆内存
  3. 方法区 存储可以运行的class文件
  4. 本地方法栈 JVM在 使用操作系统功能的时候使用,和我们开发无关
  5. 寄存器. 给CPU使用,和我们开发无关

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

变量中存储的是真实数据,数组内存存地址。

在这里插入图片描述
在这里插入图片描述
两个数组指向同一个空间的内存图。
在这里插入图片描述

在这里插入图片描述

2.5.7 数组常见问题

当访问了数组中不存在的索引,就会引发索引越界异常。

2.5.8 数组常见操作

求最值

 

求和

 
 

交换数据

 

打乱数据

 

2.6 方法

2.6.1 什么是方法?

方法(method)是程序中最小的执行单元。 将重复的代码打包,避免重复度过高,复用性差。

  1. 什么是方法?
    • 方法是程序中最小的执行单元。
  2. 实际开发中,什么时候用到方法?
    • 重复的代码、具有独立功能的代码可以抽取到方法中。
  3. 实际开发中,方法有什么好处?
    • 可以提高代码的复用性
    • 可以提高代码的可维护性

2.6.2 方法的格式

在这里插入图片描述

 

2.6.3 方法的调用

 

带参数的调用:
在这里插入图片描述

 

在这里插入图片描述

 

2.6.4 方法的重载

在这里插入图片描述
方法的重载:
在这里插入图片描述

  • 在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。
  • 每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系
  • 简单记:同一个类中,方法名相同,参数不同的方法。与返回值无关。
  • 参数不同:个数不同、类型不同、顺序不同

在这里插入图片描述

 

2.6.5 方法的内存

1. 方法调用的基本内存原理

  • 栈是先进后出的!!

2. 方法传递基本数据类型的内存原理
在这里插入图片描述
3. 方法传递引用数据类型的内存原理
在这里插入图片描述
在这里插入图片描述

 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
变量是又作用范围的,只在属于自己的方法里有效。

传递基本数据类型时,传递的是真实的数据,形参的改变,不影响实际参数的值

 

在这里插入图片描述

传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值

在这里插入图片描述

3.综合练习

3.1 买飞机票

需求:
●机票价格按照淡季旺季、头等舱和经济舱收费、输入机票原价、月份和头等舱或经济舱。
●按照如下规则计算机票价格:旺季(5-10月)头等舱9折,经济舱8.5折,淡季(11月到来年4月)头等舱7折,经济舱6.5折。

 

Ctrl+alt+M

 

3.2 找质数

判断101-200之间有多少个质数。

 

3.3 开发验证码

随机生成5位验证码,前四位是大小写字母,最后一位是数字

 

3.4 数值元素的复制

把一个数组复制到新数组中

 

3.5 评委打分

需求:
在唱歌比赛中,有6名评委给选手打分,分数范围是[0 - 100]之间的整数。选手的最后得分为:去掉最
高分、最低分后的4个评委的平均分,请完成.上述过程并计算出选手的得分。

 

3.6 数学加密和解密

在这里插入图片描述

 

3.7 抽奖的两种实现方式

在这里插入图片描述

 

3.8 双色球彩票系统

在这里插入图片描述

 

3.9 二维数组

什么是二维数组?数组中存数组

当我们需要把数据分组管理的时候,就需要用到二维数组
在这里插入图片描述

  • 二维数组的静态初始化
    • 范例:
    • 简化格式:
    格式:
 
 

二维数组的动态初始化

  • 格式:
  • m表示这个二维数组,可以存放多少个一维数组
  • n表示每一个一维数组,可以存放多少个元素
 

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
没用的数组变垃圾
在这里插入图片描述

版权声明


相关文章:

  • 面试java基础常问2024-11-12 08:50:03
  • java 程序基础试题及答案2024-11-12 08:50:03
  • java0基础自学2024-11-12 08:50:03
  • java二维基础2024-11-12 08:50:03
  • java8基础教程2024-11-12 08:50:03
  • java编程基础入门教程62024-11-12 08:50:03
  • Java基础实训总结2024-11-12 08:50:03
  • java基础案例教程文件管理2024-11-12 08:50:03
  • java基础教学pdf2024-11-12 08:50:03
  • java编程基础第二版答案2024-11-12 08:50:03