A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chenhongnian 初级黑马   /  2018-3-25 00:34  /  883 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Day 1
1.        JDK、JRE、JVM的区别和联系:
JDK(Java Development Kit):包含一些开发工具,也包含JRE
JRE(Java Runtime Enviroment ):含有核心类库和JVM
JVM(Java Virtual Machine):Java程序必须要有JVM才能运行
2. 计算机中的存储:
最小的信息单元:bit
最小的存储单元:byte,1B = 8 bits
3. 数据类型分类:
A.基本数据类型(四类八种)
整数型:byte,short,int,long
浮点型:float,double
字符型:char
布尔型:boolean 大小未定义,可以说是一个byte,也可以说是一个位
注意:
1.数据大小:byte < short < int < long < float < double
2.整数默认是int型,浮点数默认是double类型
3.定义float类型变量,变量值后要加f或F;
定义long类型变量,变量值后要l或L
B.引用数据类型(类:String,接口,数组)
4. 类型转换:
A.隐式转换:从小自动就能提升为大的类型
byte -- short,char -- int -- long -- float -- double
B.强制转换:
(目标类型)(被转换的数据);
建议:数据做运算,结果应该是什么类型,就用什么类型接收,不要随意转换类型,否则会损失精度

Day2
运算符分类:
1..算术运算符:
+,-,*,/,%,++,--
注意:
/ 整数相除得整数,要想得到小数,必须有小数参与计算
字符参与加法运算,其实是拿字符在计算机中存储的数据值来参与运算的
‘A’65,‘a’97,‘0’48
字符串参与加法运算,不是加法运算,而是字符串的拼接
++、--单独使用时,位置不同,结果不变;参与其他操作的时候,++在后面先拿变量做操作,然后变量再++,++再前面变量先++再拿变量做操作
2.赋值运算符:
A.基本的赋值运算符:=
B.扩展的赋值运算符:+=,-=,*=,/=,…
注意:扩展的赋值运算符,隐含了强制类型转换;
3.关系运算符:
==,!=,>,>=,<,<=
结果为boolean类型,只有true和false两种情况
4.逻辑运算符:
&:两者均为true则true,有false则false
|:两者均为false则false,有true则true
^:相同结果为false,不同结果为true
!:true则false,false则true
&&:作用与&相同,但&&在第一个语句为false时不再执行后续语句,节省内存
||:作用与|相同,但||在第一个语句为true时不再执行后续语句,节省内存
5.三元运算符:
关系表达式?表达式1:表达式2
执行过程:
A:计算关系表达式的值,true或false
B:如果是true,执行表达式1;如果是false,执行表达式2

Day3
流程控制语句分类:
1.顺序结构
最基本的流程控制,没有特定的语法结构,按顺序从上往下依次执行
2.选择结构(分支结构)
有特定的语法格式,必须按照它的基本格式进行编写代码
(1)if选择结构
        (2)switch选择结构
3.循环结构
(1)for循环
(2)while循环
(3)do…while循环
A.三种循环异同
(1)do…while循环至少执行一次循环
(2)for和while循环必须判断条件成立才可以执行循环体
(3)for循环结束后,初始化的变量就不能被使用了,而while循环结束后,初始化变量还可以继续使用。
B.注意:
推荐使用循环的顺序:for > while > do…while
(4)死循环
4.break和continue:
break: 强制中断循环,不能用在非循环体外
continue: 结束本次循环,继续下一次循环,不能用在非循环体外

Day4
1.        数组
(1)定义格式:
A.数据类型[] 数组名;(推荐使用)
B.数据类型 数组名[];
(2)初始化的两种方式:
A.动态初始化:只给出长度,由系统给出初始化值
数据类型[] 数组名 = new 数据类型[数组长度];
B.静态初始化:给出初始化值,由系统决定长度
数据类型[] 数组名  = {元素1,元素2,元素3,…};
(3)常见问题:
A. ArrayIndexOutOfBoundsException:数组索引越界异常
产生原因:访问了不存在的索引
B. NullPointerException:空指针异常
产生原因:数组已经不再指向堆内存的数据了,你还使用数组访问堆内数据
2.        Java中的内存分配:
A.        栈(存储局部变量)
存储的是定义在方法中的局部变量,使用完毕后立即回收
B.        堆(存储new出来的东西)
a.        每一个对象都有地址值
b.        每一个对象的数据都有默认值(整型默认值0,浮点型默认值0.0,字符型'\u0000'(空字符),布尔型false,引用类型null)
c.        使用完毕后,会在垃圾回收器空闲的时候被回收
C.        方法区
D.        本地方法区(和系统相关)
E.        寄存器(给CPU使用)

Day5
1.        方法:
(1)两个明确:
A.返回值类型:明确功能结果的数据类型
注:void是有return的,只不过一般是默认返回null的,不用专门写出来
B.参数列表:明确有几个参数,以及参数的数据类型
(2)方法的调用:(有明确返回值的方法调用)
A.单独调用:没有意义
B.输出调用:有意义,但不能拿结果进行进一步的操作
C.赋值调用:推荐方式,可以对调用者(调用变量)进行进一步操作
(3)数据比较大小
A.字符型、整形、浮点型数据中,不同类型数据可以进行比为类型较大的数据类型其中比int小的类型,返回值必须加强制转换类型
B.布尔类型不能参与比较大小
2.        方法重载:在同一个类中,出现方法名相同的情况。
(1)方法重载的特点:
方法名相同,参数列表不同,与返回值无关
(2)参数列表不同:
参数的个数不同
参数的类型不同


Day6
Debug调试:
(1)断点调试的作用:
A.查看程序的执行流程
B.调试程序

Day7
1.成员变量和局部变量的区别:
(1)在类中的位置不同
A.成员变量:类中,方法外
B.局部变量:方法中或方法声明上(形式参数)
(2)在内存中的位置不同:
A.成员变量:堆内存
B.局部变量:栈内存
(3)生命周期不同:
A.成员变量:随着对象的创建而存在,随着对象的消失而消失
B.局部变量:随着方法的调用而存在,随着方法的调用完毕而消失
(4)初始化不同:
A.成员变量:有默认值
B.局部变量:没有默认值,必须先定义,赋值,最后使用

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马