换一个视角看事务 - 用"Java语言"写"作文"
前段时间在抽工作之空余,更加系统和深入的重新学习Java的1些技术知识。 最近也试着申请了1个专栏,对前段时间的1些收获和知识点做1个系统性的归纳回顾和总结。 昨天也是刚刚写完了关于Java中的各种基础语言要素的总结,总觉得少了点甚么。
对基础语言要素的理解和使用,实际上是很重要的。 俗语说,1切伟大的行动和思想,都源于1个微不足道的开始。 而对1门语言来讲,熟练的掌握对其基础语言要素的理解和使用,就是这个“微不足道的开始”
可以这样说,1门语言的基础语言要素,就同等因而1门武功的内功。 将自己的“内功”练到出神入化,剩下的,就只是招式(外功)而已了。 我在网上看到他人这样解释内功与外功的区分,觉得用于表达我想说的话,10分契合: 内功就像子弹,外功就像枪。 对应于Java当中来讲则是: 基础语言要素是根基;而我们所做的所谓的“编程”工作,实际就是通过根基创造使用招式而已。
回想最初学习Java时,1直没能对这些基础语言要素有足够的重视, 也没能对其有1个很系统性的分类归纳的理解,致使总觉得思路有点杂乱。 经常在想,怎样样可以对这些语言要素的概念和使用方式,有1个更形象的理解。 后来在渐渐深入的进程中,发现: “编程”工作与我们在学生时期都经历的“作文”工作实际上是很相似的。
举例来讲: 请以《站在……的门口》为题写1篇文章。
要求:1.立意自定。
2.文体不限。可以记叙经历,抒发感情,发表议论,展开想象,等等。
3.很多于800字
这是甚么?这是1个作文题目。
而: 有1个100万长度的数组,其中有两个数是重复的,
请使用Java语言写1个最快的算法,查找到重复的数。
这又是甚么?这是1道程序题目。
所以我们不难发现,所谓的“作文题目”与“程序题目”。 归纳来说:实际上也就是1种“实现需求”罢了。 对2种不同的需求,我们所做的工作实际上都是“编写文章”!不同的是,
同理的,1个Java类的构成通常包括:
我们将上面举例说到的《我的父亲》转换为1个Java类的体现情势,可能能让我们更形象的进行理解: /*
* 作文《我的父亲》用Java类体现
*/
public class MyDad /* 类声明::作文标题 */{
// 变量(常量)用于记录作文中的人、物、地点
// 人物:
private static final String ME = "我";
private static final String MY_DAD = "我的父亲";
// 物:
private static final String RAINCOAT = "雨衣";
// 地点:
private static final String MY_HOME = "我家";
private static final String HOSPITAL = "医院";
//函数 ::段落
private static void see_a_patient(){
StringBuilder sb = new StringBuilder();
sb.append("记得小时候,有1次");
sb.append(ME);//使用变量
sb.append("发高烧!窗外下着大雨,也打不到车。万分紧急之下,");
sb.append(MY_DAD);
sb.append("赶快拿出1件");
sb.append(RAINCOAT);
sb.append("为我披上,背上我,冒着大雨把我从");
sb.append(MY_HOME);
sb.append("送到了");
sb.append(HOSPITAL);
System.out.println(sb.toString());
}
public static void main(String[] args) {
see_a_patient();
}
}
该程序运行的输出信息为: 记得小时候,有1次我发高烧!窗外下着大雨,也打不到车。万分紧急之下,我的父亲赶快拿出1件雨衣为我披上,背上我,冒着大雨把我从我家送到了医院 请看了,我们不正是用Java语言写了1篇“作文”吗? 到此,我们通过以熟习的“作文”为切入点,了解了1个Java类的构成结构。 由此我们知道了:1个Java类的构成实际其实不复杂,它的结构通常就是类声明、变量(常量)和方法(函数)。 而所谓的1个“复杂的类”就犹如“1篇几万字的文章”的原理1样,不过就是: 1、触及到的人、物更多 = 定义的变量常量更多 2、段落更多/描写的故事情节更多 = 定义的方法(函数更多)
而对应的,以长篇小说为例。如果1篇文章的故事的字数已到达了1定范围,那末可能就会影响浏览性。这个时候,我们就能够进1步的对其进行“分解”。 例如1本自传体的长篇小说,1个人1生中可以描写的情节有很多,那末它可能被搭建成以下结构: 有10篇用于描写其青年时期业绩的故事,我们将其提取出来放在1起,构成小说的第1篇:《我的青年时期》 有10篇用于描写其中年时期业绩的故事,我们也将其提取出来,作为小说的第2篇:《我的中年时期》.. 从而以此类推。终究这个结构的总和被我们称作“小说”。
Java中,也是1样的。如果多个类综合完成同1方面的功能实现, 那末我们也能够将这些类提取出来,构成1个“篇章”,Java中的包结构就是这个“篇章”。 而终究由多个包结构组合起来的全部程序,就是所谓的1个完全的Java项目。
再壮观的高楼大厦,究其根本也不过就是由众多数量的钢精水泥搭建起来的。 而建筑师能做的就是通过设计手段(招式)让大楼的结构更加稳固,美观和实用。
我们谈到,之所以对1篇长篇小说进行这样的结构搭建。是由于当文章字数到达1定量的时候,就会影响浏览性,其主题也会模糊。 所以在Java中也是一样的道理,这1定程度上也是“代码重构”的初衷之1。类应当具有足够的功能特性化。
前面我们说到的是程序的结构,但同时我更想重点谈到的是Java的基础语言要素的使用。 但是在了解了程序的结构以后,我们相对就更容易了解基础语言要素的意义了。 一样以作文为例,了解作文结构是必要的。但我们还应当做的,就是以结构为切入点, 继续深入看1篇作文的基础要素与基础成份,也就是是:标点符号,词语,语句之类的东西。 由于即便你对作文结构的研究再深,如果不会使用文字,不会使用标点,不会书写语句,那1切都是空谈。
同理,假定我们要搭建1所房屋。需要了解房屋的结构构成要有卧室,厨房,浴室,客厅。 但仅仅是了解这样的结构,或许足够成为1名在纸上画房屋结构设计图的设计师;但还不足以让你真的搭建出1所房子。 要成功的搭建出房子,还需要了解房屋的构建成份也就是材料,犹如水泥,钢筋,1些建材等等。
那末对应到Java中来讲,其实也是1样的道理。 而Java为我们提供的材料(基础语言要素),包括: 标示符、关键字、注释、常量(变量)、运算符、表达式和程序语句。
到了这里我们再对前面说到的“类声明、变量、方法”的Java类的结构构成,进行成份分析: 类声明 = 访问修饰符关键字 + 类声明关键字 + 类名标示符。 变量(常量) 的声明 = 访问修饰符关键字 + 数据类型(基本数据类型或对象数据类型) + 赋值运算符 + 变量或常量的值 方法的声明 = 访问修饰符关键字 + 类/变量/方法修饰符关键字 + 返回类型关键字 + 方法名标示符 + 方法参数列表(局部变量) 而方法的内容通常就是通过对:运算符、表达式、程序语句(简单语句和复合语句)组成“招式”,完成对数据(变量等)的操作。 //类声明
public/* 访问修饰符关键字 */class /* 类声明关键字 */JavaArticlescrap /* 类名标示符 */{
private/* 访问修饰符关键字 */int /* 数据类型 */num_1 /* 变量标示符 */= /* 赋值运算符 */10;
private int num_2 = 20;
public/* 访问修饰符关键字 */static/* 静态修饰符关键字 */int /* 方法返回类型 */getSum /* 方法名标示符 */(
int a,int b)/* 参数列表(局部变量) */{
int sum = a + b; // 运算符、表达式、语句等等方法内容
return sum;
}
}
由此我们简单的总结1下,1个Java程序的编写工作,实际通常就是: 根据“需求”,通过对Java基础语言要素(示符、关键字、注释、常量(变量)、运算符、表达式和程序语句)的使用,组成“招式”。 写1篇结构为:题目(类声明) + 人、物、地点(变量/常量声明) + 段落(方法/函数)的“作文”。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |