黑马程序员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程序的地方
- JDK是什么?有哪些内容组成?
- JDK是Java开发工具包
- JVM虛 拟机: Java程序运行的地方
- 核心类库: Java已经写好的东西,我们可以直接用。
- 开发工具: 、、、…
- jJRE是什么? 有哪些内容组成?
- JRE是Java运行环境
- JVM、核心类库、运行工具
- jDK, JRE, JVM三者的包含关系
- JDK包含了JRE
- JRE包含 了JVM
2.2 小概念
2.2.1 注释、关键字、字面量
- 注释:注释是在程序指定位置添加的说明性信息,简单理解,就是对代码的一种解释
- 关键字:被Java赋予了特定涵义的英文单词
- 字面量:整数类型、小数类型、字符串类型、字符类型、布尔类型、空类型
2.2.2 制表符
在打印的时候,把前面字符串的长度补齐到8,或者8的整数倍。最少补1个空格,最多补8个空格。
变量:数据类型 变量名=数据值;
2.2.3 变量的注意事项
- 只能存一个值
- 变量名不允许重复定义
- 一条语句可以定义多个变量
- 变量在使用之前一定要进行赋值
- 变量的作用域范围
2.2.4 变量计算-计算公交车人数
2.2.5 计算机的存储规则
在计算机中,任意数据都是以二进制的形式来存储的。
2.2.6 计算机的存储规则
- : 1981年5月1日发布的简体中文汉字编码国家标准。收录7445个图形字符,其中包括6763个汉字。
- : 台湾地区繁体中文标准字符集,共收录13053个中文字,1984年实施。
- : 2000年3月17日发布,收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
- : 国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。
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语句
- 位置: 不一定是写在最下面的,我们可以写在任意位置。只不过习惯会写在最下面
- 省略: 可以省略, 语法不会有问题,但是不建议省略。
执行流程:
- 首先还是会拿着小括号中表达式的值跟下面每一个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内存分配
- 栈 方法运行时使用的内存,比如main方法运行,进入方法栈中执行
- 堆 存储对象或者数组,new来创建的,都存储在堆内存
- 方法区 存储可以运行的class文件
- 本地方法栈 JVM在 使用操作系统功能的时候使用,和我们开发无关
- 寄存器. 给CPU使用,和我们开发无关
变量中存储的是真实数据,数组内存存地址。
两个数组指向同一个空间的内存图。
2.5.7 数组常见问题
当访问了数组中不存在的索引,就会引发索引越界异常。
2.5.8 数组常见操作
求最值
求和
交换数据
打乱数据
2.6 方法
2.6.1 什么是方法?
方法(method)是程序中最小的执行单元。 将重复的代码打包,避免重复度过高,复用性差。
- 什么是方法?
- 方法是程序中最小的执行单元。
- 实际开发中,什么时候用到方法?
- 重复的代码、具有独立功能的代码可以抽取到方法中。
- 实际开发中,方法有什么好处?
- 可以提高代码的复用性
- 可以提高代码的可维护性
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表示每一个一维数组,可以存放多少个元素
没用的数组变垃圾
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.bianchenghao6.com/h6javajc/19073.html