黑马程序员技术交流社区

标题: 重庆javaEE14期基础班学习总结 [打印本页]

作者: lylylylyly    时间: 2018-12-16 20:40
标题: 重庆javaEE14期基础班学习总结
我是一个平凡的人,却来到了一个不平凡的地方---黑马。
其实2年前我就准备来黑马学习的,因为种种原因,直到现在才来学习。
班主任好看,说话又好听,助教又热情,上课老师又风趣幽默,就这样子,我好喜欢。
很高兴顺利通过就业班,以下是我基础班前五天的学习笔记(不知道有没有1500字):
1.day01
1.1十进制转换为二进制

余数反向取值,即6的二进制表达为:110
二进制转换为10进制:如图
1.2 Dos命令
Wind+R 运行cmd 命令
cd 盘符:       ----切换盘符路径
cd \           ----返回当前盘符根目录
cd \文件夹名称\文件夹名称\....
1.3 jdk jre jvm
Jdk包含jre、JVM,jre包含JVM
        Jdk--java开发工具
Jre--java编译工具(将.java文件编译成.class)
        JVM--java运行工具(java虚拟机)
编写----编译(jre)----运行(jvm)

1.4 三种注释

单行注释://这是单行注释
多行注释:/**/
文档注释:/***/


关键字特点:
1.全小写字母
2.编程软件有特殊颜色
标识符特点:
1.不能以数字开头
2.不能是关键字
3.标识符可以是26个字母区分大小写,和0-9数字,$和_符号组成

命名规范:
类:每个字母大写开头,例如(String 、Animal、MyTest)
方法:小写字母开头,第二个字母大写。例如:print() 、show() 、myShow()
变量:小写字母开头,第二个字母大写.。例如:num1、isFlag、str

常量分类:
1、字符串常量:”HelloWorld”、””、”.....”
2、字符常量:’a’、’A’、’0’、’9’、’我’、      ‘’(错误)
3、整数常量:12、-12、0
4、浮点数(小数)常量:1.2、-3.9、0.0、111.111
5、布尔常量:false、true
6、空常量:null   不能直接打印null值

变量类型:
基本数据类型:
byte :取值范围-128~127
short:取值范围在(负的2的15次方----正的2的15次方-1)(正负3.2万左右)
int(整数默认类型):取值范围(负的2的31次方----正的2 的31次方-1)大概在(正负21亿)
long :定义long类型时带上L
float :单精度,定义float类型时带上F
double(小数默认类型):双精度
char:单引号,单个字符,引号里面不能为空,取值范围(0-65535)
boolean: 只有二个值false与true
引用类型:
String字符串类型、类、接口、Lambda、数组等等

使用变量注意事项:
1、变量名不能重复
2、定义float、long类型时,数字后缀加上F、L
3、变量要赋值才能使用
4、变量赋值时不能超过变量类型的范围
5、变量使用不能超过作用域范围(定义变量的大括号内)
2.day02
数据类型转换:
1.自动类型转换:数据类型小的赋值给数据类型大的,会自动转换成数据类型大的类型(byte<short<char<int<long<float<double)
2.强制类型转换:把数据类型大的赋值给数据类型小的,需要强制转换,格式为:
小的数据类型 小的变量=(小的数据类型)大的数据类型的变量
     int         a    =    (int)                 10000L
