
1 一、明确学习目的
学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
2 二、打好基础
学编程要具备一定的基础,总结之有以下几方面:
1、数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
2、逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
3 三、注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针这些语法、结构的应用例子,做到举一反三,触类旁通。
4 四、掌握编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。关键是学一种思想,有了思想,那么我们就可以触类旁通。
5 五、多实践、多交流
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
6 六、养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
7 七、上网学编程
在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。
8 八、加强计算机理论知识的再学习
学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、 *** 作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。
代码编程教学入门期守一个熬字诀,初学者尽量不要钻牛角尖,寻一个编程目的,还有反复练习。
代码编程教学入门应注意:
初学者尽量不要钻牛角尖,入门期遇到难题,耗了半天时间还是没弄懂,可以暂时跳过,知识积累到一定程度,回头再进行解决你会发现简单多了。
站在巨人的肩膀上,你遇到的那点小问题,已经有无数前辈也曾遇到过,他们总结了并分享在互联网上了,前人的经验是你的宝贵资源,要善于利用StackOverFlow,Quora,谷歌等。
有些程序员学习编程一上来就想着月薪1W+以上,这样的学习过程会非常痛苦,很容易放弃。最好是奔着一个小项目而学习编程,当你把作品做出来了,就有成就感,同时基本上具备找工作的能力,直接找个初级的开发岗位,再进阶,你的自学之路功与名都有了。
编程是一门手艺,需要反复练习,脱离书本和视频看是否能独立实现。学到最后的境界无非就是:我亦无他,唯手熟尔。
1如何从零开始学编程
很多刚开始学编程的朋友就是百度一部教程,再买本书,边看教程边看书,可是这样很少有学有所成的,下面给大家总结一下我初学编程到现在总结的一些方法。
初学编程的很多人都静不下心来,一心只为追求速度,自己本人又急功近利教程非常庞大,看不懂也不想回头在看一遍,这就导致在学完一部分知识做一个比较大一点的练习时,根本做不下来,写几行代码就束手无策——心不诚。
一些简单的代码,总感觉是浪费时间,只敲几遍,甚至不敲,总认为自己已经会了,这是学无所成的最大一个原因——眼高手低。没有充足的时间,学习过程断断续续,这一个主要针对上课的学生党——时间。
不要认为教程越全越好、越新越好,这套了理论对初学编程无用,教程你不管看12年的也好、16年的也好,一些最基础,最核心的东西都是有的,可能16年会多一点东西,但对初学编程的人来说,毫无用处,教程如果太过庞大,没有充裕的时间和绝对恒心的人来说只会适得其反;我建议初学者在选着教程时尽量选择微课程,这是现在比较流行的自学理念。
给自己定一个学编程的编程目标。学编程时间长了很少有人会定这类目标:多少多少天学完基础语法,多少多少天学完这个框架 等等之流
每个人投入的时间、学习效率和基础都不一样。如果你每天都拿出大把的时间来学习,那么两三个月就可以学会C/C++,不到半年时间就可以编写出一些软件。但是有一点可以肯定,几个月从小白成长为大神是绝对不可能的。要想出类拔萃,没有几年功夫是不行的。学习编程不是看几本书就能搞定的,需要你不断的练习,编写代码,积累零散的知识点,代码量跟你的编程水平直接相关,没有几万行代码,没有拿得出手的作品,怎能称得上“大神”。每个人程序员都是这样过来的,开始都是一头雾水,连输出九九乘法表都很吃力,只有通过不断练习才能熟悉,这是一个强化思维方式的过程。知识点可以在短时间内了解,但是思维方式和编程经验需要不断实践才能强化,这就是为什么很多初学者已经了解了C语言的基本概念,但是仍然不会编写代码的原因。程序员被戏称为”码农“,意思是写代码的农民,要想成为一个合格的农民,必须要脚踏实地辛苦耕耘。也不要压力太大,一切编程语言都是纸老虎,一层窗户纸,只要开窍了,就容易了。
现在Java非常火,对于那些没有基础的同学来说,怎样才能学好Java,学Java是否有前途,学多久可以进入职场,想必这些问题困扰着许多想要学习Java的大学生和社会人士。现在,许多大学生,不管接触没接触过Java程序的人都有通过上Java培训班而顺利就业的,其中不乏高薪者;同时,也有中途失败的,并不是每个人都适合做Java程序员,Java的学习还是需要一定的门槛的。所以,在学Java之前,一定要确定自己的职业方向,明确自己的能力机构和兴趣等等。
我们必须明确一个大方向,也就是说现在面向对象的编程范畴。尽管人工智能曾经有所浪潮,但未来5-10年工业界广泛承认并接受的将是面向对象式的编程。工业界目前最流行的面向对象编程语言就是C++和Java。所以基本上锁定这两个方向就可以了。而且完全可以同时掌握。掌握Java的精华特性而且一定要知道为什么。
如何学习程序设计培养兴趣
男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。
兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。你认为,这样有味道吗有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。
明确自己的职业晋升计划
从软件开发人员的生涯规划来讲,我们可以大致分为三个阶段,软件工程师→软件设计师→架构设计师或项目管理师。不想当元帅的士兵不是好士兵,不想当架构设计师或项目管理师的程序员也不是好的程序员。我们应该努力往上走。
上培训机构,“合适最好、谨慎小心、以防被骗”
什么叫合适最好,就培训机构并不是越出名、学费越贵就一定越好。其实,好多培训机构广告打的猛,其实教学水平未必是最好的。电脑培训认为Java培训费用动辄上万,骗子培训机构也非常多,所以要遵循“合适最好、谨慎小心、以防被骗”。
入门级:
1、基本语法熟练
2、几种控制语句熟练使用(for、while、foreach、switch)
3、知道什么是继承、多态。如何实际使用它们
4、对容器类的熟练使用。(List、Set、Map)
5、知道简单的泛型的使用。
6、能处理简单的异常错误。
7、会写最基本的对硬盘文件的读写 *** 作。
大概就这些了,可能还少一些,其实很难鉴定一个人到底是入门级1级还是入门级4级。慢慢来。多看书自然就有收获!
public class Rational {
private int numerator;//分子
private int denominator;//分母
public Rational()
{
}
public Rational(int numerator,int denominator)
{
thisnumerator = numerator;
thisdenominator = denominator;
}
public int getNumerator() {
return numerator;
}
public void setNumerator(int numerator) {
thisnumerator = numerator;
}
public int getDenominator() {
return denominator;
}
public void setDenominator(int denominator) {
thisdenominator = denominator;
}
public Rational add(Rational left,Rational right)
{
Rational result = new Rational();
int tempDenominator = thisgetCommonMultiple(leftgetDenominator(), rightgetDenominator());
int tempNumerator = leftgetNumerator()(tempDenominator/leftgetDenominator())+rightgetNumerator()(tempDenominator/rightgetDenominator());
resultsetDenominator(tempDenominator);
resultsetNumerator(tempNumerator);
return result;
}
//得到公约数
private int getCommonDivisor(int a,int b)
{
int result = 1;
//Systemoutprintln("----------getCommonDivisor");
//Systemoutprintln("a:"+a+",b:"+b);
int primeNumber[] = getAllPrimeNumber(a>ba:b);
//Systemoutprintln("素数个数有:"+primeNumberlength);
for(int i=0;i<primeNumberlength;i++)
{
//Systemoutprintln("素数有:"+primeNumber[i]);
if(primeNumber[i]==0)
{
break;
}
if((a%primeNumber[i]==0) && (b%primeNumber[i])==0)
{
result =primeNumber[i];
}
}
//Systemoutprintln("公约数为:"+result);
return result;
}
//得到小于某个数的所有素数
public int[] getAllPrimeNumber(int number)
{
//Systemoutprintln("----------getAllPrimeNumber");
int arrays[] = new int[number];
int count = 0;
for(int i=2;i<=number;i++)
{
//Systemoutprintln("当前数:"+i);
int flag=1;
for(int j=2;j<=Mathsqrt(i);j++)
{
//Systemoutprintln("循环内部:"+j);
if(i%j==0&&i!=j)
{
//Systemoutprintln("当前数:"+i);
flag = 0;
break;
}
}
if( flag == 1)
{
arrays [count++] = i;
//Systemoutprintln("素数:"+i);
}
}
return arrays;
}
public int getCommonMultiple(int a,int b)
{
int commonDivisor = getCommonDivisor(a,b);
int commonMultiple = (a/commonDivisor)b;
//Systemoutprintln("公倍数为:"+commonMultiple);
return commonMultiple;
}
public Rational subtration(Rational left,Rational right)
{
Rational result = new Rational();
int tempDenominator = thisgetCommonMultiple(leftgetDenominator(), rightgetDenominator());
int tempNumerator = leftgetNumerator()(tempDenominator/leftgetDenominator())-rightgetNumerator()(tempDenominator/rightgetDenominator());
resultsetDenominator(tempDenominator);
resultsetNumerator(tempNumerator);
return result;
}
public Rational multiplication(Rational left,Rational right)
{
Rational result = new Rational();
int tempDenominator = leftgetDenominator()rightgetDenominator();
int tempNumerator = leftgetNumerator()rightgetNumerator();
int cn = thisgetCommonDivisor(tempDenominator, tempNumerator);
resultsetDenominator(tempDenominator/cn);
resultsetNumerator(tempNumerator/cn);
return result;
}
public Rational divisor(Rational left,Rational right)
{
Rational result = new Rational();
Rational temp = new Rational();
tempsetDenominator(rightgetNumerator());
tempsetNumerator(rightgetDenominator());
result = thismultiplication(left, temp);
return result;
}
}
public class TestMain {
public static void main(String[] args) {
Rational temp1 = new Rational(3,4);//第一个参数是分子,第二个是分母
Rational temp2 = new Rational(5,6);
Rational result = new Rational();
result = resultadd(temp1, temp2);
Systemoutprintln("-----------testMain");
Systemoutprintln("加法:");
result = resultadd(temp1, temp2);
Systemoutprintln("结果为:"+resultgetNumerator()+"/"+resultgetDenominator());
Systemoutprintln("结果为:"+(double)resultgetNumerator()/resultgetDenominator());
Systemoutprintln("减法:");
result = resultsubtration(temp1, temp2);
Systemoutprintln("结果为:"+resultgetNumerator()+"/"+resultgetDenominator());
Systemoutprintln("结果为:"+(double)resultgetNumerator()/resultgetDenominator());
Systemoutprintln("乘法:");
result = resultmultiplication(temp1, temp2);
Systemoutprintln("结果为:"+resultgetNumerator()+"/"+resultgetDenominator());
Systemoutprintln("结果为:"+(double)resultgetNumerator()/resultgetDenominator());
Systemoutprintln("除法:");
result = resultdivisor(temp1, temp2);
Systemoutprintln("结果为:"+resultgetNumerator()+"/"+resultgetDenominator());
Systemoutprintln("结果为:"+(double)resultgetNumerator()/resultgetDenominator());
}
}
以上就是关于怎么学习编写程序全部的内容,包括:怎么学习编写程序、程序员如何学习编程、怎么学编程等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)