一、计算机编程的两种范型

   1、面向过程的模型---具有线性执行特点,认为是代码作用于数据。

   2、面向对象的模型---围绕它的数据(即对象)和为这个数据定义的接口来组织程序;实际上是用数据控制代码的访问

二、面向对象的实质性的要素---抽象

  人们通过抽象处理复杂性,而抽象的管理方法是使用层级分类,它允许你根据物理意义将复杂的系统分解为更多容易处理的小块。

三、面向对象的三个原则

  封装---是将代码及其处理的数据绑定在一起的一种编程机制,该机制 保证了程序和数据都不受外部干扰且不被误用。你可以把封装想象成一个黑匣子,它可以阻止数据不受外部定义的代码随意访问内部代码和数据。对黑匣字内的代码和数据的访问时通过一个适当定义的接口严格控制。

  继承---是一个对象获得另一个对象的属性的过程,继承是很重要的,因为它支持了按层分类的概念。

  多态性---允许一个接口被多个同类动作使用的特性。这个概念经常被说为“一个接口,多种方法”;这意味着可以为一组相关的动 作设计一个通用的接口。多态性允许同一个接口被必于同一类的多个动作使用,这样就降 低了程序的复杂性。

四、第一个简单的java程序

  1、键入程序

/* This is a simple Java program. 
Call this file "Example.java". */
class Test
{
public static void main(String[] args)
{
System.out.println("This is a simple java program!");
}
}

 关于java,第一件很重要的事就是知道源文件的名字,因为在java中,一个源文件被称为一个编译单元,它是一个包含一个或多个类定义的文本文件。java编译器要求源文件使用.java文件扩展名。

  2、编译程序

  要编译示例程序Example,须运行编译器程序javac,并在命令行上指定源程序文件名, 格式如下所示:     C:\>javac Example.java

  编译器javac产生了一个名为Example.class的文件,该文件包含程序的字节码。前面已 讨论过,Java字节码中包含的是Java解释程序将要执行的指令码。因此,javac的输出并不 是可以直接运行的代码。

   要真正运行该程序,你必须使用名叫java的Java解释器。具体做法是把类名Example作 为一个命令行参数输入,格式如下所示:     

    C:\>java Example

   运行这个程序,将输出如下内容: This is a simple Java program.

   当java源文件被编译后,每个单独的类都被放入到自己的输出文件中,并以类的名字加“.class”扩展名为其文件命名。这就是为什么Java源程序文件必须与其中包含的类同名的原 因——源程序文件将与“.class”文件相同。运行Java解释器实际上是指定你想要解释器运 行的类的名字,它会自动搜索包含该名字且带有.class扩展名的文件。

  3、详细讨论第一个示例程序

  3、1---/* This is a simple Java program. Call this file "Example.java". */

    这是一段注释。像大多数编程语言一样,java允许你在源文件中注释,注释的内容编译器将自动忽略。注释是为了给任何阅读源代码程序 的人说明或解释程序的操作

    Java支持3种类型的注释。在示例程序顶部的注释称为多行注释(multiline comment)。 这类注释开始于“/*”,结束于“*/”。这两个注释符间的任何内容都将被编译器忽略。正 如“多行注释”名字所示,一个多行注释可以包含若干行文字。

  3、2---第一行代码class Example {

    该行使用关键字class声明了一个新类,Example是类名标识符,整个类定义(包括其所 有成员)都将位于一对花括号({})之间,

  3、3下一行代码public static void main(String args[]) {

  该行开始于main( )方法。正如它前面的注释所说,这是程序将要开始执行的第一行。 所有的Java应用程序都通过调用main( )开始执行。

  3、4接下来的代码行如下所示。请注意,它出现在main( )内。 System.out.println("This is a simple Java program.");

  本行在屏幕上输出字符串“This is a simple Java program.”,输出结果后面带一个空行。 输出实际上是由内置方法 println ( )来实现的。在本例中,println ( )显示传递给它的字符串。 你将会看到,println ( )方法也能用来显示其他类型的信息。该行代码开始于System.out,现 在对它作详细说明为时尚早,需涉及很多复杂内容。简单的说,System是一个预定义的可 访问系统的类,out是连接到控制台的输出流。

 3.5程序中的第一个“}”号结束了main( ),而最后一个“}”号结束类Example的定义。

