变量
定义:计算机根据所需要存储的数据类型,在内存中开辟一块用于存储数据的空间地址。
变量的组成:变量名
java对于变量名的命名规则:
-
由字母、数字、下划线、$组成
-
不能由数字开头
-
不能使用java关键字
-
变量名中不能使用空格
变量值
变量类型(数据类型)
1.基本数据类型(四类八种)
byte | 字节型 | 内存中占1个字节 | |
---|---|---|---|
short | 短整型 | 内存中占2个字节 | |
int | 整型 | 内存中占4个字节 | |
long | 长整型 | 内存中占8个字节 | |
float | 单精度浮点型 | 内存中占4个字节 | |
double | 双精度浮点型 | 内存中占8个字节 | |
char | 字符型 | 内存中占2个字节 | |
boolean | 布尔型 | 内存中占1个字节 |
2.引用数据类型
String
变量的声明和使用
变量的定义方式:
1.先定义再赋值
2.定义并赋值
public class text01 {
public static void main(String[] args) {
//先定义再赋值
// int num;
// num=1;
// System.out.println(num);
//
//定义并赋值
int num=1;
System.out.println(num);
}
}
双精度和单精度怎么区分:
数字后面加f,如1.2f,3.4f就是单精度浮点型(float),
直接写数字如1.2,3.4是双精度浮点型(double),
使用double声明的变量和常数是双精度浮点型
使用float声明的变量和常数是单精度浮点型。
Scanner关键字
使用scanner分为三步:
1.使用import导入java.util.Scanner.
2.初始化Scanner被变量input
3.使用Scaanner的next(),nextInt()等一系列的值。
scanner类型的值有 next(); nextLine(); nextByte(); nextShort(); nextInt(); nextLong();
nextBoolean(); nextFloat(); nextDouble();
注意
scanner不接受char类型的值,用String类型代替。
java获取数据类型的大小范围;
byte byteMax=Byte.MAX_VALUE;
byte byteMin=Byte.MIN_VALUE;
System.out.println("byte最大"+byteMax);
System.out.println("byte最小"+byteMin);
System.out.println("-------------------------");
short smax=Short.MAX_VALUE;
short smin=Short.MIN_VALUE;
System.out.println("short最大"+smax);
System.out.println("short最小"+smin);
System.out.println("-------------------------");
int imax=Integer.MAX_VALUE;
int imin=Integer.MIN_VALUE;
System.out.println("int最大"+imax);
System.out.println("int最小"+imin);
System.out.println("-------------------------");
long lmax=Long.MAX_VALUE;
long lmin=Long.MIN_VALUE;
System.out.println("long最大"+lmax);
System.out.println("long最小"+lmin);
System.out.println("-------------------------");
float fmax=Float.MAX_VALUE;
float fmin=Float.MIN_VALUE;
System.out.println("float最大"+fmax);
System.out.println("float最小"+fmin);
System.out.println("-------------------------");
double dmax=Double.MAX_VALUE;
double dmin=Double.MIN_VALUE;
System.out.println("double最大"+dmax);
System.out.println("double最小"+dmin);
System.out.println("-------------------------");
数据类型转换
1.自动类型转换
数据范围小的转换为数据类型大的 可以自动转换。
byte b=20;
int i=b;
2.强制类型转换
数据范围大的转化为数据范围小的
int a=40;
byte b=(byte)a;
int a=129;
byte b=(byte)a;
byte的范围是-127~128,129不在byte的范围内,强转可能会出错。
运算符
1.赋值运算符 =
2.基本算数运算符 + 、-、*、/、%、++、--
-
符合算数运算符 +=、-=、*=、/=、%=
-
关系运算符 == 、!=、>、<、>=、<=
-
逻辑运算符:&&、||、!
-
三元运算符:
条件?表达是1:表达式2
int score;
score>60?"及格":"不及格"
i++和++i;
i++的运算规则。
1.取出此时变量i的值。
2.将此时的变量i的值赋给整个表达式i++;
3.将变量i的值自身+1;
++i的运算规则
1.取出此时变量i的值。
2.将变量i的值自身+1;
3.将此时的变量i的值赋给整个表达式i++;
位运算
<< 左移(左移相当于把数字*2)
右移(相当于把数字/2)
2<<3相当于2x2x2x2=16
16右移3相当于16/2/2/2=2