Java基础语法
变量详解
数据在计算机中的存储原理
所有数据,不论是文本、还是音视频、图片,最终都是转成二进制存储到计算机中的
十进制转换成二进制
除二取余法
二进制转十进制
01100001 -> 1 * 2^0 + 1 * 2^5 + 1 * 2^6 = 97
八进制
为了便于观察和表示二进制,推出了八进制和十六进制
01100001 -> 01 100 001 -> 141
十六进制
01100001 -> 0110 0001 -> 61
数据单位
数据在计算机中的最小储存单元:字节 byte,记作B
1B = 8b 1KB = 1024B 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB
数据类型
-
基本数据类型
-
byte,占1个字节,表示的范围:-128-127
-
short,占2个字节
-
int,占4个字节,是整型的默认类型
-
long,占8个字节
-
float,占4个字节
-
double,占8个字节,是浮点型的默认类型
-
char,占2个字节,表示的数据范围:0-65535
-
boolean,占1个字节,只有2个值,true和false
-
-
引用数据类型
-
先简单了解一下,以String为代表
-
随便写一个整数字面量,默认是int类型,如果要当成long类型,加一个L/l
随便写一个小数字面量,默认是double类型,如果要当成float类型,加一个F/f
类型转换
自动类型转换
小范围的的数据可以直接赋值给大范围的变量
byte -> short -> int -> long -> float -> double char -> int
表达式中的自动类型提升
表达式的最终结果类型由表达式的最高类型决定,所以在表达式中,小范围的变量会自动提升为大范围的类型参与运算
byte/short/char -> int -> long -> float -> double
byte/short/char是直接转换成int参与运算的
强制类型转换
大范围的数据如果要赋值给小范围的变量,需要强转
数据类型 变量2 = (数据类型)变量1;
强制类型转换可能会造成数据精度的损失
小数强转成整数,是直接丢掉小数部分,保留整数部分返回
运算符
基本算数运算符
+ - * / %
+ 符号可以做连接符
和字符串运算的时候可以做连接符,能算就算,不能算就在一起
自增自减运算符
++ --
单独使用,放在变量前后没有区别
不能操作字面量,只能操作变量
不是单独使用,放在变量前后有明显区别:
-
如果++ --放在变量前,是先自增、自减,再运算
-
如果++ --放在变量后,是先拿变量里的值做运算,再自增自减
赋值运算符
= += -= *= /= %=
扩展赋值运算符自带了强制类型转换
a += b等价于 a = (a的类型)(a + b)
关系运算符
> >= < <= == !=
最终结果是true/false
逻辑运算符
&:逻辑与,两边都是true,结果才是true |:逻辑或,只要一边为true,结果就是true !:逻辑非,取反 ^:逻辑异或,相异为真 &&:短路逻辑与,左边为false,右边不执行 ||:短路逻辑或,左边为true,右边不执行
三元运算符
条件表达式 ? 值1 : 值2;
运算符的优先级
()的优先级最高 && 的优先级高于 ||
键盘录入技术
Scanner sc = new Scanner(System.in); System.out.println("输入姓名"); String name = sc.next(); // 从键盘接收一个字符串 int age = sc.nextInt(); double score = sc.nextDouble();