如何学习java?java需要学习什么知识

【JAVA学习笔记】-JAVA基础知识总结
【JAVA学习笔记】-JAVA基础知识总结
& & 本文对JAVA基础知识进行一个小总结:一、基础变量类型& & & & & & 存储大小&&&& 例值 & & &注释
byte&&&&& 1byte & & & & & 3 & & & &字节
int & & & & 4bytes & & & & & 3 & & & &整数
short&&&& 2bytes & & & & & 3 & & & &短整数
long&&&&& 8bytes & & & & & &3 & & & &长整数
float & & & 4bytes & & & & &1.2 & & & 单精度浮点数
double&&& 8bytes & & & & 1.2&&&&& 双精度浮点数
char & & & 2bytes & & & & & &‘a’ & & & &字符
boolean & &1bit & & & & & & & true & & & & &布尔值
注意:java中变量需要先声明后使用。
二、Java数组定义及其初始化
一维数组及其初始化
int[] arr0;
int[] arr1 = new int[100];
int[] arr2 = new int[]{1,2,3,4};
二维数组及其初始化
123456789101112131415161718
/************************/int[][] arr0;/************************/int[][] arr1= new int[5][6];&&for(int i = 0;i&5;i++){&& for&&&&(int j = 0;j&6;j++){&&&&arr1[i][j] = i+j;&&&&System.out.print(arr1[i][j]+" ");&& }&& System.out.println();&&}/*************************/&&int[][] arr2 = new int[][]{{1,2,3},{4,5,6},{7,8,9}};&&for(int i = 0;i&2;i++){&& for&&&&(int j = 0;j&3;j++){&&&&System.out.print(arr2[i][j]+" ");&& }&&}
&三、Java面向对象编程(OOP)之三大特性:封装、继承、多态
封装:将对象的属性及相关操作等组合在一起,以方便管理和使用。
封装一个“人类”:
123456789101112
class Human{&&Human(int value){&&&& this.age = &&}&public int getAge(){&&& return this.&}&public void setAge(int value){&&& this.age =&}}
继承:为避免重复代码,通过继承来实现代码复用。
定义一个基类Human,然后定义一个类Man继承基类的属性和方法,并在子类中实现子类自己特有的方法。
12345678910111213141516171819
class Human{&&&&&&&&Human(int value){&&&&&&&&this.age =&&&&&&}&&&&public int getAge(){&&&&&&&&return this.&&&&}&&&&public void setAge(int value){&&&&&&&&this.age =&&&&}}class Man extends Human{&&&&Man(int age){super(age);};&&&&public void Play(String item){&&&&&&&&System.out.println("man always like "+item);&&&&}}
多态:主要通过方法重载、覆盖来实现多态特性。
1234567891011121314151617181920212223242526272829303132333435363738
public class Test{&&&&public static void main(String[] args)&&&&{ &&&&&&&&Cup aC&&&&&&&&BrokenCup aBrokenCup = new BrokenCup();&&&&&&&&aCup = aBrokenC // upcast&&&&&&&&aCup.addWater(10); // method binding&&&&}}class Cup {&&&&public void addWater(int w) &&&&{&&&&&&&&this.water = this.water +&&&&}&&&&public void drinkWater(int w)&&&&{&&&&&&&&this.water = this.water -&&&&}&&&&private int water = 0;}class BrokenCup extends Cup{&&&&public void addWater(int w) &&&&{&&&&&&&&System.out.println("shit, broken cup");&&&&}&&&&public void drinkWater(int w)&&&&{&&&&&&&&System.out.println("om...num..., no water inside");&&&&}}
运行结果:
shit, broken cup
根据运行结果可以看出,Java可以根据当前状况,识别对象的真实类型,这叫做多态(polymorphism)。
四、面向接口编程
在设计模式的6大设计原则中,其中的两条原则是依赖倒置原则、接口隔离原则。
依赖倒置原则描述如下:
A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。
B.抽象不应该依赖于具体,具体应该依赖于抽象。
接口隔离原则描述如下:
简而言之就是不要建立臃肿的接口,接口中的方法应尽量少,一个类对另一个类的依赖应该建立在最小的接口上,以避免客户依赖(实现)不必要的接口。
依赖倒置原则告诉我们要面向接口编程;接口隔离原则告诉我们在设计接口的时候要精简单一。
在java中,接口(interface)使用方法如下:
1)以杯子为例,定义一个杯子的接口:
interface Cup {&&&&void addWater(int w);&&&&void drinkWater(int w);}
我们可以在一个类的定义中实施接口,比如下面的MusicCup (可以播放音乐的杯子):
123456789101112
class MusicCup implements Cup{&&&&public void addWater(int w)&&&&{&&&&&&&&this.water = this.water +&&&&}&&&&public void drinkWater(int w)&&&&{&&&&&&&&this.water = this.water -&&&&}&&&&private int water = 0;}
为了遵循接口隔离原则,我们需要尽可能的避免接口臃肿,因此,有时候,我们可能需要实现多个接口来达到某种编程目的。
java中实现多个接口的方法如下:
定义两个接口,水杯接口Cup,音乐播放接口MusicPlaer。通过同时实现这两个接口来实现一个“音乐水杯”。
12345678910111213141516171819202122232425262728
interface Cup {&&&&void addWater(int w);&&&&void drinkWater(int w);}interface MusicPlayer {&&&&void play();}//通过实现Cup接口和MusicPlayer接口来实现一个“音乐水杯”class MusicCup implements MusicPlayer, Cup{&&&&public void addWater(int w) &&&&{&&&&&&&&this.water = this.water +&&&&}&&&&public void drinkWater(int w)&&&&{&&&&&&&&this.water = this.water -&&&&}&&&&public void play()&&&&{&&&&&&&&System.out.println("la...la...la");&&&&}&&&&private int water = 0;}
参考文章:
http://java.tanzhouedu.net
发表评论:
TA的最新馆藏收藏成功!
您可在用户中心,查看
电&&&话:1340741****
查看完整号码
查看联系方式
微信扫一扫快速获取电话
联系我时说明在列表网看到,说不定有意外惊喜哟!
温馨提示:
请确定对方的培训资质,以防“包过”等夸大宣传或虚假信息;
任何要求预付定金、汇款等方式均存在风险,谨防上当受骗。
作为国内职业教育的实力型品牌,北大青鸟通过对当前社会企业的实际需求进行缜密调研,于2011年起,建立了学士后平台,在这个平台上陆续推出了专门针对大学生的"学士后JAVA"、"学士后.NET"、"学士后网络营销"、"学士后Android"等一系列短期培训课程。这是一个终身学习的平台,是一个信息整合的平台,也是一个人脉聚集的平台!
北大青鸟学士后学员招聘会现场
学士后平台目前有20000余学员活跃在平台上,他们有的已经学完学士后课程找到了满意的工作,有的刚步入学士后平台的大家庭,有的正在努力奋斗。在这里,你可以学到你想要的技术,可以得到你想要的项目经验,也可以与许多同学一起交流学习经验、生活、甚至展示你自己的个性,建立你自己的人脉。加入我们郴州北大青鸟科泰校区的学士后大家庭,有一天,你也会发觉,你已经达到了学士后的毕业条件:学士后=学历+技能+工作经验+人脉!带着你的学士后证书向你的梦想工作出发吧!
联系我时,请说是在列表网栏目上看到的,谢谢!
小贴士:java需要学习那些知识 学习流程如何信息由列表网网友发布,其真实性及合法性由发布人负责。列表网仅引用以供用户参考。详情请阅读列表网免责条款。
java需要学习那些知识 学习流程如何相关图片
java需要学习那些知识 学习流程如何 相关广告
& 列表网&京ICP证100421号&京ICP备号-1&琼公网安备08该日志已删除学习Java有必要学习JVM吗?
o &nbsp,&nbsp
摘自知乎答案:
首先我们广泛使用的JVM一般是HotSpot虚拟机,HotSpot有两个JVM的实现。
一个是Java HotSpot Cilent VM,另一个是Java HotSpot Server VM。 前者致力于在客户端环境中减少启动时间而优化,后者在服务器环境中最大化程序执行速度而设计。
学习JVM:理解编译过程,理解内存分配与垃圾回收,以及线程资源分配等问题。
可以从下面几方面入手:
编译过程(Compile)
内存分配(Memory)
执行时间(Runtime)
垃圾回收(Garbage Collection)
线程资源方面(Thread)
与虚拟机相关的异常处理(Exception)
个人理解:接触Java一年多,做一些Java Web的开发,实际关注Java本身的知识,关注的很少。
控制台报错,就会直接百度,然后找答案,解决问题。最近在看JVM方面的书,才知道控制台的信息已经告诉你问题出在哪,只要懂JVM,很快就能解决问题,根本不用百度,上网查答案之类的。
JVM虚拟机帮助我们做了很多事情,如果你只是会用,而不懂它,在以后的开发遇到瓶颈(性能之类的),就很难办了。
大家可以说说自己学习JVM,对自己理解Java有哪些帮助? 或者是你觉得JVM很必需,准备学,你的动机是什么?
欢迎大家回复,相互探讨~~
可以了解,感觉如果一直钻研这个的话跟学习C++有什么区别。。。我是个小白,我只是这么感觉的。。。
关于伯乐小组
这里有好的话题,有启发的回复和值得信任的圈子。
新浪微博:
推荐微信号
(加好友请注明来意)
- 好的话题、有启发的回复、值得信赖的圈子
- 分享和发现有价值的内容与观点
- 为IT单身男女服务的征婚传播平台
- 优秀的工具资源导航
- 翻译传播优秀的外文文章
- 国内外的精选博客文章
- UI,网页,交互和用户体验
- 专注iOS技术分享
- 专注Android技术分享
- JavaScript, HTML5, CSS
- 专注Java技术分享
- 专注Python技术分享
& 2016 伯乐在线}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信