JAVA基础知识

  • Java 是SUN(Stanford University Network,斯坦福大学网络公司)1995年推出的一门面向 Internet 的高级编程语言。

  • Java 虚拟机(JVM:Java Virtual Machine)

  • JRE(Java Runtime Environment):Java 运行环境

    (包括 JVM 和 Java 程序所需的核心类库等,给用户使用的)

    JDK(Java Development Kit)Java开发工具包(包括JRE,给Java开发人员使用的)

  • 使用 set 设置临时环境变量

    set Path=xxx
  • 在写简单的 HelloWorld 程序的时候,可以使得 java 文件名与类名不一致,最后得到的字节码文件的文件名是和类名相同的;当包含 main 函数的类有 public 的时候,必须使得java文件名和类名一致,规定的

  • 注意区别 set classpath=c:\ 与 set classpath=c:; 的区别(分号的有无),不加分号只在当前目录找,加了分号先到当前目录找。所以以后不要加分号为好。

  • 注意 path 和 classpath 查找先后的区别:

    path是先到当前目录查找,没找到,再到path环境查找;

    classpath 是先到 classpath 环境查找,没找到,再到当前目录查找(前提加了分号)

  • 文档说明书:对于文档注释,是java特有的注释,其中注释内容可以被JDK提供的工具 javadoc.exe 所解析,生成一套以网页文件形式体现的该程序的说明文档


配置 JAVA 开发环境

JAVA_HOME = D:\jdk1.8.0_144
PATH = .;%PATH%;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

JAVA 环境安装验证

java -version
javac -version

第一个 JAVA 程序

public class Demo
{
public static void main(String[] args)
{
System.out.println("Hello Java!");
}
}

标识符

  • 标识符的组成:数字,字母,下划线,美元符号

  • 开头不能使用数字。

  • 可以使用中文作为变量名(编辑代码的文本要为GBK格式,才能支持中文作为变量名)

JAVA中的名称规范

  • 包名:多单词组成时所有字母都小写(xxxyyyzzz)

  • 类名接口名:多单词组成时,所有的单词的首字母大写(XxxYyyZzz)

  • 变量名和函数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写(xxxYyyZzz)

  • 常量名:所有字母都大写,多单词时每个单词用下划线连接(XXX_YYY_ZZZ)


常量与变量

常量

  • JAVA中可以通过 final 关键字定义常量。例如:final int i = 0;

数据类型

  • 数据类型 = 基本数据类型 + 引用数据类型

  • 基本数据类型 = 整数型(byte,short,int,long) + 浮点型(float,double) + 字符型(char) + 布尔型(boolean)

  • 引用数据类型 = 类(class) + 接口(interface) + 数组([])

1、整数型

byte(-128 ~ 127)

short(-32768 ~ 32767)

int(-2147483648 ~ 2147483647)

Tips:

  • JAVA 中没有无符号整数型变量
  • 隐式类型转换(byte,short,char->int->long->float->double)
  • byte,short,char之间不会相互转换,它们三者之间在计算时首先转换成int类型,然后进行计算。
  • 容量大的数据类型转换成容量小的数据类型时,要加强制转换符,但是会造成精度降低或者溢出。
  • 有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那一种,然后再进行计算。

2、浮点型

  • JAVA 中 float 型浮点数加上后缀 f 或 F。
  • JAVA 中 double 型浮点数加上后缀 d 或 D。
  • JAVA 浮点数的默认类型是 double。
  • 将一个 float 类型的数,强制转换成 long 类型,会舍去小数部分,而不是四舍五入。

3、逻辑型和字符型

  • JAVA中的逻辑型又叫布尔型,是一种只能表示 true 和 false 两种值的类型。
  • JAVA中的字符型占用两个字节,能够表示 Unicode 字符(比如汉字)。
char c1 = 'c';
char c2 = '冯';

4、引用数据类型

  • JAVA 中的引用数据类型类似 C 语言中的指针类型;
  • JAVA 中的引用数据类型主要用于类 class 定义的复杂数据类型(不是基本的数据类型,在代码里面是不会高亮显示的,如String类型,是class定义的复杂数据类型。
  • JAVA 中引用数据类型变量和常量的定义方式与基本数据类型相同。
  • 引用数据类型包括:类class,接口interface,数组。

运算符

1、算术运算符

  • ++和-- 优先级最高
  • 乘,/,% 优先级其次
  • +和- 优先级最低
  • 括号可以改变优先级

Tips:

1、如果对负数取模,可以把模数的负号忽略,如 5%-2=1,但是被模数是负数就另当别论。

2、对于除号"/",它的整数除和小数除是由区别的:整数之间做除法时,只保留整数部分而舍弃小数部分;小数之间做除法时(不论除数是小数还是被除数是小数)结果都是浮点类型。

3、"+"号除了字符串相加功能之外,还能把非字符串转化为字符串。(System.out.println("5+5="+5+5); "+"运算符两侧的操作数只要有一个是字符串String类型,系统会自动将另一个操作数转换成字符串然后在进行连接。)

2、逻辑运算符

  • ! 运算优先级最高
  • && 运算优先级其次
  • || 运算优先级最低
  • 括号可以改变优先级

3、关系运算符

  • JAVA 中同类型的变量和常量都可以使用 == 和 != 来判断是否相等;
  • JAVA 中关系运算符的结果是个布尔值,而不是C语言中的1或0;
  • 关系运算符常和逻辑运算符一起使用。

4、位运算符

  • 位运算符是对整数进行二进制操作的运算符,返回的结果也是一个整数;
  • 位运算符有按位取反~,按位与&,按位或|和按位异或^;
  • 移位运算符是左移<<,右移>>,无符号右移>>>.

5、条件运算符