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 | 1 | Byte | -128 ~ 127 |
short | 2 | Short | -32768 ~ 32767 |
int | 4 | Integer | -2147483648 ~ 2147483647 |
long | 8 | Long | -9223372036854775808 ~ 9223372036854775807 |
float | 4 | Float | 最大为 |
double | 8 | Double | 最大为 |
char | 2 | Character | 除开标准ASCII外,还可表示Unicode字符 |
boolean | 视情况,一般为4字节 | Boolean | 只有false和true |
long
类型的结尾需要加L
;float
类型的结尾需要加f
;final
修饰符,则变成了常量,常量一旦被初始化,则不能再次被赋值;var
来省略变量类型,然后编译器会自动推断出变量类型;{}
括起来,此时在语句块中的变量有一个作用域,即从定义开始,到语句块结束,不得超出作用域引用范围;第一级 | () |
---|---|
第二级 | !、~、++、-- |
第三级 | *、/、% |
第四级 | +、- |
第五级 | <<、>>、>>> |
第六级 | & |
第七级 | | |
第八级 | +=、-=、*=、/= |
/**
* 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)
字符\
使用+
来连接任意字符串和其他数据类型,方便了字符串的处理;
字符串用"""..."""
来表示多行字符串,举例:
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}
;