本文是Java的入门学习篇,学习于廖雪峰的Java教程

1.Java介绍

最早由James golis开发,起初叫oak.

JDK:Java Development Kit

  • Java开发工具箱。
  • 包含了编译器,调试器,虚拟机等一系列开发工具。

JRE:Java Runtime Rnvironment

  • Java虚拟机。

  • 运行字节码文件,JRE是JDK的一部分。

    JSR:Java Specification request

  • Java规范要求。

  • 规范Java平台新增加的功能。

JCP:Java Community process

  • Java社区流程。
  • 审核JSR。

2.Java工具

java

  • 其实就是虚拟机,执行字节码文件。

javac

  • 全称Java Compiler,编译源文件为字节码文件。

jar

  • 把字节码文件打包为jar压缩文件。

javadoc

  • 生成注释文档。

jdb

  • 全称Java Debugger,Java 调试器,用于开发时进行代码调试。

3.Java基础

Java类名书写规范

  • 类名必须以英文字母开头,后接字母.数字或下划线。
  • 类名首字母习惯大写,此后后面的每个单词首字母都大写。

Java程序的入口方法

  • 静态的main方法,Java程序总是从main方法开始执行的。

方法名书写规范

  • 方法名必须以英文字母开头,后接字母,数字或下划线。
  • 方法名首字母习惯小写,此后后面的每个单词首字母大写。

Java的文档注释

  • 标识在方法和类名的定义处,用于自动创建文档。

Java变量

  • 分为基本类型变量和隐形类型变量。
  • 基本类型变量如未初始化,则默认值为0.
  • 引用类型变量如未初始化,则默认值为null.

Java基本数据类型

  • int

    • 占4个字节。
    • 范围:-2147483648-2147483647.
  • short

    • 占2个字节.
    • 范围:-32768-32767.
  • byte

    • 占1个字节.
    • 范围:-128-127.
  • long

    • 占8个字节.
    • 范围:-9223372036854775808 -9223372036854775807
  • double

    • 占8个字节.
  • float

    • 占4个字节.
  • char

    • 占2个字节.

java运算

  • 两个整数相除,结果忽略小数部分。

  • 按位运算是对4字节的8位二进制数进行左移或者右移。

  • 如果对负数进行按位右移,由于符号位为1不动,所以结果仍然是负数。

  • 无符号位移运算用>>>或<<<,表示符号位也会跟着变动。

  • 与运算

    • 两个数同时为1,结果才为1。
    • 与运算的常见用途:两个IP地址进行与运算,判断一个IP是否在给定的网段内。
  • 或运算

    • 其中一个数为1,结果才为1.
  • 非运算

    • 非0即1,非1即0.
  • 异或运算

    • 两个数不同,结果为1,否则为0.
  • 浮点数四舍五入转换为整数

    • 浮点数+0.5再进行转换。

Java字符的表示

  • 一是用单引号括起来的字符表示。

  • 二是用单引号括起来的转义字符表示。

  • 其中转义字符的表示:\u+四位十六进制数。

    Java字符串连接

  • 字符串变量可用+号连接其他字符串或者其他数据类型。

  • 如果用+号连接其他数据类型,则其他数据类型的会先自动转变为字符串。

  • Java表示多行字符串可用符号 ”‘ “’ 。

  • Java的不可变性指的是字符串内容不会变,只是指针指向了另一个字符串内容。

null值

  • 表示变量未指向任何对象。

Java数组

  • 是同一数据类型的集合。
  • 初始化时,如果是整数,默认值为0,如果是浮点数默认值为0.0,如果是布尔,默认值为false。

判断两个浮点数是否相同

  • 两个浮点数之差的绝对值是否小于0.00001.

Java特殊的三个数值

  • NaN Not a Number.
  • Infinity 无穷大。
  • -Infinity 负无穷大。

基本类型变量和引用型变量的值

  • 基本类型变量的值是数值。

  • 引用型变量的值为引用,相当于指针。

  • 比较方法:

    • 两个基本类型变量的比较用==。
    • 两个引用类型变量的比较用equals方法。

Java类型转换

  • 低等级类型向高等级类型转换是自动转换。
  • 高等级类型向低等级类型转换是强制转换。

java数组大小与引用

  • 数组大小不会变化,所谓变化只是指向了新的数组。
  • Java数组变量指向一个新数组后,原数组不会消失,只是无法通过引用访问。

for循环与for-each循环

  • for循环执行流程:先初始化计时器,再判断循环条件,最后再更新计时器。
  • for-each循环适用于数组.

conuite与break

  • continue结束本次循环。
  • break结束当前所在的一层循环。

数组相关

  • 打印数组变量时,输出的是数组首元素索引。

  • 数组的排序

    • 常见排序方法
    • Array.sort()方法,默认从小到大排序。
  • 二维数组的长度

    • 二维数组的元素是数组,所以二维数组的长度为数组元素个数。
    • 二位数组元素的长度不要求相同。
  • 数组元素的两种打印输出方法

    • for循环
    • Array.toString() 方法格式化输出
    • Array.deepToString()方法格式化输出,适用于多维数组。