Java请你吃晚餐

Author Avatar
Ninefire 9月 12, 2018
  • 在其它设备中阅读本文章

JDK与JRE

JDK(Java Development Kit Java开发工具包)

  • JDK是提供给Java开发人员使用的,其中包含了Java的开发工具,也包括了JRE。所以安装了JDK,就不用再单独安装JRE了。
  • 其中的开发工具:
    • 编译工具(javac.exe)
    • 打包工具(jar.exe)
    • 反编译工具(javap.exe)
      · · · · · ·

JRE(Java Runtime Environment Java运行环境)

  • 包括Java虚拟机(JVM Java Virtual Machine)和Java程序所需的核心类库等,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。

简单而言,使用JDK的开发工具完成的Java程序,交给JRE去运行。


常识

  • 源文件以.java结尾
  • 源文件中可以有多个class声明的类
  • 类中可以有主方法(main()方法)
  • main()方法是程序的入口,方法内是程序的执行部分
  • 一个源文件中只能有一个声明为public的类,同时要求此类的类名与源文件的文件名一致
  • 每条语句以分号结尾
  • 执行程序:
    • 编译(javac.exe),生成.class字节码文件
      字节码文件的数量与源文件中class声明类的数量一致。
    • 运行(java.exe)
  • 多行注释不允许嵌套
  • 文档注释
    文档注释会被javadoc.exe解析。
/**
 *@author 指定Java程序的作者
 *@version 指定源文件的版本
 *@param 方法的参数说明信息
 */

关键字与保留字

关键字

  • 被Java语言赋予了特殊含义,有专门用途的字符串
  • 关键字中所有字母都为小写
    • 用于定义数据类型的关键字
      classinterfaceenumbyteshortintlongfloatdoublecharbooleanvoid
    • 用于定义数据类型的关键字
      truefalsenull
    • 用于定义流程控制的关键字
      ifelseswitchcasedefaultwhiledoforbreakcontinuereturn
    • 用于定义访问权限修饰符的关键字
      privateprotectedpublic
    • 用于定义类、函数、变量修饰符的关键字
      abstractfinalstaticsynchronized
    • 用于定义建立实例及引用实例、判断实例的关键字
      newthissuperinstanceof
    • 用于异常处理的关键字
      trycatchfinallythrow
    • 用于包的关键字
      packageimport
    • 其他修饰符关键字
      nativestrictfptransientvolatileassert

保留字

  • 现有Java版本尚未使用,但以后版本可能会作为关键字使用。命名标识符时要避免使用保留字
    byValuecastfuturegenericinneroperatorouterrestvargotoconst

标识符

  • Java对各种变量、方法和类等要素命名使使用的字符序列称为标识符
    凡是可以自己起名字的地方都叫标识符。
  • 定义合法标识符规则(小学生守则)
    • 由字母、数字、下划线或$组成
    • 不可以数字开头
    • 不可以直接使用关键字和保留字
      但能包含关键字和保留字
    • 区分大小写,长度无限制
    • 不能包含空格
  • 命名规范(小学生日常行为规范)
    • 包名
      多个单词组成时,所有字母都小写:xxxyyyzzz
    • 类名、接口名
      多个单词组成时,所有单词的首字母大写:XxxYyyZzz
    • 变量名、方法名
      多个单词组成时,除第一个单词外其他单词首字母大写:xxxYyyZzz
    • 常量名
      所有字母都大写,多个单词使用下划线连接:XXX_YYY_ZZZ

命名规则必须遵守,而命名规范是推荐遵守,但只有你使用了命名规范才知道是真的好。


变量

基本概念

  • 变量的概念
    • 内存中的一个存储区域
    • 该区域有自己的名称(变量名)和类型(数据类型)
    • 变量必须先声明后使用
    • 该区域的数据可以在同一类型范围内不断变化
  • 注意
    • 变量的作用域
      一对{ }之间有效
    • 初始化值
  • 定义变量的格式
    数据类型 变量名 = 初始化值; boolean flag = true;
  • 变量通过使用变量名来访问这块区域

补充

  • 在方法体外,类体内声明的变量称为成员变量
  • 在方法体内部声明的变量称为局部变量
  • 注意二者在初始化值方面的异同

    • 都有生命周期。

    • 局部变量除形参外,需显示初始化。

数据类型

  • 自动类型转换
    当容量小的数据类型与容量大的数据类型做运算时,容量小的会自动转换为容量大的数据类型。
    charbyteshort ==> int ==> long ==> float ==> double

注意:当charbyteshort之间做运算时,默认的结果为int类型。

  • 强制类型转换
    强制类型转换符( ),括号中填写需要强制转换的类型。

如发现错误请联系我,谢谢你。
本文链接:http://ninefire.tk/Java.basics/02.html