【J2SE视频总结】——初识Java

前言

       还没有学习Java之前,总觉得Java是一门很高深的语言,感觉它就是计算机语言中级别最高的语言。还好米老师对我们说,只要你们学好了VB,想要学好什么C语言、Java就不在话下。因为VB是门面向过程的语言,其它语言都是从它这个过程中发展而来的,而且计算机可不是凭空诞生的,而是经过人类社会不断发展而来的,它里面的规则在我们的生活中历史中都是有理可循的,所以,对于Java,我们要用旧知识并联系生活,然后消灭它!


知识回顾


       看了那么久的视频,虽然知识是新的,但是无处不见就知识啊,虽说VB是面向过程,Java面向对象,但是VB里的知识在J2se视频里也是屡见不鲜。从基础语法到数据类型,都有很多相类似的东西。先来张图,概述Java。
              
                                                                           





是什么?


          Java是一种面向对象的语言,是一种与平台无关的语言,提供程序运行的解释环境。它吸收了C/C++语言的特点,并且去掉了影响程序健壮性的部分(如:指针、内存的申请与释放等),所以java是一种健壮的语言。一句话说明了Java是什么,还指出了Java的特性,面向对象,与平台无关,具有健壮性。


           Java程序运行机制中有两种核心机制:

                 1java虚拟机(Java Virtual Machine

               Java虚拟机可以理解成一个以字节码为机器指令的CPU;对于不同的运行平台,有不同的虚拟机;Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,随处运行”。


                 2、垃圾收集机制(Garbage collection

              不再使用的内存空间应回收,即垃圾收集。在C/C++等语言中,有程序员负责回收无用内存。Java语言消除了程序员回收无用内存空间的责任;它提供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲是,检查并释放那些可被释放的存储器空间。垃圾收集在Java程序运行过程中自动进行,程序员无法精确控制和干预。



对象


          对象是Java程序的核心,在Java程序中“完事万物皆对象”。对象可以看成是静态属性(成员变量或属性)和动态属性(方法或函数)的封装图。类是用来创建同意类型的对象的“模板”,在一个类中定义了给类对象所应具有的成员变量以及方法,J2SDK提供了很多类提供编程人员使用,编程人员也可定义自己的类。

           为什么编程语言会从过程变成对象呢?事物的发展总是在不断进步得,面向对象肯定优于面向过程,不然也不会那么受人推崇。面向对象的编程,可以是一组对象互相配合通过沟通完成特定功能,对象都有对外服务的接口(通过继承可以复用);对象隐藏内部服务的实现(通过聚合可以复用);面向对象更加容易使我们达到Reusable、Extensibility、维护和替换更加方便……

基础对象

              Java中的对象我根据自己现有的理解分为两种,一种是基础对象,另一种是数据类型。基础对象有标识符、关键字、常量、变量、容器、GUI编程(画图)

               1、标识符:Java对各种变量、方法和类等要素命名时使用的字符序列称为标识符。也就是凡是自己可以起名字的地方都叫标识符,都遵守标识符的规则。
 
               2、关键字:Java中一些赋以特定的含义,用做专门用途的字符串称为关键字。Java中的关键字都是小写英文。

                   

            3、常量:Java的常量值用字符串表示,区分为不同的数据类型。和其他语言一样,有着整型常量,逻辑常量等。要注意的是,Java要区分字符常量和字符串常量,“常量这个名词”还会用在另外其它语境中表示值不可变的变量。

           4、变量:Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域。Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,声明格式为:type varName[=value][{,varName[=value]}]
 
           5、容器:容器是一个Java 所编写的程序,原先必须自行编写程序以管理对象关系,现在容器都会自动帮您做好。对于容器的概念,视频没有详细的介绍,但是根据里面的例子,我觉得容器就是一个用代码编写出一个窗体,然后继续用代码往里面编写控件的东西。

           6、GUI编程:GUI编程其实就是画图,一样的是编写一个容器,在里面绘制自己想要的图形。

 数据类型


       数据类型分为基本数据类型和引用数据类型,Java中定义了4类8种数据类型。


基本数据类型

             1、逻辑型Boolean:逻辑性适于逻辑运算,一般用于程序流程控制,和其他语言一样,它只允许取值truefalse,不可以0或非0的整数替代truefalse,这点和C语言不同。


             2、字符型char:char型数据用来表示通常意义上“字符”,字符常量为用单引号括起来的单个字符,例如:

chareChar='a';

 

              Java字符采用Unicode编码,每个字符占两个字节,因而可用十六进制编码形式表示,例如

Charc1='\u0061';


              Java还允许使用转义字符'\'来见期后的字符转变为其它的含义,例如

Char c2='\n';//'\n'代表换行符


             3、数值型分为整数型和浮点类型

        
                   整型:

            


            浮点型:

           



引用类型

            1、类:主要由成员变量和方法组成。类是静态的概念,属于代码区。而对象是从类中new出来的,这个方法也就是构造函数,类的每个成员变量在不同的对象中都不同的值(除了静态变量),而方法只有一份,执行的时候才占用内存。类可以通过方法的重载进行方法的调用,方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法,调用时,会根据不同的参数表选择对应的方法。类的继承,必须要有父类,并且首先调用父类方法。多态中所具备中的条件要有继承,父类引用指向子类。抽象用abstract关键字修饰,含有抽象方法的类必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写。而且抽象类不能被实例化,抽象方法只需声明,而不需实现。

            2、接口:接口是抽象方法和常量值得定义的集合,多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口,也就是可以多重实现,它继承关系类似,接口与实现类之间存在多态性。接口可以继承其它的接口,并添加新的属性和抽象方法。java只支持单继承,而接口可以解决这个问题。

            3、数组:数组可以看成是多个相同类型数据组合,对这些数据的统一管理。数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。数组中元素可以是任何数据类型,包括基本类型和引用类型。


运行

     
被编写出来的程序肯定是要经过运行调试的,Java也不例外,所以在这里我把它拿出来作为Java的一部分。

异常处理

  
       程序是调试出来的,所以出现异常处理是再正常不过的。Java用try试图捕获异常,并根据需要选择用5个关键字 :try /catch/finally/throws/throw对异常进行处理 。Java的异常处理原则是先逮小的,再逮大的。抛出的异常必须合适,大了或小了都不行。

          Java中有三种异常的分类:

                  1、Error:称为错误,由Java虚拟机生成并抛出,包括动态链接失败、虚拟机错误等,程序对其不做处理。

                  2、Exception:所以异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显式的声明或捕获。

                 3、Runtime Exception:一类特殊的异常,如被0除、数组下标超范围等,其产生比较繁琐,处理麻烦,如果显式的声明或捕获将会对程序可读性和运行效率影响很大,因此由系统自动检测并将它们交给缺省的异常处理程序(用户不必对其处理)。

I/O(流)


       在Java程序中,对于数据的输入、输出操作以“流”(stream)方式进行,J2SDK提供了各种各样的“流”类,用以获取不同种类的数据;程序总通过标注方法输入或输出数据。java.io包中定义了多个流类型(类或抽象类)来实现输入/输出,可以从不同的角度对其进行分类:

             1、按数据流的方向不同可以分为输入流和输出流;

             2、按处理数据单位不同可以分为字节流和字符流;

              3、按照功能不同可以分为字节流和处理流。

线程

      线程是程序内部的顺序控制流,所以我认为它是属于程序内部的流,在程序中进行输入/输出。前面我也对线程进行总结,在这就不重复了。如要了解,请看《【Java基础】——线程》


网络编程


       网络编程用一句很通俗的话说就是一堆计算机连接在一起,机器通过网线链接在一起,这样我们可以进行数据的传输,如我们日常的:查资料、写博客、聊QQ、发邮件等。所以在这里,我把它理解为程序对外的流,因为它也涉及到数据的传输,而且是利用网络,将数据发送到不同的电脑客户端上。

在网络编程中充分实现Java跨平台的功能,因为它有分层的思想,通过分层,可以清楚的知道每一层的职责,如给定一个接口,只要告诉它你需要的是什么,它就能给你完成什么,至于它怎么完成,这些你都不用知道,这也算是面向对象的一个体现。


总结


         J2SE视频算是看完了,里面的代码算是都能理解,但是要要求自己不看代码,自己去实现一个小程序,还是很困难的。这还是得到下面的学习中历练才能掌握好的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值