JAVA学习记录

JAVA学习记录
——————今天开始对上一周学习java的记录做一个小小的总结

上一周
首先是学习了JAVA一些基本的原理

  1. Java的工作方式
    将编写好的源代码用编译器翻译为字节码2,生成class文件(类文件),最后由JVM(java虚拟机)执行输出。java的一大好处就在于跨平台移植的便捷性,这很大程度上得益于JVM的存在。
    其中关于JVM和编译器的关系在《Head first java》中有一个很有意思的解释
    在这里插入图片描述在这里插入图片描述书中运用拟人物体对话的形式很好的解释了下JVM和编译器的关系,生动形象,既有趣又好玩。
  2. 运用JAVA编程
    初学者的我首先跟着网课学习用notepad来编写源代码,学习了一些cmd命令的程序指令,也让我了解到java是一门面向对象的语言,跟c语言这类面向对象的编程语言有很大的不同。
    首先,在java中,我们编程之前要先声明一个公共的类,并且需要注意的是,在用cmd命令编译源代码的时候,保存源代码的文件名要与源代码内声明的公共类一致。一个java文件中有且只能声明一个公共类。
    类存于源文件中,而方法存在于类中,我们需要将主程序放在main方法中,main方法是一个程序的入口,所以一个程序只要一个main方法来运行。
  3. 数据类型和转换
    Java中,常量分为整数,小数,字符,字符串,布尔,和空常量几大类。
    数据类型分为基本数据类型和引用数据类型,而在基本数据类型中
    整数类型:byte short int long
    浮点数类型: float double
    需要注意的是,在由于整数类型默认为int类型,而浮点数类型默认为double类型,而long类型的取值范围要大于Int类型,所以在使用long类型是要在后面加上一个L,double由于精度更高与float类型,使用前float前要在后面加上F。
    Java中的类型转换分为强制类型转换和自动类型转换
    其中自动类型转化发生在数据取值范围由小到大时

    Byte x = 20
    这里右边的数值默认为int类型,而在左边类型为Byte,所以在初始化变量x的时候发生了自动的类型转换

而强制转换发生在类型取值范围由大到小时


Int x= 3000000000L
右边类型数值由于大于了Int类型,所以需要强制由long类型转换为int类型,这个时候由于int类型取值范围小于所需要转换的数值,发生了数据溢出,然而数据溢出似乎是在二进制层面舍去某几位而溢出的,这里不太了解。
同理在强制转换浮点数为整数的时候则会发生精度损失,会把小数点后面的位数全部舍去。

  1. 初步了解了面向对象编程
    这里又要引用《Head First Java》
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

本书又用一个有趣简短的例子(好搞笑)让我了解到
面向对象似乎是从程序设计对象的角度确定主体对象(当然不一定只有一个),再根据主体对象创建不同的类分别实现功能。
而面向对象的思维似乎是从全局观念审视整个程序需要功能而确定的一个过程,。缺点是面对需求的改变(当然它不可能不改变…)时有可能需要再次面对整个过程修改和维护。
当然这部分的内容我还没有看完,理解可能还不全面且有偏差。未完待续…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值