Java 学习整理笔记(二)Java基本语法结构

一、源文件的编写

Java是完全面向对象的语言,所以Java的所有操作都是基于类(class)完成的。Java中所有程序的代码都需要放在一个类中,类用关键字class声明,在class之前可以添加一些修饰符,Java应用程序的源文件由若干个书写形式相互独立的类组成。

1.例子:

// HelloDate.java

import java.util.Date;   //引入 java.util 包中的Date类

public class HelloDate{
    /*
    * 该程序的目的是:输出当前系统的时间
    */
    public static void main(String[] args){
           System.out.print("Hell,it‘s");
           System.out.println(new Date());
    }
}    

(1)import语句的作用是引入一个额外的类或一个类包。注意,是“额外的”,因为有一个类包是被自动引入到每一个Java程序文件中的,就是 java.lang 包。

import java .util.Date 的作用是引入 java.util 包中的Date类。

如果不想一个一个地引入同一个包中的多个类,就可以用“*”来代表这个包中的所有类,如 import java.util.* 。

(2)类用关键字class声明,类名必须与文件名称相同。前面的关键字public表示这是一个公共类,可以被外界访问。

(3)class HelloDate 称为类声明,之后的第一个大括号和最后一个大括号以及他们之间的内容叫类体。

(4)至少有一个名称与主文件相同的类,且这个类中必须含有一个main()函数,其形式必须如下:

public static void main(String[] args){
    ...  //程序代码
}

其中,关键字public表示这是一个对外公开的函数,传入 main() 的参数,是一个 String对象数组。

(5)这个程序并未使用args,但Java编译器要求必须要这样声明main方法,因为args被用来存储“命令行参数”。

(6)Java允许一个程序的多个类中可以有多个main方法。不过,如果某个程序拥有多个类,仅有命令行所调用的class的main()会被唤醒——这个main方法必须是public,其所属类则无所谓是否为public。(可以这么理解:public static void main(String[] args) 这句代码为程序的入口、开始)

System.out.println(new Date());

(7)System.out.println 的作用是向屏幕上输出一条语句并换行。这里传入的参数是Date类的一个对象,对象用 new 操作方法创建。

(8)“为什么输出的结果不是像这样‘[email protected]’是一个对象的地址(引用),而是一个字符串呢?”是因为Java类库中的每个非基本类型的对象都具备一个 toString()方法,当编译器希望得到一个String,而手上却只有那些对象的情况下,这个函数便会被调用。如果希望自己编写的类也能具备这种行为,只要为它编写一个 toString方法即可。

(9)这个语句执行完成以后,这个对象便不会再被使用而变成了垃圾(garbage)。

2.Java之中有一种所谓的“垃圾回收机制(Garbage Collection)”,它会逐一监视所有通过 new 产生的对象,并在这些对象不再引用时释放这个对象所占据的内存空间,所以完全不必担心因垃圾过多而造成“内存泄漏(Memory Leak)”。

3.注意事项:

(1)Java是严格区分大小写的。

(2)Java程序中一句连续的字符串不能分开在两行中写。

(3)每行语句都以分号“;”表示结尾。

二、源文件的命名规则

1.Java源文件的命名规则:

(1)如果源文件中有多个类,那么最多只能有一个类为public类。

(2)如果有一个类声明为public类,那么源文件的名字必须与这个类的名字完全相同,并且扩展名是 .java 。

(3)如果源文件没有public类,那么源文件的名字只要与某一个类的名字相同,并且扩展名是 .java 即可。

2.Java中不成文的规定:

(1)Java类的名称通常以大写字母开头。如果类名由多个单词组成,则每个单词的首字母均应为大写,如 DateTest 。如果类名称中包含单词缩写,则这个缩写词的每个字母均应为大写,如 XMLExample。

(2)方法的名称的第一个单词应该以小写字母开头,后面的单词以大写字母开头,如 getName 。构造函数除外。

(3)常量的名称应该都使用大写字母,并且能表示出该常量的完整含义。如果一个常量名由多个单词组成 ,则用下划线进行分隔,如 MAX_SIZE 。

