黑马程序员技术交流社区

标题: java基础_基础知识总结[复习] [打印本页]

作者: 景彬    时间: 2015-5-24 17:13
标题: java基础_基础知识总结[复习]
本帖最后由 景彬 于 2015-5-24 17:13 编辑

01.标识符:
02.数据类型(掌握):
03.类型转换:
04.for循环:
05.什么是函数:
06.函数的重:
07.内存结构剖析:

Java基础重点知识
01.标识符:
定义:在Java中,对类,变量,方法等取得名称称为标识符.
1.规范:
        (1)组成:由大小写字母(a-z,A-Z),数字(0-9),字符(下划线"_"和美元 "$")组成.
        (2)数字不能开头,如:1Demo //不合法,数字可以出现在第二个字符,不 第一个出现.
        (3)不能使用关键字
        注意:要求:1.见名知意. 如showName,DemoHelloWorld
2.驼峰规则:
        类名,接口名:如果只有一个单词,那么首字母大写,其他字母小写.     如:class Hello{}
                多个单词的话,所有单词的首字母大写,其他字母小写.        如DemoDemo
        变量名(及方法名):一个单词都小写;多个单词,第一个单词首字母小写,   而后的单词首字母均大写.
        包名:所有的字母都小写,一般采用倒挂的域名                                
常量名:所有字母均大写,多个单词用_连接.        如:XXX_YYY_ZZZ,SEX_MALE

02.数据类型(掌握):
        定义:在内存中有大小不同的空间,可以用不同的数据类型来表达.
   基本数据类型:
                A:整数:
                        1.byte        1字节(8位)  范围:-128~127
                        2.short     2字节(16位)                 范围:-2(15)~2(15)-1
                        3.char(字符类型)   2字节(16位)                 范围:0-65535    表示单个字符,用两个单引号括起来,内容不能空
                        4.int      默认整数类型:4字节(32位)          范围:-2^31~2^31-1
                        5.long     8字节(64位)                      范围:-2^63~2^63-1
                B:浮点数:   (浮点数的范围要大于long)浮点数的存储规则(IEEE754)        与整数不同,所以4个字节float能保存的数大于8个字节的long
                        1.float    4字节(32位)
                        2.double   8字节(64位)
                C:布尔值     只有两个值:true和false;
注意:
1.整形常量默认是int,浮点常量默认是double
2.在把较小的整数常量(在byte,short的范围内)赋给int时,如果这个 在byte或short的范围内,那么系统会把这个值当byte或short处理.
3.默认浮点是double,想让系统按float处理,要加后缀f或F
                        如:   float  f = 3.14F;//正确  
                               float  f = 3.14; //报错,3.14默认是double
4.整形常量默认是int,就算这个值超过了int的范围.系统也不会自动把它当long处理,如果想让系统将整形常量当long处理.需要加后缀L或l,推荐L(小写l与数字1和i容易混淆)
                        举例:
                                 long lg = 9999999999L;
           _分隔符:
                        int i = 12_345_6;   //正确,注意,Jdk7以后才支持
                        int i1 = _123456; //报错,_不能放开头
                        int i2 = 123456_; //报错,_不能放在末尾
     引用类型:class,interface,数组 int[]

03.类型转换:
        自动转换:也叫放大转换;不会损失精度,系统自动完成;
                自动转换的条件:
                        1.类型兼容 2.小变大.
                例如:double d = 30;
        强制转换:
                强制转换的格式:
                        (转换后的类型)变量或常量 ; 如 int i = 30; byte b = (byte)i;
            如果确认值可以保存下,才使用强制转换.
                如果转换后的类型不能全部保存这个数据,最好不要使用强制转换,如果一定要用,会有精度损失或出现不可预料的值.
算术表达式类型的自动提升:
             表达式:变量和常量以及算术运算符组成的式子.
注意:
                1.byte,short,char之间不会转换,系统会自动把他们转换成int.再参        与运算
                2.表达式的类型会自动提升为表达式中最高等级操作数的类型.
        数据类型从小到大依次顺序是:
                 byte--->short,char----->int------>long----->float----->double  
//如果double不够,用BigDecimal类

04.for循环:
格式:
for(初始化表达式;循环条件表达式;循环后的操作表达式(改变循环变量的值)){
                        执行语句;(循环体)
            }
