java学习(一)-基本概念

一、基本概念
1、编译器、JVM与解释器
  • Java编译器:将Java源文件(.java文件)编译成字节码文件(.class文件,是特殊的二进制文件,二进制字节码文件),这种字节码就是JVM的“机器语言”。javac.exe可以简单看成是Java编译器。
  • JVM:JVM有自己完善的硬件架构,如处理器、堆栈(Stack)、寄存器等,还具有相应的指令系统(字节码就是一种指令格式)。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需要生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM是Java平台无关的基础。JVM负责运行字节码:JVM把每一条要执行的字节码交给解释器,翻译成对应的机器码,然后由解释器执行。JVM解释执行字节码文件就是JVM操作Java解释器进行解释执行字节码文件的过程
  • Java解释器:是JVM的一部分。Java解释器用来解释执行Java编译器编译后的程序。java.exe可以简单看成是Java解释器。
2、对象村
  • :是用例创建对象的模型
  • 对象:是已知的事物、会执行动作。对象创建会被放在堆的内存区域中(此堆是可垃圾回收的堆,java可主动帮你管理内存,或者监控到该对象不被引用,则标记为可回收;当内存不足,垃圾收集器就是启动收集被标记的内容,释放内存)
  • 实例变量:对象本身已知的事物,声明在类中,永远都会有默认值(integer=0,float=0.0,boolean=false,reference=null)
  • 方法:对象可以执行的动作
  • 局部变量:声明在方法中的变量,声明在方法中,无默认初始值,使用前必须初始化,不初始化,编译的时候会报错。
  • 全局变量:任何变量只要加上public、static、final修饰符的变量,可被当做全局变量取用的常数**(其实在java面向对象概念中是没有全局变量的,但实际上会有需要方法和常量被任何的程序中存储,比如Random()、pi等,但这两个也是基于Math类中的变量和方法。)**
3、main()的两种用途
  • 写法:psvm(public static void main(String args[]){})
  • 用途:测试真正的类;启动java应用程序。(一般来说main里面的语句)
二、认识变量和对象
1、变量的类型:
  • primitive主数据类型:其变量值就是所代表的值,如整型、布尔型、浮点型等
  • 引用变量类型:引用对象的变量,其变量指的是取得特定对象的方法。事实上没有对象变量这样的东西,只有引用到对象的变量,有点类似对象的指针/地址,我们并不知道引用变量中实际中装载的是什么,大概是存取对象的方法,而且只有java虚拟机知道如何引用取得该对象。(没有引用到任何对象的引用变量的值为null值)
  • 规则:必须有type类型(java是类型安全,在编译期间进行检查);必须要有名字
2、对象的新建分为三步:
  • 声明一个引用变量
  • 创建对象
  • 连接对象的引用(当没有连接的时候,引用变量的值为null)
3、对象的行为
  • 对象有状态和行为两种属性。状态影响行为,行为影响状态。
  • 方法会运用形参,调用的一方会传入实参。传递给方法的参数必须符合声明时候的数量、顺序和类型(参数的传递按照顺序,若类型不符会报错)。方法的参数也属于一种局部变量
  • 方法都需要声明返回类型,而且是单一的返回值,当需要多个的时候,可以声明数组的返回类型;没有返回值的时候声明void。
4、参数的传递
  • java是通过值传递的,也就是通过拷贝传递的。在方法内部改变传过来的值,不会影响之前的值。当传递的是引用变量的时候,实际也是传入的远程控制的拷贝
5、变量的比较
  • == :对于primitive类型的变量来说,使用==比较的是存储在内存中的具体数值是否相等;对于引用变量来说,比较的是是否引用指向同一个变量。
  • equal:比较的是引用变量指向的对象,是否相等。
6、装箱和拆箱

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值