码迷,mamicode.com
首页 > 移动开发 > 详细

java,android学习《1》概述

时间:2015-06-18 12:52:01      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

如果程序的数据包涵代码和数据两部分:

面向过程编程 就是以代码为主,用代码控制数据,描述解决问题的方法。

面向过程编程 就是以抽象数据为主,所有处理都围绕数据展开,依赖抽象编程

 

编程语言知识点:

1 . 流程控制:使用if...else , while, break,continue 代替 过于强大,结构差,不便阅读的goto.

  for, switch,foreach 则可让代码更简洁,清晰。

2.  函数:随着程序代码变得越来越庞大,把握全局逐渐变得困难起来,同时有可能需要多次用到非常相似的操作,于是诞生了函数 。

  把代码的一部分视作一个有机整体,切分出去并为之命名的程序设计机制(便于理解和可重复使用,早期有子程序的称谓)。栈。

3. 错误处理

  •  用返回值及引用参数传达出错信息。 C,GO采用这一模式
  •  可追加错误类型和可主动触发错误的异常处理机制。
    • C++ ,JAVA,C# 使用throw , try ... catch
    • JAVA,C# 中 可以使用try ... catch ... finally。使用finally,出口只有一个,实现成对操作的无遗漏执行。
    • JAVA 采用检查型异常,要明确声明可能跑出的异常,因为"The Trouble with Checked Exceptions",所以C#未引人。
    • swift此前采用c的模式,2015开发者大会上提到将引入异常处理机制。

4. 命名和作用域(动态作用域、全局作用域、静态作用域),命名空间。public private protected internal

5. 类型:数据如何读取,需要依赖人们为数据附加的类型信息。

  • CPU对操作数的存放方式:Little_endian(从低字节到高字节)和Big_endian(从高字节到低字节)。
  •  以2进制表示10进制,约3.32(log10 / log2)个bit位表示一位。
    • 整形:最高位为符号位。负数采用补码的方式,从而将减法转变为加法。(补码:除符号位外 按位取反 再 加 1  )
    • 浮点

       以32位为例:

        最高位为符号位,

        之后8位是表示位数的指数部分(0~255,减去127,得到-127~128,-127表下溢出:0,128表上溢出:无穷小或无穷大,剩下的为位数)

        剩下23位为尾数部分,表示小数点以下的部分(通过移动小数点使整数部分变成1后的小数部分)。

 

        如: 1.75  二进制:1.11 ,无需移位,  符号位:0,指数部分 0111,1111(127),尾数部分:110,0000,0000,0000,0000(0.5 + 0.25)

              3.875 二进制:1.1111 * 2,   符号位:0,指数部分 1000,0000(128右移一位),尾数部分:111,1000,0000,0000,0000

           范围 :-126 / 3.32 ~ 127 / 3.32 约-38~38

               精确度:23/ 3.32 ,6~7位有效数字

        64位则符号位为11位

               范围 :-1022 / 3.32 ~ 1023 / 3.32 约-308~308

               精确度:52/ 3.32 ,15~16位有效数字

  

   自定义类型:结构,联合,枚举,类。使用基本数据类型通过组合定义新的类型。

  访问控制:功能上实现封装,代码上解耦

   抽象类、接口

   泛型、模版

   动态类型

6. 容器(数据结构):

7. 对象与类

  面向对象编程里的 对象是现实世界的模型。归纳并建立模型的方式多种多样,语言不同,选择也不同,类是最方便的,却不是必须的。

   JS中通过将函数和变量放入散列,以实现将相关联的函数、变量集中到一起的功能。

       函数式语言里,则会采用闭包的形式。

   perl 使用包的形式

8.继承

   采用封装来建立抽象数据模型,但仅仅只有封装还不够,事物之间是普遍联系的,还需要继承和多态来描述他们之间的关系

 继承需要谨慎使用,否则代码可读性降低,而且扩展困难。遵守 里氏替换原则

  C++为多重继承,多重继承使用方便,但会产生冲突,JAVA的解决办法就是只容许单继承,用接口实现多重继承的功能。同时单继承便于统一管理内存。

9. 抽象类,接口  

  抽象类可以有一个抽象方法

  而接口则所有方法都是抽象方法

----------------

 

程序语言是为了寻求便捷而诞生的,正是因为对便捷的不同需求。 才促成了各种程序语言的发明。

 语言设计的取舍:

易用性与功能,安全性与效率,稳定性与可扩展性。

 

C:结构化编程 + 高效 + 功能强大 + 易于学习

诞生于1972年

the c programming language 1978由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言

1989.12  第一个完整的C语言标准,简称“C89”,不过人们也习惯称其为“ANSI C”。

最新标准在2011年12月8日发布,称为ISO/IEC9899: 2011,简称为“C11”。

 

 C++, 1979年发明,最初称“带类的C”,1983年正式更名为C++

重视代码执行效率,语言规范相应的非常复杂。

 

JAVA 1991年构想,92年初步实现,95年公开发布。

目标是实现体系结构中立,而万维网的发展成就了JAVA,因为万维网需要可移植程序。JAVA对网络编程的意义就如同C对系统编程的意义一样:都是改变世界的革命性力量。

 技术分享

 

技术分享

 

技术分享

 

技术分享

 

java,android学习《1》概述

标签:

原文地址:http://www.cnblogs.com/wj033/p/4585212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!