1.变量:
变量是内存中临时存储数据的空间.
语法: 数据类型 变量名 = 变量值
例: int a = 10
注意事项
1.在定义时可以不赋值,但在使用时一定要赋值.不赋值不能使用
2.变量使用时有作用域的限制
3.变量不可以重复定义
位:计算机存储设备的最小信息单元
当程序需要使用存储空间时,操作系统内最少会分派给程序1个字节.
基本数据类型:
byte 字节型 1字节
short 短整型 2字节
int 整形 4字节
long 长整形 8字节
float 单精度浮点数 4字节
double 双精度浮点数 8字节
char 字符型 2字节
boolean 布尔型 1字节
Java中默认类型,整数类型是int,浮点类型时double;
2.数据类型转换
自动提升:将取值范围小的类型自动提升为取值范围大的类型.
强制转换:将取值范围大的类型强制转换为取值范围小的类型
格式: 数据类型 变量名 = (数据类型) 变量
ASCII编码表
计算机内部都是二进制的0/1数据,为了人们使用文字和计算机交流,产生了编码表.
编码表:就是人类的文字和一个十进制数字对应起来的一张表格.
字符 数值
0 48
a 97
A 65
public class demo{
public static void main (String[] args){
char c = 'a';
int i = 1;
System.out.println(c+i);//输出结果为98
}
}
上述代码中,字符a在ASCII编码表中对应的十进制数字是97,因此输出结果为98;
变量和常量
public Class Demo{
public static void main(String[] args){
byte b1 = 1;
byte b2 = 2;
byte b3 = 1 + 2;
byte b4 = b1 + b2;
System.out.println(b3);//编译成功,
System.out.println(b4);//编译不通过,
}
}
上述代码中,b3 是由两个常量1 和 2相加,编译器在编译时明确知道1+2的结果,并且在byte的取值范围内,
所以可以赋值给b3,编译成功;
b4 = b1+b2,b1,b2是变量,变量是变化的,编译器并不能他们的结果,因此将结果以int型进行处理,然后赋值
给byte类型,编译失败.
3.运算符
1.算术运算符
+ - * / %
加法运算符在运算时要注意与字符串相加会转成字符串,
例:System.out.println("中国"+2022);//输出:中国2022,
除法 整数整除 取商部分
取模 整数整除 取余数部分
小数取模没有意义
结果符号与被除数符号相同
整数使用上述运算符,不会得到小数
前加加/后加加 混合运算时,前加加先加1,在使用,后加加,先使用,在加1;前/后减减同理
public class Demo{
public static void main(String[] args){
int a = 10;
int b = a++;//这里先把a赋值给b,然后a加1;
System.out.println(a);//11
System.out.println(b); //10
int c = ++a;//a先自增1,然后赋值给c System.out.println(a);//11
System.out.println(c); //11
}
}
赋值运算符
= += -= *= /= %=
就是将符号右边的值赋给左边的变量.
比较运算符
== 相等于 != 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于
两个数据之间进行比较,运算结果都是布尔值true或false
逻辑运算符
用于布尔值运算,运算的最终结果为true或false
&& 双与 并且 有假则假
|| 双非 或者 有真则真
! 取反 真变假,假变真
上述又称为短路与,短路非,与 & , | 区别在于,在判断条件时,若第一个条件为假,短路与就不在判断第二个条件,结果为假;| 若判断第一个条件为假时,还会判断第二个条件,结果为假.
位运算符
结论:
左移: M<<N M*2的N次方
右移: M>>N M/2的N次方
三元运算符
条件表达式?表达式1:表达式2
如果条件表达式为真,则执行表达式1;
如果条件表达式为假,则执行表达式2;
Note:表达式一定会返回一个值,这个值一定要被使用.
public class Demo{
public static void main(String[] args){
int a = 10;
int b = 20;
int c = a > b ? a : b;
System.out.println(c);
String s = a > b ? "a最大":"b最大";
System.out.println(s);
a = 100;
String s1 = a % 2 == 0 ? "偶数":"奇数";
System.out.println(s1);
//判断a是偶数还是奇数,如果是偶数就比较a和b的大小,否则则返回a的值
int d = a % 2 == 0 ? (a > b ? a : b) : b;
System.out.println(d);
}
}