黑马程序员技术交流社区

标题: 技术贴 [打印本页]

作者: wj9611    时间: 2019-9-21 22:12
标题: 技术贴

基础班知识概览


一. java语言的发展史(了解)
我们为什么学java:java他是一门计算机语言,与计算机交流的方式。开发软件。
软件的分类:应用软件(qq,微信,淘宝),系统软件:window,mac,linux.
java之父是谁:高斯林
jdk11学习用这个版本
二. java的跨平台原理
平台:不同的操作系统。
跨平台:一套代码可以在任意操作系统上运行。(一处编译,到处运行)。他需要在不同的操作系统上安装对应的jvm(java虚拟机).
jvm本身不是跨平台的,他解决的是java的跨平台。
三. jre和jdk
1.jre:java运行环境----我们运行一个java程序,只需要安装jre即可。
jre=jvm+核心类库。
2.jdk:java开发环境
jdk=jre(jvm+核心类库)+开发工具包
四. path环境变量的配置
windows提供了一个环境变量的东西,我们把我们的jdk目录配置到path中,我们就可以在任意目录下去使用这个命令。(原理:我们在dos窗口使用命令的时候,它首先会去当前的文件目录下去找有没有这个命令,如果找不到,他会依次去环境变量配置的目录去寻找)
五. 注释
给代码进行解释说明的文字,是不参与编译和运行的
// 单行注释
/* */ 多行注释
/** */ 文档注释
六. 关键字
定义:被java征用了,被java赋予特殊含义的单词或字母的组合.
一共有53个,其中有51个已经被赋予含义了,还有两个保留的关键字.
举例:public class static void true false
七. 常量
1.整数型:就是我们数学当中的整数.   1,12,36,520  可以直接输出.
2.浮点型:数学中的小数:3.14,5.20,13.14  可以直接输出
3.字符型:就是被单引号引起来的单个的字符
4.字符串:"双引号包起来的都是"
5.布尔型:只有两个true和false
6.空常量型: null 不能被输出
八. 数据类型
java是一个强类型数据语言,对待不同的数据类型,内存会分给不同的存储空间,所以我们要把不同的数据,划给不同的空间。
a.基本数据类型   b.引用数据类型(类,数组,接口)
基本数据类型分为4类8种:
[td]
数据类型
关键字
内存占用
取值范围
整数型
byte1-128 ~ 127(负的2的7次方 ~ 2的7次方-1)
short2-32768~32767
int4-2的31次方到2的31次方-1
long8-2的63次方到2的63次方-1
浮点型
float4负数:-3.402823E+38到-1.401298E-45                                                             正数:   1.401298E-45到3.402823E+38
double8负数:-1.797693E+308到-4.9000000E-324                                              正数:4.9000000E-324   到1.797693E+308
布尔型
boolean1true,false
字符型
char20-65535
九. 变量
变量的定义:在程序的运行当中,其值在一定范围内可以发生改变的量,我们就称它为变量.
1.变量的定义格式:
a.数据类型  变量名 = 变量值;
b.数据类型  变量名;       变量名=值;
c:同时定义多个相同数据类型的变量      数据类型 变量名=数值,变量名=数值,变量名=数值.......;
2.变量的使用
变量名=值;
十. 标识符(命名规范)
1.由数字,字母,_(下划线),$组成
2.不能以数字开头
3.不能是关键字
4.区分大小写
大小驼峰命名法
十一. 类型转换
不同的数据类型存储其他的数据类型的数据.
数值型之间的类型转换
byte---> short---> int --->long --->float---> double
​                 char
隐式类型转换:从小的数据类型往大的数据类型转换
强制类型转换:从大往小的转  格式: 目标数据类型  变量名 = (目标数据类型) 数值;
DAY2-运算符、Scanner、ifDAY3-流程控制语句
一. switch
switch(表达式){
   case  常量1 :
​         语句体1;
​         break;(可以省略)
   case  常量2 :
​         语句体2;
​         break;(可以省略)
  ......
​      default  :
​      最后执行的语句;
​      break;
执行流程:表达式最终的结果一定是一个常量(byte,short,int,char,枚举,字符串).拿表达式的值与case的值从上到下一一比较,如果匹配上,开始执行匹配到的case下面的语句,直到遇到break或者switch结束,整个switch才结束.如果表达式最终的结果与所有的case都没有匹配上,就执行default的语句.
注意:case 不能重复
二. for循环
for(循环初始值;循环条件;修改循环条件){         循环体;}
格式解释:
循环初始值:循环一开始的状态
循环条件:你需要符合什么条件才能继续执行循环体
修改循环条件:每一次循环之后,应该修改我的本身需要去判断的条件的值,否则值不变,一直循环或者一直不循环.
循环体:循环执行的内容.
三. while循环
初始化语句;while(条件判断语句){    循环体;    修改循环条件}
while循环执行流程:
1.首先应该执行初始化语句
2.执行条件判断语句,看条件判断语句的结果是true还是false
   如果是false,循环结束
  如果是true,继续向下执行
3.执行循环体
4.修改循环条件
5.回到2
四. do...while循环
五. 三种循环的区别
六. 跳转控制
continue:当在循环体里面遇到continue关键字的时候,本次(当前)循环结束,继续下次循环
break:当前整个for循环结束
七. Random
DAY4-数组
一. 数组
什么是数组【理解】
数组:就是容器,可以存储多个相同 的数据.
数组定义格式【记忆】
数据类型 []  变量名;     int [] arr;
数据类型 变量名[];      int arr[];
动态初始化格式
数据类型  [] 数组名 =  new  数据类型 [长度] ;
int[]  arr =  new int[80];
什么是索引
索引,角标,下标,就是计算机给数据的编号.从0开始,不间断,连续的.        
访问数组元素格式
数据数据 a=数组名[索引];
java中的内存分配[td]
区域名称
作用
寄存器给CPU使用,和我们开发无关。
本地方法栈JVM在使用操作系统功能的时候使用,和我们开发无关。
方法区存储可以运行的class文件。
堆内存存储对象或者数组,new来创建的,都存储在堆内存。
方法栈方法运行时使用的内存,比如main方法运行,进入方法栈中执行。
静态初始化格式索引越界异常空指针异常数组遍历【应用】总结数组
1.数组可以一次性开辟多个空间去保存相同数据类型的变量.
2.他有索引,他的索引是从0开始,到长度-1结束
3.不能整体的给数组赋值,只能给单个的数组索引对应位置辅助,格式  数组名[索引]=数值;
4.获取对应索引位置的值:数组名[索引]
5.获取数组的长度(他的元素个数):数组名.length
DAY5-方法方法的概念(理解)
​        方法是一个具有独立功能的代码集,他可以独立的运行,我们需要先编写这个方法,在需要的时候去调用即可.调用的格式就是方法名();
​        方法我们自己定义的,方法名是我们自己起的,遵循小驼峰命名法.a.方法写在类中:就是class的大括号中.b.他与main函数是并列的关系.他们没有先后.main里面不能直接写方法,自定义方法里面也不能在写方法.
  为什么要有方法:我们重复使用的具体独立的功能的代码,我们需要早在程序里编写很多次,造成代码的阅读性很差,我们想到了方法(函数),方法就把这些具体独立功能的代码封装起来,在你程序需要的时候,就可以调用,这个代码我们只需要写一次,很多可以一直的调用,调用的格式是方法名();
  作用:减少代码的复用性.
无参数方法定义和调用(掌握)带参数方法定义和调用(掌握)形参和实参(理解)
​         我们定义一个方法的时候,首先你自己要知道你定义的方法是干什么用,此时你可以决定调用者调用你方法的时候,需要传递给你什么类型的数据,你得接收,你就在方法的参数列表(方法的小括号)位置定义变量,变量的定义格式就是数据类型,变量名,如果有多个,用逗号隔开.此时他没有实际的值,所以我们叫他形式上参与运算的值,也叫形参.
2.实参:
  调用者调用你方法的时候,他会看到你的参数列表,需要调用者提供什么数值,调用者就需要把实际的值给你去参与运算,最后得到结果,格式是方法名(变量/常量);这个数是不是实实在在存在的,我们叫他实际参与运算的数也叫实参.           
方法的注意事项(掌握)
方法不能嵌套定义
方法重载(理解)DAY7-面向对象
一个标准类的构成:
  1.私有的属性  2.属性的公共get/set方法  3.行为,自定义的方法  4.构造函数(满参,无参)
类和对象的关系
什么是类:他是java语言用来描述现实生活中某一类事物共性(共同的属性和行为)的总结和描述.
什么是对象:他是基于我们写的这个类在java中创建出来的真实个体(实体).在堆内存当中存在,他就是现在生活中的一个实物.
举个例子:汽车他是一类事物,我们可以写一个汽车的总结和描述,他是一个类.但是你自己的汽车就是一个对象.(万物皆对象)
封装private关键字【理解】
private是一个修饰符,可以用来修饰成员(成员变量,成员方法)
this关键字【应用】
this:为了解决局部变量和成员变量重名的问题
就近原则:你使用的变量他表示的是离使用最近的那个定义的变量.
那么我们区分成员变量和局部变量的在一个方法里都要使用的时候,this.变量名表示的就是成员变量.
不加this表示的就是局部变量.
this:谁调用我this就表示谁.
封装思想【理解】构造方法概述【理解】
构造方法是一种特殊的方法
构造方法的注意事项【理解】DAY8-常用api1API概述【理解】String类概述【理解】
​        String (Java SE 9 & JDK 9 )String类代表字符串。 Java程序中的所有字符串文字(例如"abc" )都被实现为此类的实例。
String类的特点【理解】String类的构造方法【记忆】创建字符串对象两种方式的区别【理解】字符串的比较【理解】==号的作用equals方法的作用帮助文档查看String常用方法【记忆】[td]
方法名
说明
public boolean   equals(Object anObject)比较字符串的内容,严格区分大小写(用户名和密码)
public char charAt(int   index)返回指定索引处的 char 值
public int   length()返回此字符串的长度
StringBuilder类概述【理解】
​        内容可变的字符串,理解为一个容器.做字符串拼接的时候,可以提高效率和节省内存.
StringBuilder类和String类的区别【理解】StringBuilder类的构造方法【记忆】帮助文档查看StringBuilder常用方法【记忆】[td]
方法名
说明
public   StringBuilder append (任意类型)添加数据,并返回对象本身
public   StringBuilder reverse()返回相反的字符序列
public   int   length()返回长度,实际存储值
public   String toString()通过toString()就可以实现把StringBuilder转换为String
StringBuilder有一个功能完全一模一样的兄弟叫StringBuffer.构造函数,调用方法,所有的功能都是一样的.可以互相替代使用.
StringBuilder他是线程不安全的,但是效率高.
StringBuffer他是线程安全,但是效率低.
DAY9-集合ArrayList类概述【理解】ArrayList类常用方法【应用】1.2.1构造方法[td]
方法名
说明
public ArrayList()创建一个空的集合对象
1.2.2成员方法[td]
方法名
说明
public boolean   remove(Object o)删除指定的元素,返回删除是否成功
public E   remove(int   index)删除指定索引处的元素,返回被删除的元素
public E   set(int index,E   element)修改指定索引处的元素,返回被修改的元素
public E   get(int   index)返回指定索引处的元素
public int   size()返回集合中的元素的个数
public boolean   add(E e)将指定的元素追加到此集合的末尾
public void   add(int index,E   element)在此集合中的指定位置插入指定的元素







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2