注:
         a,for里面的每个表达式运行的顺序,初始化表达式只执行一次,判断循环条件,为真就执行循环体,然后再执行循环后的操作表达式,接着继续判断循环条件,重复找个过程,直到条件不满足为止。
         b,while与for可以互换,区别在于for为了循环而定义的变量在for循环结束就是在内存中释放。而while循环使用的变量在循环结束后还可以继续使用。
         c,最简单无限循环格式:while(true) , for(;;),无限循环存在的原因是并不知道循环多少次,而是根据某些条件,来控制循环。

05.什么是函数?
函数就是定义在类中的具有特定功能的一段独立小程序。也称为方法。
函数的格式:
修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...){
                        执行语句;
                        return 返回值;
        }
        返回值类型:函数运行后的结果的数据类型。
        参数类型:是形式参数的数据类型。
        形式参数:是一个变量,用于存储调用函数时传递给函数的实际参数。
        实际参数:传递给形式参数的具体数值。
        return:用于结束函数。   返回值:该函数运算后的结果,该结果会返回给调用者。
注意:
函数中只能调用函数,不可以在函数内部定义函数。
输出语句只能对有返回值类型的函数调用后打印,不能对没有返回值类型的函数(void)进行打印。
两个明确:
明确要定义的功能最后的结果是什么?明确返回值类型。
明确在定义该功能的过程中,是否需要未知内容参与运算,明确参数列表

06.函数的重载(overload):
重载的概念:
在同一个类中,允许存在一个以上的同名函数,只要它们的参数个数或者参数类型不同即可。
重载的特点:
与返回值类型无关,只看参数列表。参数个数和参数类型,参数的顺序
重载的好处:
方便于阅读,优化了程序设计。

07.内存结构剖析:
栈内存:
         用于存储局部变量,当数据使用完,所占空间会自动释放。
堆内存:
         数组和对象,通过new建立的实例都存放在堆内存中。
         每一个实体都有内存地址值
         实体中的变量都有默认初始化值
         实体不在被使用,会在不确定的时间内被垃圾回收器回收
方法区:
本地方法栈,pc寄存器(程序计数器)
------------------------------以上只是楼主认为的重点知识,后续还有其它。如有不足还请补充。


作者: 景彬    时间: 2015-5-24 18:18
好吧,又要沉了
作者: 时光匆匆    时间: 2015-5-24 19:45
写的不错,  还有一些循环语句把   
作者: 景彬    时间: 2015-5-24 20:18
时光匆匆 发表于 2015-5-24 19:45
写的不错,  还有一些循环语句把

恩,循环语句因为基本都会,所有没写:)
作者: l598790586    时间: 2015-5-24 20:29
写总结,值得学习
作者: 守株人    时间: 2015-5-24 20:42
总结得很好,顶个贴
作者: MTT    时间: 2015-5-24 20:46
谢谢分享。
作者: 张清华    时间: 2015-5-24 21:12
谢谢分享
作者: 精灵来了    时间: 2015-5-24 23:27
不错,值得鼓励
作者: yihuihua    时间: 2015-5-24 23:37
感谢分享
作者: 人在旅途~东营    时间: 2015-5-25 00:22
总结到位,有几个细节可以继续细化和延伸。感谢楼主分享
作者: 黯然残影    时间: 2015-5-25 01:20
总结的不错,学习一下
作者: 石头888    时间: 2015-5-25 10:49
学习学习!
作者: 景彬    时间: 2015-5-25 22:17
l598790586 发表于 2015-5-24 20:29
写总结,值得学习

:loveliness:
作者: 笑爷    时间: 2015-5-25 22:19
总结的不错
作者: 追忆似水年华    时间: 2015-5-25 22:54
看了,不错。

作者: 景彬    时间: 2015-5-25 23:01
追忆似水年华 发表于 2015-5-25 22:54
看了,不错。

哈哈,共勉
作者: 景彬    时间: 2015-5-25 23:02
笑爷 发表于 2015-5-25 22:19
总结的不错

谢谢,一起学习
作者: 景彬    时间: 2015-5-25 23:03
黯然残影 发表于 2015-5-25 01:20
总结的不错,学习一下

一起 努力!
作者: 景彬    时间: 2015-5-25 23:05
人在旅途~东营 发表于 2015-5-25 00:22
总结到位,有几个细节可以继续细化和延伸。感谢楼主分享

恩,有些还比较浅,会多多查落补缺:lol
作者: 哈哈哈哈    时间: 2015-5-26 22:45
写得不错啊,我自己javase基础的书都看了两遍,还是记不住
作者: 景彬    时间: 2015-5-26 23:02
哈哈哈哈 发表于 2015-5-26 22:45
写得不错啊,我自己javase基础的书都看了两遍,还是记不住

恩 这要多练啊 ,还要做习题,不然记住有点难哦




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