java学习系列是用来记录这次的java学习总结的,希望可以坚持下去。
这次主要是看Head First Java 这本书的,感觉这个书确实厉害。虽然说有很多的图会减少很多的阅读的烦躁感,但是最重要的还是作者用很少的文字却讲了很多java中的注意问题,说实话我其实在这之前已经用过java去开发一些项目了,算不上是一个新手,但是阅读这本书还是让我收获到了很多的新的知识
1、进入java世界
java工作方式
源代码:编写源代码程序
编译器:检查源代码的错误
输出:编译器会产出字节码,也就是看到的.class文件
java虚拟机(JVM):用来运行.class文件,这样就可以实现跨平台
2、类与对象
实例变量:对象本身已知的事物
方法:对象可以执行的动作
类不是对象,类是对象的蓝图
圆点运算符(.):此运算符能让你存取对象的状态与行为
main()的两种用途:测试真正的类;启动你的java应用程序
java的面向对象概念中没有全局变量,
3、primitive主数据类型和引用
变量
变量有两种:primitive主数据类型和引用
编译器不允许将大容量数据类型的内容存在小容量数据类型的内容
事实上没有对象变量的存在,只有引用到对象的变量。对象引用变量保存的是存取对象的方法。
primitive主数据类型变量是以字节来代表实际的变量值,但对象引用变量却是以字节来表示取得对象的方法。(你可以将引用变量想象成遥控器)
声明一个引用变量 Dog myDog = new Dog(); 代表取得Dog对象的方法以字节形式放进变量。对象本身并没有放进变量中!
数组也是对象,primitive主数据类型有8种,声明: int[] nums = new int[7];
java注重类型,一旦数组被声明出来,你就只能装入所声明类型的元素。
4、对象的行为
记住:类所描述的是对象知道什么与执行什么?
方法会运用形参,调用的一方会传入实参
java是通过值传递的,也就是说通过拷贝传递的。
封装
为了安全
所谓的封装就是将类的变量和方法标记上修饰符(private/public)
实例变量永远都会有默认值。如果你没有明确的赋值给实例变量,或者没有调用setter,实例变量还是会有值的。但是局部变量没有默认值!如果在变量被初始化前使用的话,编译器会显示错误。
变量的比较
使用==来比较两个primitive主数据类型,或者判断两个是否引用同一个对象。使用equals()来判断两个对象是否在意义上相等(例如两个String类型字符串判断内容是否相等)
5、超强力方法
将string转int:int a = Integer.parseInt("3");
将int转string:1、String.valueOf(i) ;2、 Integer.toString(i) ;3、 i+""
Math.random()会返回一个0到1之间的数
for(String name : nameArray){} 在其他程序语言背景中,这种循环又称为“for each”或“for in”循环