JAVA基础知识点

什么是JAVA


Java可以理解为编程语言或者开发工具。

目的

Java 最终的目的是用于编写直接在机器上运行的程序。

与 HTML 运行与浏览器,SQL 运行与数据库系统对比,Java 能做的事情更多,更加的普遍。

JAVA的运行原理


JAVA基础知识点

配置JDK


1.8版本JDK下载地址
目录说明

├─bin 存放一系列的命令和工具
├─db
├─include
├─jre Java运行时环境
└─lib 核心类库

配置JDK


前提条件:需要包含完整 JDK 文件的文件夹。

1、 JAVA-HOME = d:\xx\xx\jdk1.8

2、在 Path 中追加目录%JAVA_HOME%\bin

3、CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

这样就完成了 JDK 的部署。

类和对象概念


类是一群对象的特征母版,对象是类的实现。

特征(类)包含的内容有:基本属性(属性)、行为(方法)

基础语言


注释

文档注释
/**
 * 相关的注释内容,甚至可以使用 HTML 标签
 * 
 */
单行注释
// 单行注释
多行注释
/*
 第一行注释
 第二行注释
*/
标识符和关键字

标识符的命名规范:

  • 只能包含数字、字母(大小写,Unicode字符)、下划线 _、美元符$
  • 不能以数字开头
  • demo1、demo-1、$demo、_demo、1demo
    分隔符:
  • 花括号 {}:定义代码块,逻辑上是一个整体,包括类的主体、方法体、静态代码块、条件和循环语句的执行体;
  • 分号 ;:语句的结束,如果出现在一行中有几条语句,那么多条之间也要用 ; 隔开;
  • 方括号[]:用于数组中;
  • 圆括号 () :在方法中声明形式参数,在调用方法的时候传入实际参数,表达式优先级定义;
  • 空格:单个空格、Tab 键、Enter 键,空格的出现是不会影响程序运行的,但是良好的缩进,可以提高程序的可读性;
  • 圆点 . :用于类/对象与其成员之间的分隔,表示调用类/对象的属性或者方法。

变量


在 JS 中,通过 var i = 10; i = “abc”; 使用变量,因为没有在声明变量的时候给于数据类型的强制定义,可以给变量赋予任意类型的值。我们把 JavaScript 称为弱类型编程语言。

Java 在声明编程时候,必须准确定义变量的数据类型。

变量声明的语法:

数据类型 变量名;

例如:int a;

变量赋值的语法:

变量名 = 值;

例如:a = 10;

两者可以写在一起:

数据类型 变量名 = 值;

例如:int a = 10;

变量的生命周期

先记住:变量的生命周期在 {} 定义的范围内。

直接量


直接量是指在程序中直接通过源代码的方式指定的值,有时也成为字面量。

在编译的时候,JVM 就定义到常量池中。

比如 int a = 5; 这里的 5 就是一个直接量。

在 Java 中可以定义的直接量包含:基本数据类型、字符串类型、null。

运算符

算术运算符

+ - * / % ++ --

+运算符除了进行数学运算的加法之外,还可以做字符串的拼接。
++ 自增
– 自减

实例:

int m = 10;
System.out.println(m++); // 10
System.out.println(m); // 11
System.out.println(++m); // 12
System.out.println(-m); // -12

赋值运算符

= += -= \= *= %=

实例

m += 1; // m = m + 1
System.out.println(m); // 13
m -= 1; // m = m - 1
System.out.println(m); // 12

比较运算符
用于判断两个变量或者常量的大小,返回结果为 true/false。

>< <= >= == !=

左右两边的操作数只能是数值

三目运算符
expression ? if-true-statement : if-false-statement

实例:

int age = 16;
String ageStr = age > 18 ? "成年" : "未成年";
System.out.println(ageStr); // 未成年

流程控制


分支选择结构
Java 中的分支选择结构有 if 结构、switch 结构