3.良好的编程习惯:

(1)注意缩进。程序块采用缩进风格编写,不允许把多个短句写在一行中,即一行只写一条语句。

(2)注重注释。一般情况下,源程序的有效代码量应在10%-20%之间,注释应与其描述的代码相近。对代码的注释应放在其上方或右方(对单条语句的注释)相邻的位置,不可放在下方。另外,在实际项目开发中,在修改代码后,一定要相应地修改注释的内容,保持代码和注释的同步。

(3)标识符命名。标识符的命名要力求做到见名知意。同时使用完整的单词或大家可以理解的缩写,避免使人产生误会。对变量的命名,切忌采用单个字符。

4.关键字和标识符:

(1)关键字又称为保留字。在程序中具有特定的含义,Java预定义的标识符,而用户自定义的标识符不能与关键字重名。

(2)标识符就是表示程序中的事物(或对象)的名字。Java中的包、类、方法、参数和变量等的名字都是标识符。

Java语言规定标识符只能由字母(大小写)、数字(0~9)、下划线(_)和美元符号($)这4种字符组成,且第1个字符不能是数字。当然还有,用户自定义的标识符不能和关键字重名。

需要注意的是,Java是大小写敏感的语言,class和Class、System和system分别代表完全不同的符号。

三、注释与内嵌式文档

1.注释(Comment)是对代码功能和用途的说明。在程序中编写适当的注释,将使程序代码更容易阅读,增强代码的可维护性。

Java提供以下三种注释风格:

(1)单行注释。这种注释风格源于C++,用于单行注释,以 // 开头,直至行末。

// 这是单行注释

(2)多行注释。这种注释风格最初为C所使用,C++也沿用了这种风格。以 /* 开头,后接的注释内容可以跨越多行,最后以 */ 结尾。

/*多行注释,
它可以跨越多行*/

(3)文档注释。文档注释以 /** 开头,后接的注释内容也可以跨越多行,并以 */ 结尾。部分程序员喜欢在多行中以 * 作为每行开头,所以通常可以看到这样的写法:

/**
*这是文档注释
*可以通过调用 javadoc 命令生成HTML说明文档
*/

2.内嵌式文档就是文档和代码在同一个文件中。文档被特殊的注释语法标记出来,再通过一个工具,将这些注释文档从中提取出来。

javadoc就是用来将内嵌式文档提取出来的工具,在JDK安装目录的bin目录下可以找到这个工具。用这个工具不但能提取出由特殊标记所标识出的信息,还会提取出这些信息所属的类名和函数名等信息。即一份标准的说明文档。

javadoc的输出结果是HTML文档,通过Web浏览器便可以阅读。javadoc还可以将用户所预设的HTML命令加入到它所产生的文档中,这样用户就可以根据自己的想法对即将生成的文档进行美化。

时间: 2024-10-23 10:22:20

Java 学习整理笔记(二)Java基本语法结构的相关文章

Java学习整理笔记(一)Java认识

一.Java介绍: Java技术主要分成三个部分:Java语言.Java运行环境和Java类库.(一般情况下并不区分指哪个部分) 即Java并不只是一门编程语言,也是一个完整的平台,有一套庞大的开发类库(包含很多可以重复利用的代码)和提供跨平台的可移植性.自动垃圾回收以及安全性等服务的执行环境. 1.Java语言: 跟其他编程语言一样,定义的一套用于程序设计的语法规范. 2.Java运行环境: 执行Java应用程序(Java Application)必须安装 Java Runtime Envir

Java学习整理笔记(三)数据类型

