1.java中变量按照数据类型类分类:基本数据类型 and 引用数据类型(数组&类&接口)
>基本数据类型
整型:byte(8bit) short int(默认类型) long(数值末尾添加l/L)
浮点型:float double(默认类型)
字符型:char(' ',这里必须用单引号表示字符,js里面则没有具体要求)
布尔值型: boolean(取值为true或者false,和js同样)
2.进制
十进制 二进制 八进制 十六进制
>二进制:计算机底层都是用二进制来存储,运算的 >二进制在底层存储:正数,负数都是以补码的形式存储和计算的(原码,反码,补码) >四种进制间的转换
3.变量的运算
a.自动类型转换:容量小的数据类型自动转换为容量大的数据类型
short s=12;
int i = s +2;
ps:byte short char 之间作运算,结果为int型!因此,s+2,必定为int类型
b.强制类型转换:是a的逆过程,使用"()"实现强转.
运算符是一种特殊的符号,用以表示数据的运算,赋值和比较等.
算术运算符:
+ - +- * / % ++ --
ps: 1) /: int i = 12 ; i = i / 5; //i=2
2)%: 最后的符号只跟被模数相同 3)前++: 先+1,后运算 后++:先运算,后+1
4)+: String 字符串与其余数据类型只能作链接运算,且结果为String类型
赋值运算符:
= += -= *= /= %=
int i=12;
i=i*5;
i*=5; // 同上
[特别的]
short s=10;
s=s+5; //编译会报错,这里生成的s应该为int 型
s=(short)(s+5); // ok
s+=5; // s=s+5,可是这里编译不会报错,这种写法不会改变s的数据类型
比较运算符(关系运算符)
== > < >= <= instanceof
ps:== 和=的区别
进行比较运算操做之后,返回一个boolean类型的值
if(i>1&&i<10){} //ok
不能写成if(1<i<10){}
逻辑运算符(运算符的两端是boolean值)
& && | || ^(亦或,相同取零,不一样取一) !
ps:区分&和&&的区别,以及|与||的区别
咱们使用的时候,选择&&,||
位运算符(两端是数值类型的数据)
<< >> >>> & | ^ ~(取反)
ps:1)这里左移,右移,移动的是二进制的补码,最后结果根据二进制的变化而定,
2)>>,右移,左边以该数的符号位进行补充,右边移除的部分被抛弃
3)>>>也表示右移,可是左边无符号右移
[例子]1.如何转换m=12和n=5的值
2.将60转换为16进制的输出
三元运算符
(条件表达式)?表达式1:表达式2;
1)既然是运算符,必定会返回一个结果,而且结果的数据类型与表达式1,2类型一致
2)表达式1与表达式2的数据类型一致
3)使用三元运算符的,必定能够转换为if-else,反之不必定
例子:获取两个数的较大值;获取三个数的最大值.