if 结构
具备三种类型的结构表现形式

形式一:

if (logic expression) {
    statement;
}
int age = 20;
if (age > 18) {
    String name = "Tom";
    System.out.println("我叫" + name + ",已经" + age + "岁了,我成年了!");
}

形式二:

if (logic expression) {
    statement;
} else {
    statement;
}
int age = 16;
if (age > 18) {
    String name = "Tom";
    System.out.println("我叫" + name + ",已经" + age + "岁了,我成年了!");
} else {
    System.out.println("我还未成年!");
}

形式三:

if (logic expression) {
    statement;
} else if (logic expression) {
    statement;
} else {
    statement;
}
if (age >= 0 && age <= 10) {
    System.out.println("少年");
} else if (age <= 18) {
    System.out.println("青少年");
} else if (age <= 30) {
    System.out.println("青年");
} else if (age <= 50) {
    System.out.println("中年");
} else {
    System.out.println("老年");
}

switch 结构
swtich 语句是有控制表达式和多个 case 标签块组成。在控制表达式中,只允许出现 byte、short、int、char四种基础数据类型,在JDK1.7以后,支持 String 类型的控制表达式。

switch (expression) {
    case condition1 : {
        statement;
        break;
    }
    case condition2 : {
        statement;
        break;
    }
    default : {
        statement;
        break;
    }

}
String color = "red";
switch (color) {
case "red": {
    System.out.println("红色");
    break;
}
case "blue": {
    System.out.println("蓝色");
    break;
}
case "green": {
    System.out.println("绿色");
    break;
}
default: {
    System.out.println("没有找到");
    break;
}
}

在 case 中要加入 break 关键字跳出;
在实际的开发中,我们一般使用 if - else 结构替代 switch。swtich 结构应用的较少。

循环

循环语句可以在满足循环条件的情况下,反复执行某一段代码。

被重复执行的代码叫做循环体。

循环语句可能包含的部分有:

  • 初始化语句(init_statement):一条或多条语句,这些语句用于完成一些初始化的工作。
  • 循环条件(test_expression):是一个 boolean 类型的表达式,这个表达式决定是否继续执行循环体。
  • 循环体(body_statement):如果条件允许,循环体会被反复执行。
  • 迭代语句(iteration_statement):在一次循环体执行结束后,对循环体条件进行求值,通常用于控制循环条件中的变量,使得循环在合适的时候结束。

while 结构

(init_statement);
while (test_expression) {
    body_statement;
    [iteration_statement];
}
int sum = 0;
int i = 1;

while (i <= 10) {
    sum = sum + i;
    i++;
}

System.out.println(sum); // 55

do-while 结构

(init_statement);
do {
    body_statement;
    [iteration_statement];
} while (test_expression)

无论如何都会执行一次循环体内容

int i = 1;
int sum = 0;

do {
    sum += i++;
//    sum = sum + i;
//    i = i + 1;
} while (i <= 10);

System.out.println(sum); // 11

for 循环

语法:

for ([init_statement]; test_expression; [iteration_statement]) {
    body_statement;
}

实例

int sum = 0;
for (int i = 1; i <= 28; i++) {
    sum = sum + i;
}
System.out.println(sum);

在实际的开发中,对于已知循环次数的遍历,一般使用 for 循环。而且 for 循环的应用场景要比 while 循环多。

控制循环结构

break:在循环体中,使用 break 关键字跳出整个循环。

int flag = 6;
int sum = 0;
for (int i = 1; i <= 10; i++) {
    sum = sum + i;
    if (i == flag) {
        break;
    }
}
System.out.println(sum); // 21

continue:在循环体中,使用 continue 跳出本次循环,循环还会继续执行。

int sum = 0;
for (int i = 1; i <= 10; i++) {
    if (i % 2 == 0) {
        continue;
    }
    sum = sum + i;
}
System.out.println(sum); // 25