强制类型转换注意事项:整数类型强制转换可能会数据溢出(例如:int a = (int) 6000000000L,右边是long类型值为60亿,而int类型范围在21亿左右,这样就会数据溢出),小数类型强制转换可能会丢失精度(例如:int a = (int) 2.5 ,当把double类型强制转换为int类型,小数点就会丢失,a就等于2)
常量优化机制:
当常量赋值给变量时,如果常量在变量类型的范围类,则系统会自动强制转换,否则会报错(例如:byte b = 10; short s = 20; char c = 97)
基本运算符:
加:+ : (加号的作用分为2种。1.做加法运算(两个基本数据类型boolean除外);2.做字符串连接符(字符串与变量相加,例如:String s = “5”;int a = 1; (s + a) 就等于”51”))
减:-
乘:*
除:/ :整数/整数=整数(值为商,没有余数),小数(整数)/小数=小数
取模:%:整数%整数=余数
自加运算符:++:分为前++与后++
前++:先自增再运算 例如:int a = 1; b = ++ a; ----> b=2,a=2 )
后++:先运算后自增 例如:int a = 1; b = a++; ----> b=1,a=2 )
自减运算符:--:分为前--与后--
前--:先自减再运算(例如:int a = 1; b =-- a; ----> b=0,a=0 )
后--:先运算后自减( 例如:int a = 1;b=a--;---->b=1,a=0 )
注意:
1.byte short char 进行运算时,会自动转换成int类型再进行计算,计算的结果也为int类型。
2.不同类型做运算时,结果为范围类型大的类型
3.boolean类型不参加运算
ASCII码表的常见值:
‘0’---->48
‘A’---->65
‘a’---->97
赋值运算符:
1、+=  ---->  a+=1---->a=a+1;
2、*=  ---->  a*=2----->a=a*2;
3、/=  ---->  a/=3----->a=a/3;
4、%=  ---->  a%=4---->a=a%4;
注意事项:1、只有变量才能使用
2、赋值运算符隐含了一个强制类型转换(例如:byte b=1; b+=1相当于b=(byte)(b+1))
比较运算符:
1、>
2、<
3、>=
4、<=
5、!=
6、==
比较运算符的结果为boolean类型,如果条件成立则为true,否则为false

逻辑运算符:
1、& 与 &&  (并且、与)
表达式1  &(&&) 表达式2   :当表达式1与表达式2结果同时为true时才为true,否则为false;
2、| 与 || (或、或者)
表达式1  |(||) 表达式2   :表达式1 或者表达式2中至少一个为true,则结果为true,全为false则为false
3、!(非、取反)
!true等于false       !false等于true
注意事项:
1、逻辑运算符只能用于boolean值
2、&& 与 || 两边要各自有一个boolean类型值、取反只需要一个boolean值
3、&& 与 || 可以连续写 例如(a<b && b<c && c<d).....
4、| 与 || 的区别:| 是都要判断两边的表达式后再进行输出结果,|| 是当左边表达式为true后就不再判断右边的值,直接返回true。
5、& 与 && 的区别: &是两边表达式都要判断,&&是当表达式1不成立时就直接返回false不再判断表达式2
三元运算符:
格式:数据类型 变量名称 = 条件判断 ?表达式1 : 表达式2
条件判断如果成立则返回表达式1,不成立则返回表达式2
注意事项:
1、表达式 1与表达式2的数据类型都要符合左边变量名称的数据类型
2、三元运算符的结果必须要使用(打印,赋值,返回...)
方法:
格式:修饰符 返回值类型 方法名(参数类型1 参数名称1....){
方法体;(代码)
return  ;
}
注意事项:
1、方法定义的顺序无所谓
2、方法直接不能产生镶嵌包含关系
3、定义了方法,方法并不会执行,执行需要调用该方法
编译器的两项优化:
1、常量优化机制
2、常量之间的运算在编译时会自动计算出值,不需要重复计算
3.day03
流程结构分3种:
1、顺序结构
2、选择结构
3、循环结构
顺序结构:从上到下依次运行
选择结构:
1、单if语句
格式:if(条件判断){
满足条件执行的语句;
}
2、if...else,条件判断语句成立执行语句体1,不成立执行语句体2
格式:if(条件判断){
语句体1;
} else{
语句体2;
}
3、if...else if....else,条件语句依次判断,如果条件语句成立则执行对应的语句体,并结束整个if语句。如果条件语句都不成立,则执行else语句。
格式:if(条件语句1){
语句体1;
}else if(条件语句2){
语句体2
}
....
else if(条件语句n){
语句体n;
}else{
语句体n+1;
}
4、switch语句:参数与case语句的常量进行匹配,如果参数等于case语句的常量,则执行case语句里面的语句体。如果都不匹配则执行default语句。
格式:switch(参数){
case 常量1:
语句体1;
break;
case 常量2:
语句体2;
break;
....
default:
语句体n+1;
break;
}
switch(参数):中的变量只能为byte、short、char、int、String、enum枚举类型。
注意:1、switch里面的case语句,顺序可以前后颠倒,break可以省略。
2、switch语句具有穿透性:匹配正确的case语句并向下执行,直到遇见break语句或者整体语句结束为止
5、循环结构
循环结构分为:
1、初始化语句:循环最初执行,只执行一次
2、条件判断语句:如果条件成立则循环继续如果不成立则循环终止
3、循环体语句:重复要执行的语句
4、步进语句:每次循环结束都要执行一次
for循环语句格式
for(①初始化语句;②条件判断语句;④步进语句){
③循环体;
}
While循环语句格式
①初始化语句
while(②条件判断语句){
③循环体;
④步进语句;
}
do while循环语句格式
①初始化语句
do{
②循环体;
③步进语句
}while(④条件判断语句);
三种循环语句的区别:for循环与while循环要先判断条件是否成立才执行循环体,do while语句是先执行一遍代码块再运行。
break关键字:在循环中,使用break强制结束循环
continue关键字:在循环中,遇到continue跳过当前循环,直接判断运行下一次循环
day04
方法的含义:若干语句的功能集合
方法调用格式:
1、单独调用:方法名称(参数类型 参数,.....);
2、打印调用:System.out.print(方法名称(参数类型 参数,.....))
3、赋值调用:
返回值类型 变量名称 = 方法名称(参数类型 参数,.....);
参数的方法:小括号中有内容
无参数方法:小括号中无内容
方法的三要素:
1、返回值
2、方法名称
3、参数列表
return在方法中的作用:返回参数,并结束方法,如果return后面为空,则方法直接结束
注意:
1、无返回类型的方法,不能使用return返回一个数据类型的值
2、有返回类型的方法,return返回的数据类型要与方法定义的返回类型一致
3、无返回类型的方法只能单独调用,不能打印调用和赋值调用
方法的重载(Overload):
方法重载的条件:
1、方法名一致
2、参数个数不同
3、参数类型不同
4、参数的多类型顺序不同
重载与下列关系无关:
1、修饰符
2、返回类型
3、参数名称

