注释:
写程序先写注释:说明需求 方案设计 步骤等信息
注意注释的调代码功能
基本概念:
标识符 关键字 常量变量 运算符 表达式 语句 函数 数组
关键字:JAVA已经定义的
标识符:26个字母 数字 _ $ 自己定义的
1数字不能开头 2不能用关键字
标识符命名:
包名:xxxyyyzzz
类名或接口名:XxxYyy
变量或函数名:xxxYyy
常量名:XXX
变量:
byte 范围:-128到127
short int long
float a = 3.4错
double = 3.4对
float = 3.4f 对
char ch = '4' 占两个字节
boolean
自动提升与强制转化:
byte b = 3;
b = b+1;错 右边的b 会自动提升为int 4字节 左边为1个字节
b = (byte)(b+2);对 轻质转化了
int +float 会生成float
‘a'+1打印为98 字符'a'占两位字节 整数1占4位字节 ‘a'+1打印为
ASCII码:
因为a 和97 的 二进制表达相同 即在计算机中的存储相同 字符‘1’和整数49(31H)的表达相同
所以打印'a'+1时先自动提升为整数 再打印 便是98
若打印char(97) 应该会显示a 打印char(49)应该会显示1
运算符:
short a = 2;
a = a +3;错 两次运算
short a = 2;
a +=3;对 只有一次运算
-1%5=-1
int a = 3;
a <2 & a < 6 两边都要算
a<2&& a<6只算左边
<<和>>移位时,高位空出时补充0或1看最高位
>>>无符号的
&既可以做逻辑运算,也可做位运算
~6=-7的解释:
6的补码:0000 0000 00000000 00000000 0000 0110
取反 即:111.。。。001 为某个数的补码形式,从第一位看出为负,减一取反可变为原码的绝对值
(负数的补码等于其绝对值的原码各位取反然后整个数加1的数值)
转为原码为(减一取反)000.。。。111 为7所以为-7
或:x.....-1 0......6 所以取反为-7 对称的
n m 互换
n = n+m;
m = n-m;
n = n-m;
或
n = n^m;
m = n^m;
n=n^m
x=10 System.out.println(x>9?(char)(x+'a'):x); 打印的不是A而是10