(四)java程序基本组成
一个基本的java程序一般包括几个部分,分别是程序所在的包名、程序中用到的其他包的路径、程序的类、类中的方法、变量和字面量。
package demo;
import java.util.Date;
public class Demo {
public static void main(String[] args) {
int num;
num=1;
String str=new String();
Date date=new Date();
System.out.println(str);
System.out.println(num);
System.out.println(date);
}
}以上是一个简单的程序,输出一个整数和当前的系统日期。其中,demo是包名,java.util.Date是导入的日期类的包,Demo是类名,main是类中的方法名,num是变量,1是字面量。
package是定义包的关键词,
import是导包的关键词,
public 是权限修饰词的一种,代表公有的、公开的,还有另外三个分别是私有的private、受保护的protect和默认的。
class是定义类的关键词,
static也是一种修饰词,代表静态的。带有static的方法、变量等属于类所有不属于对象。类是类型,一种略抽象的东西,类的实例化就是对象,例如人类、人,这是类,不具体;而具体到任何一个人,例如某某人,这就是个对象。
包名、类名、方法名以及变量名等一般都是自己随便取,但是最好见名知意、使用英文并遵循驼峰命名法。所谓的驼峰命名法就是当几个单词组合起来作为一个单词时,第一个的首字母小写,其他的首字母大写,首字母之外的所有字母小写。初学者容易犯的一个错误是,喜欢使用伪英文,其实就是中文拼音,例如日期,不是date而是写成riqi,乍一看好像是英文,实际上不是那么回事。
在上边例子中的方法名比较特殊,main方法在java中的作用是程序的入口,也就是说一般程序会从这里进入开始运行,而且这个方法那一行是固定的写法,任何一个单词和符号包括括号里边的参数都不能改变,一旦变了,那他就不是主函数,也就不能起到程序入口的作用了。
命名还有一个需要注意的是,不能使用java中的关键字,也不能使用java中的保留字,所谓的保留字,其实就是java定义的可能成为关键字,但是目前还不是关键字的单词。
上边的例子中,变量有三个,分别是num、str和date,这三个有区别,int和str都是没有导包的,而date是有导包的。在java中,八大基本数据类型都是不用导包的,所以int不用;而str的类型是String,他不属于八大基本类型,但是因为它实在是太常用了,所以它拥有特权,也和八大基本类型一样不用导包;至于Date,他虽然也常用,但是并没有String那么常用,所以他要老老实实的导包,当然了,除开String之外的所有引用类型都要导包。
变量其实就相当于一个装东西的盒子,也就是一个可以改变内容的东西,它里面装的我们看到的东西就是所谓的字面量。比如int num=1,num是变量盒子,而1是字面量,也就是盒子里的东西。
在最后,程序中输出了这三个变量的内容,在控制台打印输出的常用语句是System.out.println();括号里边装的就是要输出的内容,在这里用的是上边的变量。变量在使用时需要注意的是,必须先声明并初始化,然后再使用。
声明说的简单点就是类型加变量名,而初始化说的简单点就是给他赋值,给盒子装上东西,比如给nun装上1,给date装上new Date()。
变量的声明和初始化一般有两种形式,先声明再初始化和声明的同时初始化。在上边的例子中,num就是先声明再初始化,而其他两个就是声明的同时初始化。
变量在使用时还需要注意的是,它有作用域,也就是说即使声明和初始化了却并不一定就可以用,变量的作用范围一般是从包含他的最近的大括号开始到结束的范围内,超出范围将会失效。
(四)java程序基本组成的更多相关文章
- 分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小
原文:分享非常有用的Java程序 (关键代码)(四)---动态改变数组的大小 /** * Reallocates an array with a new size, and copies the co ...
- “全栈2019”Java第四章:创建第一个Java程序
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- # 2016-2017-2 20155319 《Java程序设计》实验四Android程序开发实验报告
2016-2017-2 20155319 <Java程序设计>实验四Android程序开发实验报告 实验一 实验内容 Android Stuidio的安装测试: 参考<Java和An ...
- 20155338 2016-2017-2《Java程序设计》实验四Android程序开发实验报告
2016-2017-2 20155338 <Java程序设计>实验四Android程序开发实验报告 实验过程及成果展示 1.修改res目录下的layout文件夹中的activity_mai ...
- 优秀Java程序员的四大忌,你避免了吗?
做为一名优秀的程序员需要具备永不放弃的精神,如果一个程序员不具备这种永不放弃的精神,那么这个程序员只能算是一名假程序员.而通往成功的道路上往往是不平坦的,想要成为一个合格的高级Java程序员,需要规避 ...
- 《JAVA 程序员面试宝典(第四版)》读书笔记之前言
工作五年了一直在小的软件公司混,总感觉自己的专业知识没有太大的提升.当然了中间也换了一两家公司,面试的公司就很多家,总感觉正规的软件公司(无论大小)对于基础知识的考核都非常重视,而不管你说你之前服务过 ...
- 一个工作了四年的java程序员的心得体会
年底了,该给自己写点总结了!从毕业到现在已经快4年啦,一直在Java的WEB开发行业混迹.我不是牛人,但是自我感觉还算是个合格的程序员,有必要写下自己将近4年来的经历,给自我以提示,给刚入行的朋友提供 ...
- 为Java程序员金三银四精心挑选的五十道面试题与答案
1.面向对象的特征有哪些方面? [基础] 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问 ...
- Java程序员金三银四精心准备的面试题及答案(基础篇)
1.面向对象的特征有哪些方面? [基础] 答:面向对象的特征主要有以下几个方面: 1)抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问 ...
随机推荐
- DB2 函数大全
DB2函数大全 函数名 函数解释 函数举例 AVG() 返回一组数值的平均值. SELECTAVG(SALARY)FROMBSEMPMS; CORR(),CORRELATION() 返回一对数值的关系 ...
- yii点击上传图片后立即显示
结合yii上传做的图片上传后立即显示,自己琢磨的,有点low <script type="text/javascript">//下面用于图片上传预览功能function ...
- 235. Lowest Common Ancestor of a Binary Search Tree
代码如下: /** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; ...
- c 函数及指针学习 9
指针的高级应用 处理命令行参数 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include <stdio.h> int main(int ar ...
- U盘
U盘里的.Trashes是什么文件,要怎么去掉?为什么会出现这个文件? 这是苹果电脑的垃圾文件. 1.在苹果电脑上删除文件后,没有清空回收站,就会留下这些文件. 2.可以重新插入Mac, 然后会发现T ...
- Linux系统编程@多线程编程(二)
线程的操作 线程标识 线程的ID表示数据类型:pthread_t (内核中的实现是unsigned long/unsigned int/指向pthread结构的指针(不可移植)几种类型) 1.对两个线 ...
- C++@sublime GDB调试
正文转自:http://www.cppblog.com/lucency/archive/2012/08/09/59214.html 之前在网上搜索了好久使用sublime调试C和C++的文章,但是徒劳 ...
- 比较实用的JavaScript库
如果你操作过cookie的接口,那么你一定会感觉这东西的规范真的是太复杂了,根本记不住啊,其实你是对的,因为cookie的接口设计的是有问题的,也就是说设计的太底层了,根本不友好,那么来试试这个js库 ...
- PHP pdao用法总结
$sql = 'SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = ...
- 【转】iOS 删除已经配置的类库和移除CocoaPods
原文网址:http://www.jianshu.com/p/552f21a989ba 引言 我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个 ...