Java 程序基础
变量
Java 中变量分为基本类型和引用类型,都必须先定义后使用,同时可以赋一个初值,主要有如下特点:
- 可以重新赋值;
- 给其他变量赋值;
/**
* Created with IntelliJ IDEA.
* Version : 1.0
* Author : cunyu
* Email : cunyu1024@foxmail.com
* Website : https://cunyu1943.github.io
* Date : 2019-11-9 15:07
* Project : JavaLeaning
* Package : PACKAGE_NAME
* Class : Varia
* Desc :
*/
public class Varia {
public static void main(String[] args) {
// 定义变量,并赋予初值,int型
int numInt = 1024;
int num2Int;
// 打印变量的值
System.out.println("numInt = " + numInt);
// 重新赋值并打印
numInt = 2048;
System.out.println("numInt = " + numInt);
// 给其他变量赋值并打印
num2Int = numInt;
System.out.println("num2Int = " + num2Int);
// byte
byte numByte = 1;
// long
long numLong = 10000l;
// float
float numFloat = 3.14f;
// double
double numDouble = 3.4e10;
// boolean
boolean judgeBoolean = true;
// char
char characterChar = 'k';
// 分别打印各类型变量和所占字节数
System.out.println("byte:" + numByte + ", 字节数:" + Byte.SIZE / 8);
System.out.println("int:" + numInt + ", 字节数:" + Integer.SIZE / 8);
System.out.println("long:" + numLong + ", 字节数:" + Long.SIZE / 8);
System.out.println("char:" + characterChar + ", 字节数:" + Character.SIZE / 8);
System.out.println("float:" + numFloat + ", 字节数:" + Float.SIZE / 8);
System.out.println("double:" + numDouble + ", 字节数:" + Double.SIZE / 8);
}
}
基本数据类型
- 整形:byte、short、int、long;
- 浮点型:float、double;
- 字符类型:char;
- 布尔类型:boolean;
基本数据类型占用的字节数
注意
long
类型的结尾需要加L
;float
类型的结尾需要加f
;- 在定义变量时,加上
final
修饰符,则变成了常量,常量一旦被初始化,则不能再次被赋值; - 使用
var
来省略变量类型,然后编译器会自动推断出变量类型;
变量作用范围
- Java 中,多行语句用
{}
括起来,此时在语句块中的变量有一个作用域,即从定义开始,到语句块结束,不得超出作用域引用范围;
引用类型
- 类
- 接口
- 数组
- 枚举
- 标注
各数据类型间的运算
整数运算
- 运算符优先级
- 相关实例
/**
* Created with IntelliJ IDEA.
* Version : 1.0
* Author : cunyu
* Email : cunyu1024@foxmail.com
* Website : https://cunyu1943.github.io
* Date : 2019-11-10 11:29
* Project : JavaLeaning
* Package : PACKAGE_NAME
* Class : Operation
* Desc : 数据类型间的运算
*/
public class Operation {
public static void main(String[] args) {
/**
* 整数运算
* +:加法
* -:减法
* *:乘法
* /:除法
* %:求余
* ++:自增
* --:自减
* <<:左移
* >>:右移
*/
int numInt = 100 + 200 * 3 - 300 / 4 + 100 % 23;
System.out.println("整数运算:" + numInt);
System.out.println("自增/自减运算:");
// 自增
++numInt;
numInt++;
System.out.println(numInt);
numInt++;
++numInt;
System.out.println(numInt);
// 自减
numInt--;
--numInt;
System.out.println(numInt);
--numInt;
numInt--;
System.out.println(numInt);
System.out.println("移位运算:");
// 右移
numInt = numInt >> 4;
System.out.println(numInt);
// 左移
numInt = numInt << 2;
System.out.println(numInt);
// 位运算
System.out.println("位运算:");
int num2Int;
num2Int = 0 & 1;
System.out.println(num2Int);
num2Int = 1 | 2;
System.out.println(num2Int);
num2Int = 3 ^ 2;
System.out.println(num2Int);
num2Int = ~3;
System.out.println(num2Int);
}
}
布尔运算
- 关系运算符优先级
- 短路运算
当一个布尔运算的表达式能够提前确定结果,则后续计算不再执行,直接返回结果;
- 三元运算符
a?x:y
,根据布尔表达式的结果,然后返回后续两个表达式之一的计算结果;
int n = 10;
int x = n >= 0 ? -n : n;
System.out.println(x)
字符串运算
- 常见转义字符
表达式含义字符
n
换行符t
Tabr
回车符u####
一个 Unicode 编码字符
- 字符串连接
使用+
来连接任意字符串和其他数据类型,方便了字符串的处理;
- 多行字符串
字符串用"""..."""
来表示多行字符串,举例:
String str = """
SELECT * FROM user
WHERE id < 10
ORDER BY score DESC
""";
- 不可变性
Java 中字符属于引用类型,不可以改变,平常我们使用时表面看似变了,但实际上边的不是字符串,而是字符串变量的指向变了;
- 空值
null
和空字符串""
;
空值null
表示不存在,即该变量不指向任何对象;
数组
- 定义某一类型的数组时,使用
数据类型[] 数组名
,如int[] arrInt = new int[10]
- 数组所有元素初始化为默认值,整型为
0
,浮点型为0.0
,布尔型为false
; - 数组是统一数据类型的集合,一旦创建之后,其大小就不可以再改变;
- 可以在定义时直接初始化,如
int[] arrInt = new int[] {1,3,5,7,9}
或者int[] arrInt = {1,3,5,7,9}
;