五、第二个程序示例

  

/*
Here is another short example.
Call this file "Example2.java".
*/
class Example2
{
public static void main(String[] args)
{
int num;//声明一个变量命名为num
num = 100;//将100赋值给num这个变量
System.out.println("This is num:"+num);
num = num*2;
System.out.print("The value of num*2 is");
System.out.println(num); }
}

 1、第一行代码: int num; // this declares a variable called num

  该行声明了一个名为num的整型变量。和其他大多数语言一样,在Java中一定要先声明 变量,然后再使用变量。

  下面是声明变量的一般形式: type var-name; 在这里,type表示所要声明的变量的类型,var-name是所要声明变量的名称。如果你要 声明多个属于同一类型的变量,只需用逗号将各个变量名分开即可。

 2、在程序中,下面这一行代码将100赋予变量num。

   num = 100; // this assigns num the value 100

  在Java中,赋值符号是等号。

 3、下面的这行程序在输出变量值之前,先输出字符串“This is num:”。

  System.out.println("This is num: " + num);

  在这个语句中,变量num之前的加号“+”的作用是,让num的取值与它前面的字符串 相连接,然后再输出结果字符串的内容(实际上,变量num先被它赋值再超值转换成字符 串,然后再和加号之前的字符串相连接。

 4、接下来的语句行将变量num乘2以后的结果重新赋值给变量num。和其他大多数语言一 样,Java用“*”符号来表示乘法运算。在执行这行语句之后,变量num的值变成了200。 本程序接下来的两行代码是: 第 2 章 Java 语言概述 21 System.out.print("The value of num * 2 is "); System.out.println(num); 在这两行中有几个新内容。首先,内置方法print( )被用来显示字符串“The value of num * 2 is”。该字符串后面不换行,这意味着如果生成第二个输出,它将在同一行中开始输出。 方法print ( )和方法println ( )类似,只是它在每次调用后并不输出一个新行(即换行)。其 次,在调用println ( )时,注意变量num可以被自身使用。方法print ( )和方法println ( )都能够 用来输出Java的任何内置类型的值。

六、基本词汇

  1、空白分隔符(whitespace) Java 是一种形式自由的语言。这意味着你不需要遵循任何特殊的缩进书写规范。例如, 例子程序的所有代码都可以在一行上,你也可以按自己喜欢的方式输入程序代码,前提是 必须在已经被运算符或分隔符描述的标记之间至少留出一个空白分隔符。在Java中,空白 分隔符可以是空格,Tab跳格键或是换行符。

  2、标识符(identifiers) 标识符是赋给类、方法或是变量的名字。一个标识符可以是大写和小写字母、数字、 下划线、美元符号的任意顺序组合,但不能以一个数字开始。否则容易与数字、常量相混 淆。再次强调一下,Java是区分大小写的,VALUE和Value是两个不同的标识符。 下面是一 些有效的标识符: AvgTemp count a4 $test this_is_ok下面是一些无效的变量名: 2count high-temp Not/ok

  3 、常量(literal) 在Java中,常量用literal表示。例如,下面是一些常量: 100 98.6 'X' "This is a test" 从左到右,第一个表示一个整数,第二个是浮点值,第三个是一个字符常数,最后是 一个字符串。常量能在任何地方被它所允许的类型使用,代表的是所属类型的一个值。

  4、 注释(comments) Java定义了3种注释的类型。其中2种注释类型你已经知道了:单行注释和多行注释。 第3种注释类型被称为文档注释(documentation comment)。这类注释以HTML文件的形式 为你的程序作注释。文档注释以“/**”开始,以“*/”结束。在附录A中对文档注释作了 解释。   5、 分隔符(separators) 在Java中 ,有一些字符被当作分隔符使用,最常用的分隔符是分号(;),用来分隔语 句。

  

  6、 Java关键字 目前Java语言一共定义了48个保留关键字(参见表2-1 )。这些关键字与运算符和分隔 符的语法一起构成Java语言的定义。这些关键字不能用于变量名、类名或方法名。 关键字const和goto虽然被保留但未被使用。在Java语言的早期,还有几个其他关键字 被保留以备以后使用。但是目前Java定义的关键字如表2-1所示。 除了上述关键字,Java还有以下保留字:true,false,null。这些词是Java定义的值。你 也不能用这些词作为变量名,类名等等。

    

  7、 Java类库 在本章的示例程序中用到了Java的两个内置方法:println ( )和print( )。前面提到过,这 些方法是System类的成员,它已经被Java预定义且自动地包括在你的程序中。Java环境依靠 几个内置的类库,这些类库包含许多内置的方法,用以提供对诸如输入/输出(I/O)、字符 第 2 章 Java 语言概述 27 串处理、网络、图形的支持。标准的类还提供对窗口输出的支持。因此,作为一个整体, Java是Java语言本身和它的标准类的组合体。你将会看到,Java类库提供了Java的许多功能。 毫无疑问,要成为一个Java程序员,其中的一部分工作就是学会使用标准的Java类。在本书 第1部分,需要时会对标准库类库和方法的各种

java基础---java语言概述的更多相关文章

  1. java基础---->java中正则表达式二

    跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...

  2. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  3. Java基础-Java中的内存分配与回收机制

    Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二.

  4. Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock)

    Java基础-Java中的并法库之重入读写锁(ReentrantReadWriteLock) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在学习Java的之前,你可能已经听说过读 ...

  5. Java基础-Java中的并法库之线程池技术

    Java基础-Java中的并法库之线程池技术 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是线程池技术 二.

  6. Java基础-Java中23种设计模式之常用的设计模式

    Java基础-Java中23种设计模式之常用的设计模式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   一.设计模式分类 设计模式是针对特定场景给出的专家级的解决方案.总的来说设 ...

  7. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  8. Java基础-Java数据类型

    Java基础-Java数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.数据类型的作用 数据类型就是一组值,以及这一组值上的操作,数据类型可以决定数据的存储方式,取值范围 ...

  9. Java基础学习_01 概述及环境配置

    一.概述 1.Java语言平台版本 1.1J2SE(Java 2 Platform Standard Edition)标准版 为开发普通桌面和商务应用程序提供的解决方案,该技术体系是其他两者的基础,可 ...

