初学者怎么学习java3篇
【导言】此例“初学者怎么学习java3篇”的范文资料由阿拉题库网友为您分享整理,以供您学习参考之用,希望这篇资料对您有所帮助,喜欢就复制下载支持吧!
初学者怎么学习java1
1.学习JAVA的原理
了解JAVA的原理,才有可能真正体会JAVA的一切,学习任何事情,只要能掌握原理,就会比较顺利。
学习JAVA语言很简单,毕竟JAVA语言也只包含五十多个关键词(keyword)与几十个算符(operator),再加上JAVA语法(syntax)也很简单,所以一般人可以很快就学会JAVA语言。
2.学习对象导向的思维
学会了语言,并不代表就可以设计出好的对象导向系统架构。想要成为对象导向的专家,往往需要:
(1)多看相关的书;
(2)多观摩别人的程序;
(3)多写程序。
总之六个字——多看,多学,多练。
3.学习API
学会JAVA语言之后,还需要学会一些API才能写出有用的程序。JAVA的API非常多,必须规划好一个学习路径,才不会在浩瀚的API大海中迷失。
必备的API包括了:IO、New IO、Collection Framework、Network、RMI、JAXP等。
4.学习开发工具的用法
只用JDK,是很难写出大型程序的,所以通常程序员会使用JBuilder/VisualAge/ VisualCafe 等工具。
海纳百川,有容乃大。山草香为大家整理的3篇初学者怎么学习java到这里就结束了,希望可以帮助您更好的写作java学习。
java学习心得2
1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。
2)java的堆和栈的区别:
堆:是一个运行时数据区,类的对象从中分配空间。这些对象通过new,newarray,anewarray和muitianewarray等指令建立,它们不需要程序代码来显示释放。堆是由垃圾回收来负责的,堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是运行时动态分配内存的,Java垃圾收集器会自动收走这些不再使用的数据。但是缺点是:由于是要在运行时动态分配内存,存取速度较慢。
栈的优势:存取速度比堆要快,仅次于寄存器,栈数据可以共享。缺点是,存在栈中的数据大小与生命期必须是确定的,缺乏灵活性。栈中主要存放一些基本类型的变量
(int,short,long,byte,float,double,boolean,char)和对象句柄。
3)java算法:
1、冒泡排序:从头开始,依次对相邻的两个元素进行比较,发现有顺序错误就将它们调换过来!重复地进行,直到没有元素需要交换。是稳定排序法,最好的时间复杂度是O(n);
2、快速排序:思想是(Divide)选取一个基元X开始(一般选取数组的第一个元素),通过某种分区操作将数组划分成两个部分,左边部分小于等于X,右边部分大于等于X。(Conquer)左右两个子数组递归地调用Divide过程,(Combine)快排作为就地排序算法,不需要任何合并操作!
3、递归:程序调用自身,并非不会无休止地调用下去,需要有一个出口,当满足条件时程序也就结束!不然的话,就会出现程序死循环。
4)JVM调用GC的频度还是很高的,主要两种情况下进行垃圾回收:第一个就是当应用程序线程空闲,另一个是java内存堆不足时,会不断调用GC,若连续回收都解决不了内存堆的不足。
4)、junit测试的方法的类型必须是public ,其他类型运行时会报错。方法的返回类型也必须是void,并且不能有参数。
5)、List
args = null; (param);//这样会报错
分析原因:List是一个接口,没有实现是不能使用的,需要ArryList的实现类或者其他实现类才能使用
应该改为:List
args = new
ArrayList
();(param);
6)、如A是父类,B是继承于A,两者都有构造函数和A有print(),B也覆盖了A的方法,那么可以A a = new B();此时();调用的是B的print()方法,如果B的print()没有覆盖父类的方法,而是自己创建的print();那么这时();调用的还是B的print()方法。另外,假设A有print1()方法,B没有覆盖A的print1();这时();不会报错,它
将调用的是A自己的print1()方法。最后,加入A没有了print()方法,而是print()是只有B有,这时();将直接调用B的print();方法,总结: 对于类的继承,父类通过子类实例化后,构造方法都在先执行父类的构造方法,再依次执行子类的构造方法。方法的调用原则是先执行子类的方法,如果子类复写了父类的方法,将执行子类的方法,如果子类没有复写父类的方法,但是方法重名,也会只执行子类的方法。如果子类没有对应的方法,那么就执行父类的方法!(不要以为子类没有该方法编译器会报错,因为继承了父类的方法!)请注意:B b = new A();编译器会报错,这也是不合逻辑的!
java学习心得3
对于很多只会C语言的初学者而言,面对java基础语法学习,反而感觉很难,其实其中最大的问题不是语法难,而是一种编程思想的转变。面向过程就是把你的代码封装成函数,然后依次去做一件事情,面向过程是把你要做的事情抽象成对象,告诉对象去做。所以要想学好java入门,必须知道类和对象的概念。
类是对生活中事物的抽象描述,比如人类,动物类,交通工具类;对象即是对类的具体实例化,比如张三是人,猫是动物,飞机是交通工具(对象-----类)。Java基础入门学习路线可以总结为四步走:
开发环境的搭建;
初级之基础语法学习(80%类似C语言);
中级之面向对象编程学习(重点);
中级之应用编程学习。
第一步:JDK软件开发包时java软件开发环境,
包括jre运行环境和jvm虚拟机,在oricle官网下载javaSE版本JDK包;配置好环境变量就可以使用了。
第二步:java初级语法学习,
1.基本数据类型整形,字符型,字节型,长整形,短整形,浮点型,双精度,布尔型;
2.运算符+,-,_/,%等;
3.控制流(while,switch,if else);
4.数组的定义方式。
此阶段基本无难度,只要了解练习例题。
第三步:java面向对象学习,
1.类和对象;
语言三大特性,封装、继承、多态;
[]3.一些关键字学习(static,final,abstract,extends)等。
这是重点,大家根据知识点一步步研究学习才是关键。
第四步:java应用编程,
例如:文件IO,集合(类似C语言数据结构),异常处理,线程,网络,JDBC数据库操作等,都是掌握面向对象以后,在查找不同的类使用类中不同的方法达到应用的效果,所以并不会很难。等基础语法掌握了就可以继续后面框架学习(java web方向,android学习),相信明确思路你会豁然开朗,更有学习动力。