Java语言入门

作者: CCCA | 来源:发表于2016-04-04 16:17 被阅读65次

    Java的发展史

    java是sun公司在1995年推出的一种面向对象的编程语言,特别适用于Internet应用程序的开发。

    java语言的特点

    简单,面向对象,分布式,解释,健壮,安全,结构中立,可移植,高性能,多线程,多态

    简单

    风格类似于C++,但是摒弃了容易出错的指针和内存管理,提供了丰富的类库

    面向对象

    面向对象是java的重要特性,不同于C语言的面向过程。

    分布式

    java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此java可以通过URL打开并访问网络上的对象,访问方式跟访问本地文件系统一样,为分布环境尤其是internet提供动态内容很复杂,但是java使我们跟容易实现。

    健壮

    java致力于检查程序在编译和运行时的错误。类型检查帮助检查在开发早就发现的错误。java自己操纵内存减少内存出错的可能性,制动检测数组越界的错误,这些功能缩短了开发时间。
    java提供的检测功能:Null指针检测,数组越界,异常出口,字节代码校验

    结构中立

    为了使用java语言作为网络的一个整体,java将他的程序编译为结构中立文件格式。只要有java运行系统的机器都能执行,运行调试

    安全

    java的安全性从两个方面得到保证,在java中像指针和释放内存等C++的功能被摒弃,避免非法内存操作,另一方面,当java用来创建浏览器内容时,语言功能能和一些浏览器本身提供的功能结合起来。
    java语言在机器上执行前,会经过很多次的测试:经过代码校验,检查代码段的格式,检测指针操作,对象操作是否合法以及试图改变一个对象的类型等测试过程。
    1.Byte-code校验
    如果byte-code通过代码校验,没有返回错误,我们可以知道:

    • 代码没有堆栈上溢出和下溢出
    • 所有操作的代码参数类型都是正确的
    • 没有发生非法数据转换,如将整数型转换成指针
    • 访问对象操作是合法的
      2.类装载
      Class Loader 通过将本机类与网络资源类的名称分开,来保持安全性。因为调入类时总要经过检查,这样避免了特洛伊木马现象出现。
      从网络上下载的类被调进一个和源相关的私有的名字域。当有一个私有类访问另一个类时,build-in(本机类)首先被检查,然后检查相关类。这样避免了破坏本机类的情况出现。

    可移植

    同体系结构无关的特性使得java应用程序可以在配置java解释器和运行环境的任何计算机系统运行,这成就了java应用软件便于移植的良好基础。
    但是这样还不够,如果基础数据类型设计依赖与实现,将会给程序的移植带来很大的不便,因此java通过定义独立于平台的基本数据类型以及其运算,java数据得以在任何硬件平台上保存一致。

    解释

    java解释器(运行系统)能够直接运行目标代码的指令。链接程序比编辑程序需要的资源少,所以程序员可以花更多的时间在创建源程序上。

    高性能

    如果解释器速度不慢,java可以在运行时直接将目标代码翻译成机器指令。Sun系统用直接解释器一秒钟可调用300000个过程。

    多线程

    Java提供的多线程功能使得在一个程序中能够多个小任务。多线程带来的更大的好处是更好的交互性和实时控制性能(ios也是如此)。

    动态

    Java的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类。java从如下几个方面来实现。java编译器不是将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下传给解释器,再有解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。这样,一个在存储器生成的对象不再编译过程中决定,而是延迟到运行时用解释器确定,因此对类中的便利和方法进行更新不会影响现存代码。解释执行字节码是,这种符号信息的查找和转换过程仅在一个新的名字出现才运行一次,随后代码便可全速执行。
    在运行是确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃。
    Java还简化了好用一个升级的或全新的协议方法。如果你的系统运行Java程序时遇到了不知怎么处理的程序,Java能自动下载你所需要的功能程序。


    Java程序设计基础

    程序结构

    Java语言的源程序代码由一个或者多个编译单元(compilationunit)组成,每一个编译单位只能包含下列内容(空格和注释除外):
    * 一个程序包语句(package statement)
    * 入口语句(import statement)
    * 类的声明(class declarations)
    * 界面声明(interface declarations)
    每个Java的编译单元可包含多个类或者界面,但是每一个编译单元最多只能有一个类或者界面是公共的。

    组成Java语言的元素

    Java语言主要由五种元素组成:标识符、关键字、直接量、运算符和分隔符。

    标识符

      标识符:程序中所用的符号名称(类、对象、方法、变量、常量等的名称
      命名规则:以字母、下划线(_)或$符号开头,其后可跟任意数目的字母、数字、下划线和$符号
    

    注意:1.数字不能作标识符的开头
    2.除了下划线与$符号以外,其余的符号不用
    3.不能用关键字作标识符
    4.Java语言区分大小写(大小写敏感)
    Java语言的书写约定:
    类:每个单词的首字母大写;MyClassProgram
    方法、变量:第一个单词的首字母小写;其后单词首字母均大写myMethod()、char_MyClass_Flag
    常量:均以大写字母表示,多个单词用下划线分开IN_CHARACTER、WINDOW_DESTROY

    关键字

       语言本身使用的标识符叫关键字。它具有特定的语法意义
    

    分隔符

       注释://  —单行注释
                /* 一行或多行注释*/
                /**文档注释**/
       空白符:空格、回车、Tab、换行
       普通分隔符:;  语句结束标志  
                          { }复合语句、方法体、类体、数组初始化
                          ,  分隔方法的参数和变量的说明
                          :  说明语句标号
    

    基本数据类型类

    数据类型

    常量,变量和表达式
    基本类型:整型:short、int、long
    浮点型:float、double
    布尔型:boolean(true、false)
    字符型:char
    字节型:byte
    数组 :一维数组(myclass[]),多维数组(my class[][])


    除了基本数据类型外, Java还包含一种引用数据类型(复合数据类型)
    复合数据类型:类(包括数据类型类)
    接口

    Java的数据类型与C的数据类型有所不同:
    ★Java语言中同一种数据类型在任何平台上都占用相同的内存长度
    ★Java语言的每种数据类型都对应着一个缺省数值(任何数据类型的变量的取值总是确定的)

    基本数据类型

          Java语言定义了八种基本数据类型,利用基本数据类型可以构造复杂数据结构满足各种需要。
    

    直接量(常量)

          它是在程序运行中不变的量,其作用是为变量赋值或参与表达式运算
           ◆字符常量:由单引号括起的单个字符 ( ‘A’、’a’等)
           ◆字符串常量:由双引号括起的一串字符(如:“theprogram”等)
           ◆布尔型常量:true与false
           ◆数字常量:常用的阿拉伯数字(如不同进制的整形数、浮点数等)其他:
           ◆转义字符:具有特殊含义不能用一般方式表示的字符
           ◆字符串的连接操作符(+):它可以将两个或更多的字符串常量串联在一起,形成一个更长的字符串
    

    变量

            变量:在程序中,其值可变的量(代表保存数据的内存单元)
            使用变量的原则:先定义,后使用。(使变量与内存建立联系—引用)
           变量的定义(声明):定义变量名,定义变量的数据类型
           1、变量的定义:
            类型  变量名[,变量名] [,变量名]  [,……]
            类型:变量名=变量初值,…… , ……
            举例:
                      charMyCharacter=‘B’;
                      long MyLong=-375;
                      int  m_iCount=65536;
                      double m_dScroe;
            2、变量的使用范围:
              其范围在定义语句所在的大括号内(包括其中嵌套的大括号)
              一般地:类开始时声明的变量是全局变量;在方法和语句块中声明的变量是局部变量
            3、数据类型转换
              类型转换:将等号右边数据类型转换成等号左边的另一种数据类型
                 隐式转换(短数据类型=>长数据类型):
                 ◆赋值时转换:将短数据类型(占用内存较少)转换成长数据类型(占用内存较多)
                  int i=5;   long j=i;
                 ◆计算时转换:当较短的数据类型与较长的数据类型一起运算时,系统会自动地将较短的数据类型转换成较长的数据类型
                  int i=5;   long j=10 ;  k=i+j;
                强制转换(长数据类型=>短数据类新):
                将较长的数据类型转换成较短的数据类型,必须用强制性转换
                格式:(数据类型)变量名或表达式
                byte MyByte=10;      Int MyInteger=-1;
                MyInteger=MyByte;   MyByte=(byte)MyInteger;
                注意:从较长的数据类型转换到较短的数据类型时可能丢失数据            
    

    今天就先到这了!!!

    相关文章

      网友评论

        本文标题:Java语言入门

        本文链接:https://www.haomeiwen.com/subject/tnwulttx.html