java入门

1、核心优势

跨平台

2、版本区别

  1. JAVA SE
    标准版,定位在个人计算机上的应用。
  2. JAVA EE
    企业版,定位在服务器端的应用。
  3. JAVA ME
    微型版,定位在消费性电子产品的应用上。

在这里插入图片描述

3、运行机制

Java首先利用文本编辑器编写 Java源程序,源文件的后缀名为.java;
再利用编译器(javac)将源程序编译成字节码文件,字节码文件的后缀名为.class;
最后利用虚拟机(解释器,java)解释执行。

在这里插入图片描述

4、JVM、JRE和JDK

  • JDK用于开发Java程序,JRE是Java运行环境; JVM是JRE的子集,JRE是JDK的子集。

JVM(Java Virtual Machine)
就是一个虚拟的用于执行bytecode字节码的”虚拟计算机”。
定义了指令集、寄存器集、结构栈、垃圾收集堆、内存区域。
JVM负责将Java字节码解释运行,边解释边运行

Java Runtime Environment (JRE)
包含:Java虚拟机、库函数、运行Java应用程序所必须的文件。

Java Development Kit (JDK)
包含:包含JRE,以及增加编译器和调试器等用于程序开发的文件。

三者关系如下

在这里插入图片描述

5、代码注意事项

  • 所有代码必须位于类里面。
  • main方法是Java应用程序的入口方法。

6、变量分类

  1. 局部变量(local variable)

    • 方法或语句块内部定义的变量。
    • 生命周期是从声明位置开始到到方法或语句块执行完毕为止。
    • 局部变量在使用前必须先声明、初始化(赋初值)再使用。
  2. 成员变量(也叫实例变量 member variable)

    • 方法外部、类的内部定义的变量。

    • 从属于对象,生命周期伴随对象始终。

    • 如果不自行初始化,它会自动初始化成该类型的默认初始值。

      实例变量的默认初始值如下

数据类型实始值
int0
double0.0
char‘\u0000’
booleanfalse
  1. 静态变量(类变量 static variable)
    • 使用static定义。
    • 从属于类,生命周期伴随类始终,从类加载到卸载。
    • 如果不自行初始化,与成员变量相同会自动初始化成该类型的默认初始值。

7、数据类型简介

在这里插入图片描述
注意:

  1. 整数
    1. 整型常数默认为int型,声明long型常量可以后加‘ l ’或‘ L ’
  2. 浮点数
    1. 默认是double类型
      float类型赋值时需要添加后缀F/f
    2. 浮点数存在舍入误差,数字不能精确表示。
      如果需要进行不产生舍入误差的精确数字计算,需要使用BigDecimal类
      //案例1
      float f = 0.1f;
      double d = 1.0/10;
      System.out.println(f==d);
      /*结果为false*/
      
      //案例2
      float d1 = 423432423f;
      float d2 = d1+1;
      if(d1==d2)
      	System.out.println("d1==d2");
      else
      	System.out.println("d1!=d2");
      /*输出结果为d1==d2*/
      
      由于字长有限,浮点数能够精确表示的数是有限的,因而也是离散的
      浮点数一般都存在舍入误差,很多数字无法精确表示(例如0.1),其结果只能是接近, 但不等于
      二进制浮点数不能精确的表示0.1、0.01、0.001这样10的负次幂
      并不是所有的小数都能可以精确的用二进制浮点数表示。
    3. 避免比较中使用浮点数,需要比较请使用BigDecimal类
  3. 引用类型
    1. 引用数据类型的大小统一为4个字节,记录的是其引用对象的地址

8、方法

  • 参数

    1. Java中进行方法调用中传递参数时,遵循值传递的原则(传递的都是数据的副本):
    2. 基本类型传递的是该数据值的copy值。
    3. 引用类型传递的是该对象引用的copy值,但指向的是同一个对象
  • 重载

    1. 方法的重载是指一个类中可以定义多个方法名相同,但参数不同的方法。 调用时,会根据不同的参数自动匹配对应的方法。
    2. 构成方法重载的条件
      • 不同的含义:形参类型、形参个数、形参顺序不同都可以构成方法的重载
      • 只有返回值不同不构成方法的重载
      • 只有形参的名称不同,不构成方法的重载

9、参数传值机制

  • 基本数据类型参数的传值
    传递的是值的副本。 副本改变不会影响原件。
  • 引用类型参数的传值
    传递的是值的副本。但是引用类型(类、接口、数组)指的是“对象的地址”。因此,副本和原参数都指向了同一个“地址”,改变“副本指向地址对象的值,也意味着原参数指向对象的值也发生了改变”。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值