---恢复内容开始---

菜鸟快速自学java00之变量类型    

一、诉苦

  自己成为了Java中的一只菜鸟,而且已经菜了好多天了,我为什么会这么菜?归根结底,还是觉得自己在累计知识的同时,没有做好笔记,导致学到后面时,前面的基础知识仿佛又忘记了,接着又拿起书从头看,进入这个forever loop(死循环),始终找不到一个合适的条件break,有好多次都想return算逑了,不过在前不久一次偶然的尝试下,我觉得自己也许可以做得更好!

  当然,读者可能好奇,那次尝试是什么?这里先买个关子,不讲,因为我还没有看它完全见效,终究它只是我的一次尝试。最后,再说明一下,我的写作风格,概括一下,那就是“接地气”;我的写作内容都是偏实际应用型的,也就是可以直接上手的,没有多少理论层面上的深度,仅适合菜鸟初学者,主要是适合我自己啦。大神大牛大佬,请远离我,可能会拉低你的档(dang :四声,重音)次。

  废话就这么多,进入主题:虚拟了两个人物,一个是CC(computuer teacher),一个是GG(good student)。

二、变量和面向对象三大特点简介

    叮铃铃,上课了.......

  GG来到教室,睡眼朦胧,打着哈欠,挠着屁股.......

  CC老师来到教室,拿着戒尺,穿着正装,漂亮惨了.......

  CC:同学你好,这辈子我就是你们的Java老师。

       GG:一辈子.........

  CC:哈哈,没错,就是一辈子,因为老师也还不精通,我们一起学习吧。

  GG:要得嘛。(太不靠谱了,要不要转学.......)

  CC:第一节课我们来讲一下Java中的变量。

  GG:老师,是不是讲得太快了?我预习了,听说开发之前还得安装JDK什么的啊...(话还没落地)

  CC:给老子闭嘴。我讲课,从来都只讲接地气的东西,环境安装自己百度去......

  GG:好,您继续,惹不起,惹不起.......(通过百度一会儿就装好了JDK和Eclipse)

  CC:Java中的变量类型,总体来讲分为:

    ①、值类型  ②、引用类型

    那么什么是值类型?

    就是说基本的数据类型,例如:整数类型(byte short int long),从左到右数值范围越来越大,特别注意,在表达long类型时,必须在数字后面添加上L(或小写l,一般用大写且不能省略),123L,通常来讲没有特殊要求 一般使用int比较多;浮点类型(float,double),如12.3f(F/f不能省略),123.4D(D/d可以省略);

布尔bool类型只有两个值,true和false,它往往是逻辑运算的结果,后面马上会详细讲解;char字符类型,如 :char ch = 'p';用单引号扩起哟。上面讲的用得很多,如果还有肯定用的少,导致CC老师没记住。

              那么什么是引用类型?

    引用应该和面向对象语言的概念有关系,具体点是和计算机的内存存储有关系,当然,一句话说得不准确,因为那本来就是很复杂的技术,老师暂时不讲,因为老师毕竟就只剩你这么一个学生了。我们首先得保证会用,尽量深入一点。Class这个关键字认识吗?

  GG:老师,你写错了。Java中的class是这样写的。

  CC:你是不是要装怪?难道不是和老师写的一样吗?

  GG:老师,Java中是严格区分大小写的,所以我们写的不一样,您在仔细瞧瞧......

  CC:嗯,不错不错,老师故意的啦,就是看你预习没(哈哈,真尴尬!)。

  GG:(撅起小嘴,略略略......).......

  CC:咱们继续讲class,这是面向对象编程引入的一个基本概念,老师简单讲讲。class----->就是类。比如说:人类,狗类,花类,鸟类........什么的。你看吧,你是你爸爸生的吧,你爸爸是你爷爷生的吧,这意味着什么?

  GG:你才是你爸爸生的,我是麻麻生的。(一脸懵逼加不屑)

  CC:老师想表达的是面向对象的三大特点之一:继承。你看你和你爸爸某些地方一样,那就是你(子类)继承自爸爸(父类)的,但是有很多地方又不一样。

  CC:你再看看你是由头、脸、屁股、脚等等构成的一个整体,这也是面向对象的三大特点之一:封装。(类是由方法、属性、字段封装成一个整体)

  GG:(竖起大拇指)老师牛皮......脸过了就是屁股了.....不过我懂了封装的概念。

  CC:老师为了节约时间,因为你是男生,脸到屁股之间没有什么值得描述的啊,所以没讲。

  GG:我有肚脐眼儿啊,老师........

  CC:不准取悦老师,这样老师笑起来会露牙齿的,那就不美了。三大特点还差最难的一个概念:多态。那多态是什么?比如说你去打球,可能是打乒乓球,还有可能打篮球等等(实际上是方法的多态,重载就是具体体现),当然多态远远不止这些。

     老师在这里顺便讲一讲重载的概念。所谓重载就是指方法名(函数名)一样,但是参数个数、类型、排列顺序不完全一样,比如说:

    void PlayBoll(Basketball i){ System.out.print("打篮球!");}//只是演示概念

    int PlayBoll( ){System.out.print("打乒乓!");return 1; }

     看见了吗?值得注意的是,它们的返回值可以不一样。顺便记一个公式:函数名+参数列表=方法签名。因为《thinking in Java》中提到过好多次方法签名。你说说看,面向对象三大特征是什么?

  GG:封装、继承、多态。我个人集它们三于一身。

  CC:引用类型,说白了就是人类,狗类,字符串类(String),数组(Array),字符串缓冲区(StringBuffer),尤其带括号的三个类相当重要,全部得吃透,尤其是他们的静态方法,下节课CC老师将详细剖析。

三、自动装箱与自动拆箱  

  CC:这个概念得知道,很简单。老师刚才在上面不是讲了,有两大类型吗(基本数据类型和引用类型),由于在面向对象编程中,主要操作引用类型,因此,基本数据类型用起来颇有不便,所以就引入了包装类的概念,包装类可以将基本类型变成引用类型。

  注:图片来源于网络。

 

    装箱:就是装到箱子里面去的意思,就是把基本的类型装到包装类里面去。

    拆箱:装箱的逆过程。

    举例子:

    int a = 10;

    Integer b = a;//你看把基本对象a的值给了对象引用b。这就是装箱过程。

            int c = b;//拆箱过程

四、编程规范与风格 

  CC:Java中约定(但不是要求):类名与方法名-->各单词首字母均大写Person。常量名-->MY_WIFE全大写,单词间下划线隔开。变量名第一个单词首字母小写,其余单词首字母均大写beatComputerBoy。

 

叮铃铃.........

下课了........

 

  

      

 

            

 

 

 

  

---恢复内容结束---

posted on 2018-01-22 16:29  源粥律  阅读(768)  评论(0编辑  收藏  举报