Java 学习之路(2)程序基本要素
编写一个程序,基本要素包括:标识符、关键字、注释、修饰符、块、语句、类和main()方法。
标识符
概念
在Java语言中:标识符是用来给类、对象、方法、变量、接口和自定义数据类型命名的。
标识符组成
命名约定
关键字
关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。例如,在 HelloJava.java 中的 class 就是一个关键字,它用来声明一个类,其类名称为 HelloJava。public 也是关键字,它用来表示公共类。另外,static 和 void 也是关键字。
Java 的关键字对 Java 编译器有特殊的意义,它们用来表示一种数据类型,或者表示程序的结构等。保留字是为 Java 预留的关键字,它们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。
Java 语言目前定义了 51 个关键字,这些关键字不能作为变量名、类名和方法名来使用。以下对这些关键字进行了分类。
- 数据类型:boolean、int、long、short、byte、float、double、char、class、interface。
- 流程控制:if、else、do、while、for、switch、case、default、break、continue、return、try、catch、finally。
- 修饰符:public、protected、private、final、void、static、strict、abstract、transient、synchronized、volatile、native。
- 动作:package、import、throw、throws、extends、implements、this、supper、instanceof、new。
- 保留字:true、false、null、goto、const。
提示:由于 Java 区分大小写,因此 public 是关键字,而 Public 则不是关键字。但是为了程序的清晰及可读性,要尽量避免使用关键字的其他形式来命名。
注释
在 Java 中,一行注释以双斜杠(//)标识;多行注释包含在“/*”和“*/”之间;文档注释包含在“/**”和“*/”之间。例如前面写的第一个Hello World程序
/**
* 编写第一个Java程序,输出Hello World!
* @author LJS
*
*/
public class HelloWorld {
//入口程序
public static void main(String[] args) {
//输出字符串
System.out.println("Hello world!");
} }
修饰符
Java 使用了一定数量的称为修饰符的关键字,这些修饰符指定了数据、方法和类的属性以及它们的使用方法。例如 public 和 static 都是修饰符,另外还有 private、final、abstract 和 protected。 一个 public 数据、方法或者类可以被其他的类访问,而一个 private 数据或方法不能被其他类访问。
语句和块
在 Java 语言中语句是以分号(;)来结尾的。 程序中的大括号形成了组织程序中的语句块。在 Java 中,每个块以大括号“{”开始,以大括号“}”结束。每个类都有组织该类数据和方法的类块,每个方法也都有组织该方法内语句的方法块。块可以嵌套,也就是说一个块可以放置在另一个块内,如下面的代码所示。
/**
* 编写第一个Java程序,输出Hello World!
* @author LJS
*
*/
public class HelloWorld {
//入口程序
public static void main(String[] args) {
//输出字符串
System.out.println("Hello world!");
} }
上述代码,main()方法放在了HelloWorld类的块里面。
类
类是 Java 的基本架构,在 Java 中编程必须理解类并学会编写和使用类。上面已经讲到过,在 Java 中,每个 Java 程序至少必须有一个类。每个类都要先声明,然后定义该类的数据和方法。
Java 中可以定义多个类,每个 Java 程序的定义都是使用一个或多个类完成的。在上述例子中,HelloWorld 即为类名。
方法
在 Java 中,方法同 C 语言中的函数作用相似,都可以执行一系列动作。如上例中 System.out.println("Hello world!");,是执行向控制台输出字符串的信息。其中 System.out 是标准输出对象,println 是该对象的一个方法,它由执行向标准输出设备显示信息的一系列操作语句集组成,通过调用带有字符串参数的语句对它进行操作。
main()方法
main() 方法是 Java 程序中非常重要的方法,它是程序的入口。如上例子中,在 HelloWorld 类中定义了一个 main() 方法,其中 public 表示访问权限,指明所有的类都可以使用这个方法;static 指明该方法是一个类方法(又称为静态方法),它可以通过类名直接调用;void 则指明 main() 方法不返回任何值。
对一个应用程序来说,main() 方法是必需的,而且必须按照上面的格式来定义。Java 解释器在没有生成任何实例的情况下,以 main() 方法作为入口来执行程序。Java 程序中可以定义多个类,每个类中可以定义多个方法,但 main() 方法作为程序的入口,只能有一个。
main() 方法定义中,小括号“()”中的“String[] args”是传递给 main() 方法的参数,参数名为 args,它是类 String 的一个实例。参数可以为 0 个或多个,多个参数间用括号分隔。main() 方法的实现由大括号“{}”括起来
Java 学习之路(2)程序基本要素的更多相关文章
- 新篇章之我的java学习之路下
昨天写下了人生的第一篇博客,今天接着写我的java学习之路有关开发及框架的学习过程. 想要学好java语言,只学习一些java的基本语法对实际开发中的用处还是不大的,所以我们还要掌握一些有关javaW ...
- java学习之路之javaSE基础2
java学习之路之javaSE基础2 所有的代码都是引用他人写的. 1.逻辑运算符 //&,|,^,! //int x = 10; //5 < x < 15 //x > 5 ...
- java学习之路之javaSE基础1
<h2>java学习之路之javaSE基础1</h2> <div> ###01.01_计算机基础知识(计算机概述)(了解)* A:什么是计算机?计算机在生活中的应用 ...
- Java学习之路(转)
Java学习之路(书籍推荐) 一.基础类 1.<Thinking in java>(阅读2遍),入门第一位是建立正确的概念 2.<Core Java>这本书更贴近实践,更多 ...
- JAVA学习之路与大家分享
这是我四年以前总结的JAVA学习之路,希望对初学者或想从事JAVA开发的人有帮助. 本人是软件工程专业出身,先后学过C.C++.JAVA.VB.delphi等等开发语言以及网络相关管理技术.哎,好久不 ...
- Java 学习之路 -- day00
Java 学习之路 -- day00 Typora 快捷键操作 标题:#+空格 2. *斜体* 3. **加粗** 4. **斜体加粗*** 5. ~~删除线~~ 6. > 引用 7. ···分 ...
- Java学习之路:不走弯路,就是捷径
1.如何学习程序设计? JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为 ...
- java学习之路
先来说一说我和it之间的不解之缘.准确来说,我接触it是从大二是我买的第一个手机开始的(国产的,展讯平台,能够运行mrp虚拟机),那时候还没有智能手机,或者说还不够普及,总之就是买不起.一次偶然的机会 ...
- 【分享】Java学习之路:不走弯路,就是捷径
1.如何学习程序设计? JAVA是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于JAVA,对C++等其他程序设计语言也一样管用.有编程高手认为,JAVA也好C也好没什么分别,拿来就用.为 ...
- (转)如何学习Java技术?谈Java学习之路
51CTO编者注:这篇文章已经是有数年“网龄”的老文,不过在今天看来仍然经典.如何学习Java?本篇文章可以说也是面对编程初学者的一篇指导文章,其中对于如何学习Java的步骤的介绍,很多也适用于开发领 ...
随机推荐
- robot framework笔记(二):在RF中自定义chrome启动参数
(一)在RF中自定义chrome启动参数 这里主要是实现下面2个功能 1.禁用chrome正受自动测试软件控制的提示 2.设置默认的下载路径(一些导出.下载类的功能,将文件下载到指定路径下) 自定义一 ...
- iptables-2基本语法结构
1.规则的概念先说说规则的概念,然后再通俗的解释它.规则:根据指定的匹配条件来尝试匹配每个流经此处的报文,一旦匹配成功,则由规则后面指定的处理动作进行处理:那么我们来通俗的解释一下什么是iptable ...
- golang基础归纳
1. hello-world package main import "fmt" func main(){ fmt.Println("Hello world, Go Go ...
- 乔布斯在位时,库克实质上已经在做CEO的工作了:3星|《蒂姆·库克传》
“ 一些人认为艾夫是接替乔布斯的热门人选,他对苹果的原晃和产品来说至关重要,但他本人对管理企业却毫无兴趣.艾夫想继统做设计.在苹果,他拥有所有设计师都梦寐以求的工作环境——无限的资源和自由创作的空间. ...
- Spark-2.3.2 Java SparkSQL的自定义HBase数据源
由于SparkSQL不支持HBase的数据源(HBase-1.1.2),网上有很多是采用Hortonworks的SHC,而SparkSQL操作HBase自定义数据源大多数都是基于Scala实现,我就自 ...
- MyBatis_tp50_动态sql_sql标签_抽取可重用的sql片段_使用include标签进行引用
笔记要点出错分析与总结 include内部使用自定的属性,之能使用$ {}来取值 ,#{}不能用 工程组织数据库组织0.重新修改Bean类1.定义接口 public interface Employe ...
- Mac下安装SQLmap的安装
1.cd /usr/bin/ 2.sudo git clone https://github.com/sqlmapproject/sqlmap.git sqlmap-dev3.重新打开terminal ...
- 开启idea自动Build功能
修改Intellij IDEA的配置两步:1.setting -> Compile -> Build project automatically --> 选中 2.CTRL + SH ...
- C++处理异常
C++处理异常
- go实现文件的上传
上传端 send.go package main import ( "fmt" "io" "net" "os") fun ...