Java 学习 - Day01

诞生

        1995年发布第一个版本,2009年所属Sun公司被甲骨文收购

        Java之父 - 詹姆斯·高斯林

        长期支持的版本为Java 8和Java 11

技术体系

        Java SE:标准版,提供了完整的Java核心API

        Java EE:企业版,主要针对Web应用开发

        Java ME:小型版,加入了针对移动终端的支持

特性

  • 面向对象(OOP)
  • 健壮性:强类型、异常处理、GC
  • 跨平台性:对于不同的平台,具有不同的虚拟机,它屏蔽了底层运行平台之间的差别,实现“一次编译、多处运行”
  • 解释型:源码经过编译之后,交由解释器执行

JDK与JRE

        JDK = JRE + Java开发工具

        JRE = JVM + Java核心类库

如果只想运行编译之后的.class文件,只需要JRE即可

 JDK下载:Java 下载 |Oracle 中国

环境变量

        JAVA_HOME:JDK主目录

        path:%JAVA_HOME%\bin

环境变量的配置是为了在DOS的任意目录下都可以使用Java指令

单独配置JAVA_HOME是为了在JDK发生变更(版本或者安装目录)时不需要对path进行更改

执行流程

  1. 编写.java源程序
  2. 编译为.class字节码文件(可以被JVM识别) -> 对应javac指令
  3. 加载.class到JVM执行 -> 对应java指令

注意事项

  1. 源文件的基本组成部分是类,一个源文件中只能有一个public类,且源文件名称与public类名相同
  2. Java程序的执行入口为:public static void main(String[] args){...}
  3. Java是强类型语言,区分大小写

转义字符

  • \t:制表符
  • \n:换行符
  • \r:回车
  • \\、\"、\':对应\、"、'字符

注释

        注释就是对程序的说明性文字,良好的注释可以提高代码的可读性

        注释中的内容不会被JVM执行

  • 单行注释
  • 多行注释:多行注释不允许嵌套
  • 文档注释:可以被javadoc解析,生成网页形式的说明性文档。用于类和方法

常用javadoc标签:java 文档注释 -- javadoc 标签 - 快乐随行 - 博客园 (cnblogs.com)

代码规范

  • 注释着重描述为什么这么写、如何使用、需要注意什么问题等
  • 注意代码对齐,比如运算符和等号两侧添加空格
  • 代码行宽不宜过长,一般不超过80字符
  • 源文件最好使用utf-8编码格式
  • 代码编写时使用行尾风格或者次行风格

DOS指令

DOS:磁盘操作系统

  • dir:查看目录内容
  • tree:查看子目录
  • cd:进入目录
  • exit:退出
  • cls:清屏
  • md:创建目录
  • rd:删除目录
  • copy:拷贝文件
  • del:删除文件
  • echo:输入内容到文件
  • move:移动文件

运行流程:接受指令 -> 解析指令 -> 运行指令

路径

        相对路径:从当前目录开始定位

        绝对路径:从根目录开始定位

变量

        变量相当于内存中数据存储空间的表示,通过变量名可以访问到具体的变量值。

        变量三要素:变量名 + 变量值 + 数据类型

  • 不同类型的变量占用的内存空间不同
  • 每一个变量都包含变量名和数据类型
  • 变量使用前需要先声明
  • 在同一作用域内变量不能重名
  • 同一个变量的值只能在对应类型范围内变化

+号使用

  • 当+号左右两侧都是数值时,做加法运算
  • 当+号左右有一侧是字符串,做拼接运算

数据类型

        Java中的每一种数据都定义了明确的数据类型,不同类型的数据在内存中分配了不同大小的内存空间

  • 基本类型
    • 数值型
      • 整数:byte[1]、short[2]、int[4]、long[8]
      • 小数:float[4]double[8]
    • 字符型:char[2]
    • 布尔型:boolean[1]
  • 引用类型:类、接口、数组

Java中各数据类型具有固定的范围和长度,不受具体OS的影响,以保证Java程序的可移植性。

浮点数在机器中的存放形式:符号位 + 指数位(0可省略) + 尾数位(可能丢失,造成精度丢失),小数的值都只会是近似值。

两个小数(包含计算得到的结果)的相等匹配应该对差值绝对值是否在某个精度范围内实现。

与String类型的双引号类似,字符使用单引号,并且字符的本质就是整数,这意味着它可以进行计算,而最后输出的结果会是对应的Unicode字符。在Unicode字符集中,可以使用两个字节表示绝大多数字符,因此一个字符可以存储多数汉字。

布尔类型的值只有true和false两种,占用一个字节,通常用于逻辑运算。

文档

        通过使用Java API(程序编程接口),能够快速实现需求

        概述(Java SE 11 & JDK 11) (runoob.com)

编码

  •  ASCII:首位固定为0,只占用后7位,可以表示128个字符
  • Unicode:万国码,无论英文或是汉字都是用两个字节存储,可能出现存储空间的浪费。兼容ASCII
  • utf-8:Unicode的一种实现方式,是一种可变长的编码方式,字母占用一个字节,汉字占用三个字节
  • gbk:可以表示汉字,且范围广泛。与utf-8相比,汉字占用两个字节

类型转换

        Java程序在进行运算或者赋值时,会自动将精度小的类型转换为精度大的类型,这被称为自动类型转换

  • 混合运算会先将所有的数据转换为精度最大的类型,然后再进行运算
  • 大精度转小精度会报错(会出现精度丢失)
  • char和byte、short之间不会自动转换,但是可以进行计算,在计算时会先转换为int
  • boolean类型不参与转换

        在某些场景下我们需要将大精度类型强行转为小精度类型,此时就需要进行强制类型转换。具体来说就是在大精度类型前添加括号、以及要转换的类型

  • 强转符号只针对最近的操作数有效,因此常使用小括号提升优先级
  • byte和short在运算时会先提升为int

        除了基本类型的转换,我们可能也会遇到字符串与基本类型之间的转换

  • 基本类型转字符串,只需要+”“进行拼接运算即可
  • 字符串转基本类型则需要借助基本类型的包装类型,并调用其parseXX方法
  • 7
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值