1.类和对象
类是 Java 中最基础的组成单元.
面向过程编程:通过一个函数去完成一件事情,而且这件事情完成之后,不会留下任何的遗产。或者理解为:一次性。
面向对象编程:在完成一件事情时,会将事情中的实体对象抽象出来,形成「类」的概念,事情的完成是通过类的对象之间发生关系去实现的。
类是一群对象的特征母版,对象是类的实现。
特征(类)包含的内容有:基本属性(属性)、行为(方法)
2.数据类型
基本数据类型
数值型
整数型:byte(-128-127)、short(15次方)、int(31次方)、long(63次方)
浮点型:float(38次方)、double(308次方)
在实际开发中,我们一般使用 int、double 字符型
char:用单引号表示,Java 中使用16位的 Unicode 字符集作为编码方式,
表示方式
直接通过单个字符表示:‘a’、‘9’ 等;
通过转义字符表示:’\t’、’\n’、’、r’、’’;
直接使用 unicode 表示:’\uxxxx’。
在 Java 中是没有表现多个字符的基本数据类型的,但是在 Java 中提供了一个 String 类,去表现字符串。
布尔型
boolean:表示逻辑中的真和假,值只有 true / false。
3.变量
在 JS 中,通过 var i = 10; i = “abc”; 使用变量,因为没有在声明变量的时候给于数据类型的强制定义,可以给变量赋予任意类型的值。我们把 JavaScript 称为弱类型编程语言。
Java 在声明编程时候,必须准确定义变量的数据类型。
变量声明的语法:
数据类型 变量名;
例如:int a;
变量赋值的语法:
变量名 = 值;
例如:a = 10;
两者可以写在一起:
数据类型 变量名 = 值;
例如:int a = 10;
变量的生命周期
变量的生命周期在 {} 定义的范围内。
4.直接量
直接量是指在程序中直接通过源代码的方式指定的值,有时也成为字面量。
在编译的时候,JVM 就定义到常量池中。
比如 int a = 5; 这里的 5 就是一个直接量。
在 Java 中可以定义的直接量包含:基本数据类型、字符串类型、null。
关于 String 类的特殊说明
String 类是一个不可改变类,意思就是在String 对象被创建出来后就不能被改变了。当程序第一次使用某个字符串直接量时,Java 会使用常量池来缓存该字符串直接量。如果后面程序用到了这个字符串直接量,Java 会直接引用常量池字符串。
在常量池中不会存在两个一样的字符串字面量值。
5.运算符
算术运算符
-
- * / % ++ –
- 运算符除了进行数学运算的加法之外,还可以做字符串的拼接。
++ 自增
– 自减
实例:
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。
< <= >= == !=
左右两边的操作数只能是数值
逻辑运算符
运算符两边必须是 boolean 类型的变量、常量、表达式
与 && 或者 || 非 !
与:只要有一个假就是假
或者:只要有一个真就是真
三目运算符
expression ? if-true-statement : if-false-statement
实例:
int age = 16;
String ageStr = age > 18 ? “成年” : “未成年”;
System.out.println(ageStr); // 未成年
结合性和优先级
应该尽量在比较复杂的表达式中使用圆括号,明确的标注计算的优先级。
6.流程控制
流程控制
顺序结构
判断(分支选择)结构
循环结构
顺序结构
程序是一个自上而下运行的过程。
分支选择结构
Java 中的分支选择结构有 if 结构、switch 结构