day05
数组:是一种容器,可以同时存放多个数据
数组特点:
1、数组是一种引用类型
2、数组当中的多个数据,数据类型要一致
3、数组的长度在程序编译运行期间不可改变
创建数组格式:
动态初始化数组格式:
数据类型[] 数组名称 = new 数据类型[数组长度];
静态初始化数组格式:
数据类型[] 数组名称 = new 数据类型[]{元素1,元素2......};
简易版:数组类型[] 数组名称 = {元素1,元素2.......};
使用建议:不确定数组的元素内容用动态初始化
          确定元素的元素内容用静态初始化
动态初始化数组,数组元素有默认值:
Int类型为0,浮点类型为0.0,字符类型为’\u0000’,布尔类型为false
引用类型为null
Java的内存化为5个部分:
1、栈(Stack):存放的都是方法中的局部变量,方法的运行在栈中
2、堆(Heap):凡是new出来的对象
3、方法区(Method Area):存储.class相关信息,包含方法的信息
4、本地方法栈(Native Method Stack):与操作系统相关
5、寄存器(PC Register):与CPU相关
数组越界异常索引有误:java.lang.ArrayIndexOutOfBoundsException
数组空指针异常(数组地址为null):java.lang.NullPointerException
数组的长度:数组名称.length:返回一个int类型的数
=================================================================
老师讲课很认真,有不懂的问题,马上就来给我们解答,比自学速度好太多了。
就业班的日子即将来到,我要好好预习一下功课了。
作者: lylylylyly    时间: 2018-12-17 11:31
你为何如此优秀
作者: wengeral    时间: 2018-12-17 11:39
优秀如你
作者: Bbbblue丶    时间: 2018-12-17 13:44
精辟!汝之秀,吾何时能及。
作者: dapaoyang    时间: 2018-12-17 19:22
秀儿,是你吗?
作者: Byxiaotao    时间: 2018-12-18 18:59
同九年,汝和秀?
作者: 1742809992    时间: 2018-12-19 09:06
拿朕的传国玉玺来 我要给秀儿砸个核桃
作者: Byxiaotao    时间: 2018-12-19 09:59
double click six six six
秀儿,你在哪?
作者: wyzlhc    时间: 2018-12-19 18:24
笔记借我抄抄




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