数据类型: 数据类型确定了数据在内存中占用的存储空间以及存储方式.每个数据类型都有它的取值范围,编译器根据每个变量或常量的数据类型为其分配内存空间. Java语言的数据类型可以分为两类:一类是简单数据类型(或基本数据类型),例如整数类型.浮点数类型.字符型类型和布尔类型等:另一种是引用类型,例如数组类型.类.接口等. 一.基本数据类型 8种基本数据类型,分别是字节型(byte).短整型(short).整型(int).长整型(long).字符型(char).浮点型(float).双精度型(doub

【HTML5学习】HTML5学习整理笔记(二)

接上一篇 (六):HTML5样式,链接和表格 ①:HTML样式: 1.标签: <style>:样式定义 <link>:资源引用 2.熟悉: rel="stylesheet":外部样式表 type="text/css":引用文档的类型 margin-left:边距 HTML三种样式插入方法: 1.外部样式表: <link rel="stylesheet" type="text/css" href=&

java学习之数组(二)

学编程吧java数组学习(二)发布了,欢迎大家通过xuebiancheng8.com来访问. 下面接着来分析数组,前面分析了什么是数组,为什么要用数组,下面来分析下如何使用数组 数组和其他数据类型一样,使用前要先定义.如下 int a[];这样就声明了一个数组 a = new int[10];然后为这个数组申请10个大小的空间 a[0] = 1; a[1] = 2; ....等等来为数组 赋值,为数组赋值完成后就可以通过下标来访问数组 当然数组在定义的时候也可以讲上面操作合并即 int a []

Java学习之道:Java上传下载excel、解析Excel、生成Excel的问题

在软件开发过程中难免需要批量上传与下载,生成报表保存也是常有之事,最近集团门户开发用到了Excel模版下载,Excel生成,圆满完成,对这一知识点进行整理,资源共享,有不足之处还望批评指正,文章结尾提供了所需jar包的下载,方便大伙使用,下面言归正传! 1.Excel的下载 1)Action中: 添加响应事件,通过getRealPath获得工程路径,与jsp中获得request.getContextPath()效果相同,fileName为要下载的文件名,经过拼接filePath是xls文件的绝对

Java学习之道:Java中十个常见的违规编码

最近,我给Java项目做了一次代码清理工作.经过清理后,我发现一组常见的违规代码(指不规范的代码并不表示代码错误)重复出现在代码中.因此,我把常见的这些违规编码总结成一份列表,分享给大家以帮助Java爱好者提高代码的质量和可维护性. 这份列表没有依据任何规则或顺序,所有的这些都是通过代码质量工具包括CheckStyle,FindBugs和PMD检查出.一起来看下: 一.Eclipse编译器提供源代码格式输入 Eclipse提供自动源码格式选项,并且组织输入(删除未使用的代码).你可以使用下面的这

JAVA学习篇--ThreadLocal,Java中特殊的线程绑定机制

在DRP项目中,我们使用了ThreadLocal来创建Connection连接,避免了一直以参数的形式将Connection向下传递(传递connection的目的是由于jdbc事务要求确保使用同一个connection连接).那么ThreadLocal是如果做到的呢?它和同步锁的不同在哪里? 是什么: 对于ThreadLocal看英文单词我们很容易理解为一个线程的本地实现,但是它并不是一个Thread,而是threadlocalvariable(线程局部变量).也许把它命名为ThreadLoc

Java学习之道:Java构造器和方法的区别

摘要 要学习Java,你必须理解构造器.因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆.但是,构造器和方法又有很多重要的区别. 原作者:Robert Nielsen 原站:www.javaworld.com 我们说构造器是一种方法,就象讲澳大利亚的鸭嘴兽是一种哺育动物.(按:老外喜欢打比喻,我也就照着翻译).要理解鸭嘴兽,那么先必须理解它和其他哺育动物的区别.同样地,要理解构造器,那么就要了解构造器和方法的区别.所有学习java的人,尤其是对那些要认证考试的,理解构造器是非常重要的.下

20145326《Java程序设计》实验二Java面向对象程序设计实验报告

20145326<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 一.单元测试 1. 三种代码·伪代码·产品代码·测试代码Example:需求:我们要在一个MyUtil类中解决一个百分制成绩转成“优.良.中.及格.不及格”五级制成绩的功能. 伪代码: 百分制转五分制: 如果成绩小于60,转成“不及格” 如果成绩在60与70之间,转成“