--------------------------------------------------------------------------------------------------------------------------------
在线进制转化的工具: https://tool.lu/hexconvert/
--------------------------------------------------------------字节和进制----------------------------------------------------
位 bit
最小值 0
最大值 1
表示的数的范围 0-1(2^0-1)
字节 1byte=8bit
最小值 00000000
最大值 11111111
表示的数的范围 0-255(2^8-1)
字节 byte表示的数的范围
无符号数:0-255(2^8-1) 256个数
有符号数:-128(-2^7)--127(2^7-1) 还是256个数
字符表示的数的范围
无符号数 0-65535(2^16-1) 65536个数
有符号数 -32768(-2^15)-----32767(2^15-1) 还是65536个数
二进制转十进制采用“权相加法”。
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。
-----------------------------------------------------------数据类型----------------------------------------------------------
基本数据类型
数值型:byte 1(-127~128)、short 2(-2^15~2^15-1)、int 4、long 8(数字后面加L);
(八进制0开头、十六进制0X开头、二进制0B开头)
字符型:char 2
浮点型:double 4(小数点后7位,最后加F)、float 8(小数点后16位,最后加D,可省略)|BigDecimal类可表示更多精度。
注意:浮点数不要做恒等于比较,因为它是离散的。
布尔型:boolear 4
引用数据类型(引用数据类型的大小统一为4个字节,记录的是其引用对象的地址!)
类:class
接口:interface
数组:array
------------------------------------------------------------基本数据类型转换---------------------------------------------
自动类型转换:
1.容量小的数据类型可以自动转换成容量的大的数据类型;
2.char类型转为int类型,得到的知识ASCLL码;
强制类型转换:
1.强转格式:(type)var;
2.容量大的数据类型转换为容量小的数据类型可能造成精度的丢失;
------------------------------------------------------------转义符------------------------------------------------------------
转义符 含义 Unicode值
\b 退格(backspace) \u0008
\n 换行 \u000a
\r 回车 \u000d
\t 制表符(tab) \u0009
\“ 双引号 \u0022
\‘ 单引号 \u0027
\\ 反斜杠 \u005c
---------------------------------------------------------------运算符---------------------------------------------------------
算术运算符 二元运算符 +,-,*,/,%
一元运算符 ++,--
赋值运算符 =
扩展运算符 +=,-=,*=,/=
关系运算符 >,<,>=,<=,==,!= instanceof
逻辑运算符 &&,||,!,^,&,|
&:逻辑与;两个操作数都为true,结果才为true.
|:逻辑或;有一个为true,结果就为true。
&&:短路与;一个为false,结果为false。与逻辑与结果一样,只要有false就结束计算。
||:短路或;有一个为true,结果就为true。与逻辑或结果一样,只要有true就结束计算。
^:异或;相同为false,不同为true。
条件运算符 ? : 例:a>b?a:b
字符串连接符 + 字符串连接什么都是字符串;“10”+10+10+10=10101010
---------------------------------------------------------------运算规则------------------------------------------------------
整数运算:
1.整数做除法运算,没有小数位。
2.如果两个操作数有一个为long, 则结果也为long。
3.没有long时,结果为int。即使操作数全为short,byte,结果也是int。
浮点运算:
如果两个操作数有一个为double,则结果为double。
只有两个操作数都是float,则结果才为float。
取模运算:
其操作数可以为浮点数,一般使用整数,结果是“余数”,“余数”符号和左边操作数相同,
如:7%3=1,-7%3=-1,7%-3=1。
自增自减
算术运算符中++(自增),--(自减)属于一元运算符,该类运算符只需要一个操作数。
i++;和++i;
如果是一条单独的语句,没有差别,都是自增1;
如果不是一条单独的语句(语句的一部分)有差别,若m=20
int n = 6 +( m++); 先运算符再+1;n=26,m=21;
int n = 6 + (++m); 先+1再运算; n=27,m=21;
先算乘除,再算加减。算术运算符的优先级别是不同的:
++ -- 大于 * / % 大于 + -
可以使用小括号改变运算顺序
---------------------------------------------------------------标识符---------------------------------------------------------
标识符:
字母、数字、下划线、美元符的任意组合,但不能用数字开头。
规则:
1.包名:全部小写;
2.类名:每一个单词首字母大写;
3.变量:首字母小写,如果多个单词,第二个首字母大写;studentAge
常量:final修饰的变量就是常量。
---------------------------------------------------------------扫描器---------------------------------------------------------
声明一个扫描器对象:
Scanner scanner=new Scanner(System.in);
接收用户输入的值:
scanner.next(); String类型
scanner.nextInt(); int类型