Java:简介,关键字,数据类型,String,运算符,流程控制

1,Java基础

1.1,Java特性

封装性:把对象的属性和行为看成一个密不可分的整体,将这两者“封装”在一个不可分割的独立单位(即对象)中。

继承性:在Java程序设计中,已有的类可以是Java开发环境所提供的一批最基本的程序——类库,用户开发的程序类是继承这些已有的类。这样,现在类所描述过的属性及行为,即已定义的变量和方法,在继承产生的类中完全可以使用。根据继承机制,派生类继承超类的所有成员,并相应地增加了自己的一些新的成员。面向对象程序设计中的继承机制大大增加了程序代码的可复用性,提高的软件开发效率,降低了程序产生错误的可能,也为程序的修改扩充提供了便利。

多态性:

  • 方法重载:在一个类中,允许多个方法使用同一个名字,但方法的参数不同,完成的功能也不同。
  • 对象多态:子类对象可以与父类对象相互转换,而且根据其使用的子类的不同,完成的功能也不同。

跨平台:所谓跨平台性,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。实现原理:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。编译和解释

  • JVM是Java虚拟机的缩写,是Java应用程序的运行环境,负责将Java字节码翻译成机器语言并执行。JVM提供了Java程序在各种操作系统上的可移植性。
  • JRE包含了JVM和Java类库,是Java应用程序的运行环境。
  • JDK是Java开发工具包,是开发Java应用程序所需的全部组件的集合,包括JRE、Java编译器(javac)、调试器(jdb)、JavaDoc文档生成器和其他一些工具。

1.2,面向对象和面向过程

面向过程

概念面向过程是一种以过程为中心的编程思想,它是一种基础的顺序的思维方式,面向对象方法的基础实现中也包含面向过程思想。

【特性】模块化、流程化

【优点】性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、Linux/Unix等一般采用面向过程开 发,性能是最重要的因素。

【缺点】没有面向对象易维护、易复用、易扩展。

面向对象

概念面向对象是按人们认识客观世界的 系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。

【特性】抽象、封装、继承、多态

【优点】易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护

【缺点】性能比面向过程低

⾯向对象和⾯向过程的区别:

【面向过程】面向过程性能⽐⾯向对象高。 因为类调⽤时需要实例化,开销比较大,比较消耗资源,所以当性能是最重要的考量因素的时候,比如单片机、嵌⼊式开发、Linux/Unix 等⼀般采用面向过程开发。但是,面向过程没有⾯向对象易维护、易复用、易扩展。

【面向对象】面向对象易维护、易复⽤、易扩展。 因为面向对象有封装、继承、多态性的特性, 所以可以设计出低耦合的系统,使系统更加灵活、更加易于维护。但是,面向对象性能⽐⾯向过程低。面向过程一定比面向对象性能高?面向过程也需要分配内存,计算内存偏移量,Java 性能差的主要原因并不是因为它是面向对象语言,而是 Java 是半编译语言,最终的执⾏代码并不是可以直接被 CPU 执⾏的⼆进制机械码。 而面向过程语言⼤多都是直接编译成机械码在电脑上执⾏,并且其它⼀些⾯向过程的脚本语⾔性能也并不⼀定⽐ Java 好。

案例:五子棋,面向过程的设计思路就是首先分析问题的步骤:1、开始游戏,2、黑子先走,3、绘制画面,4、判断输赢,5、轮到白子,6、绘制画面,7、判断输赢,8、返回步骤2,9、输出最后结果。把上面每个步骤用不同的方法来实现。

面向对象的设计则是从另外的思路来解决问题。整个五子棋可以分为:1、黑白双方,这两方的行为是一模一样的,2、棋盘系统,负责绘制画面,3、规则系统,负责判定诸如犯规、输赢等。第一类对象(玩家对象)负责接受用户输入,并告知第二类对象(棋盘对象)棋子布局的变化,棋盘对象接收到了棋子的变化就要负责在屏幕上面显示出这种变化,同时利用第三类对象(规则系统)来对棋局进行判定。

可以明显地看出,面向对象是以功能来划分问题,而不是步骤。同样是绘制棋局,这样的行为在面向过程的设计中分散在了多个步骤中,很可能出现不同的绘制版本,因为通常设计人员会考虑到实际情况进行各种各样的简化。而面向对象的设计中,绘图只可能在棋盘对象中出现,从而保证了绘图的统一。

1.3,第一个Java程序

//类的名称叫做标识符,标识符由:字母、数字、_、$、组成,不能以数字开头,中间也不能有空格,不能是Java中的保留字和关键字,也不能包含空格。
//类名要以大写字母开头,并且后面的每个单词的首字母也要大写开头
/*使用public class声明一个类时,类名必须与文件名保持一致。
 * 使用class声明一个类时,类名称可以与文件名称不一样。
 * 一个类中可以有多个class定义,但是只能有一个public class。
 * */
public class HelloWord {
    /*只能有一个方法必须作为main,所有Java程序的入口
    * */
    public static void main(String[] args) {
        System.out.println("Hello Word");
    }
}

2,Java中的关键字

Java语言中有一些具有特殊用途的单词被称为关键字,当定义标识时不能让标识符和关键字相同,否则引起错误。

abstract assert boolean break byte case catch
char class continue const default do double
else extends enum final finally float for
goto if implements import instanceof int interface
long native new package private protected public
return short static synchronized super strictfp switch
throw throws transient try void volatile while
throw _(下划线)

(1)虽然goto、const在Java中并没有任何意义,却也是保留字。

(2)true、false、null虽然不是关键字,但是却作为特殊直接量,不能作为标识符使用。

(3)

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值