java语言的三种架构
J2EE:Java 2 Platform Enterprise Edition 企业版 --->JAVAEE
J2SE: Java 2 Platform Standard Edition 标准版 --->JAVASE
J2ME:Java2 Platform Micro Edition 小型版 --->JAVAME
标识符
1.在程序中自定义一些名称2.由26个字母组成;0-9;_ 和$
3.数字不能开头
4.严格区分大小写,类名首字母大写较好
注释1. 单行注释 //
2. 多行注释
/*
这是
注释
*/
3.java特有注释
/**
文档注释。
*/
4. 单行注释中可以有单行和多行注释;
5. 多行注释中可以有单行注释,但不能有多行注释;
6. 多行注释可以在程序出现错误的时候逐步缩小错误的范围;
7. java编译器编译的时候去掉了注释;
负数的二进制
1.把负数转变为补码(取反再加一)表示,比如-6 ,6的二进制为0110,取反1001,加1为1010
变量
1. System.out.println('你'+1);//unicode国际标准码表
2. byte b=4;//b是一个字节
byte b = 4 ;//将一个4字节的整数截取后赋值给b
byte b1 = 3 ;
byte b2 = 4 ;
b = 3 + 4 ; //ok,常量,能确定范围
b = b1 + b2 ; //error ;b1,b2为变量,不能确定范围,有可能超出b的范围;demo.java:12: 错误: 不兼容的类型: 从int转换到byte可能会有损失
还有为什么,编译器会这样要求,那如果两个int相加,就不会超出int范围吗??
而两个int类型进行相加运算 java内部机制会默认int运算,一旦超出这个范围,他自动底层有强制转换过程,保留自己原有位置、高位全舍弃 这就是byte和int的区别,int属于默认类型,他就没有byte上面那样的问题
byte和short类型“变量”,相加不能确定结果,无法检查,也不是默认类型,所以byte、short类型相加的时候,都会自动提升到int类型的
3.
按位与:a&b是把a和b都