Java 是不跨平台的,如果在各大操作系统上想让Java语言跨平台,需要在各个操作系统上安装不同版本的虚拟机才能实现跨平台.
关键字:组成关键字的字母全部小写,常用的代码编辑器对关键字有特殊的颜色标记
一个字节8位,最小单位是一个字节,一个中文两个字节
变量只在它所属的范围内有效,变量属于它所在的那对大括号.
取模运算符的结果符号只与左侧有关,无论右侧的是正还是负,结果只与左边相同
10%-3 =1
1.运算符 ++ , -- , -=, += 必须出计算结果,jvm后台自动强转.扩展的赋值运算符,隐含了强制类型转换
byte a = 3; //不报错,因为java有常量优化机制,在取值范围内,jvm会检查,若果在范围内,jvm会帮我们做强转
a += 9; 不报错 a = (byte)(a+9)
a = a + 1 ; 报错 强制类型提升为int
int b = 10;
System.out.println(a+b); 直接输出不报错;
两种byte类型的值相加结果是int 类型:第一种解释:因为b是byte类型,c也是byte类型的值,做运算是会将两个值提升为int类型,期计算结果也是int类型.
第二种结束:由于b和c都是变量,既然是变量,其值会发生变化,其 结果也会发生变化,可能会超byte的取值范围.
只需记int类型以下的数据类型相加都要用int 来接收.
int y = 1;
int x = 1;
y = x++ + 1 和 y = 1 + x++ 结果都一样
++,--再后面,先赋值或比较,再自增
++,--再前面,先自增,再赋值或比较;
{
Int x = 4;
Int y =(--x) + (x--) +(x*10); //这里的括号不能提升运算优先级
System.out.println(y);
输出的结果为26
}
2. byte a = 127;
a++; 输出结果为-128
字符: ‘A’ 值为65 ‘a’ 值为97 ‘0’ 值为48
字符串与 任何数据做加法运算都会产生一个新的字符串
“abc” + 10 + 20 “abc10” + 20 “abc1020”
10+20+”abc” + 10 +5 30+”abc” + 10 +5 ”30abc” + 10 + 5 ”30abc105”
3. & , | , ^ , !
& : 逻辑与and 遇false则flase
| : 逻辑或or 遇true 这true
^ : 抑或 相同为flase,不同为true
! : 非 取反
&&: 短路与 左边遇到false后面不执行,执行结果与 & 相同
|| : 短路或 左边遇到true后面不执行,执行结果与 | 相同
4 if语句去掉大括号控制最近一个语句.
If(I > 10) int x = 10; 会报错
Int x = 10 ;是两句话int x 是声明 , x = 10 是赋值;
Switch(x) x 可以是byte short int char String
switch语句: default 语句在前面 没加break;会继续执行default下面的语句,case穿透.default 在语句结尾,break加不加都一样;
case穿透,如果前面的break省略,容易出现case穿透,当进入一个条件,满足,且该条件没有break,就不会判断下一个条件,直到遇到break和 }
case 后面只能常量不能是变量.
for 循环定义的变量执行在循环执行结束后会被释放;
位运算:
偏移运算:右偏移就是把数值除以2的偏移次方数
左偏移就是把数值乘2的偏移次方
>>:
>>>: 忽略符号位
<<:
| : 有1则1;
& : 有0则0;
^ : 不同的为1,相同为0;
三元运算符和if语句的区别:
三元运算符结果必须被使用
‘A’ = 65 ‘a’ = 97
break 只能在switch和循环中
continue :只能写在循环中,终止本次循环,继续下次循环
|
|