随机推荐

  1. 结对作业1----基于flask框架的四则运算生成器

    011.012结对作业 coding地址:https://coding.net/u/nikochan/p/2nd_SE/git 一.作业描述 由于上次作业我没有按时完成,而且庞伊凡同学编程能力超棒,所 ...

  2. 团队作业8——第二次项目冲刺(Beta阶段)5.20

    1.当天站立式会议照片 会议内容: 本次会议为第二次会议 本次会议在陆大楼2楼召开,本次会议内容: ①:检查第一次任务完成情况 ②:做第二次任务的详细分工 ③:规定完成时间是在第三次任务之前 ④:遇到 ...

  3. 201521123008《Java程序设计》第六周实验总结

    1.本周学习总结 2.书面作业 1.clone方法 1.1 Object对象中的clone方法是被protected修饰,在自定义的类中覆盖clone方法时需要注意什么? 因为被protected修饰 ...

  4. 201521123031 《Java程序设计》第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 注1:关键词与内容不求多,但概念之间的联系要清晰,内容覆盖 ...

  5. 201521123048 《Java程序设计》第5周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 2. 书面作业 1.代码阅读:Child压缩包内源代码 //child public class test extends P ...

  6. 201521123062《Java程序设计》第2周学习总结

    1.本周学习总结 声明一个变量后必须对变量进行显式的初始化: 各种数据类型,运算符,表达式的使用: 枚举是初步了解及使用: 字符串String类 2.书面作业 Q1.使用Eclipse关联jdk源代码 ...

  7. 201521123018 《Java程序设计》第13周学习总结

    1. 本章学习总结 2. 书面作业 一.1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 返回时间 ...

  8. 201521123109《java程序设计》第九周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 1. 常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1.2 自 ...

  9. htt p第一章概述

    http的概述 1 web客户端与服务器是如何通信 2 web资源来自的何方 3 web事务是怎样的工作的 4 http通信所使用的报文结构 5 底层tcp的传输的结构 6不同的http协议体 什么是 ...

  10. Ansible系列(六):各种变量定义方式和变量引用

    本文目录:1.1 ansible facts1.2 变量引用json数据的方式 1.2.1 引用json字典数据的方式 1.2.2 引用json数组数据的方式 1.2.3 引用facts数据1.3 设 ...