您的位置:首页 > 其它

3.基础(一):基本语法

2014-06-08 00:24 134 查看
三种注释:需要注意的是三种注释内容里都不能出现Unicode转义字符(\u),否则无法通过编译。

单行注释://
多行注释: /*
* 注释内容
* 不允许嵌套
*/
文档注释:/**
*注释内容
* 不允许嵌套
*/

数据类型:

8种基本数据类型:
4种整型(有三种表示形式,十进制(不能以0开头)、八进制(0)、十六进制(0x)):byte(-128~127)、short、int(正负20亿左右)、long(后缀大小写L).
2种浮点型:float(后缀大小写F)、double(其数值精度是float类型的两倍,通常称之为双精度数值) .
字符类型:char(其实也算是一种没有符号的整型数据,使用单引号,unicode编码).
布尔型:boolean(false\true).

关于char型,注意观察一下代码的输出:
System. out.println( "unicode表中第100位是:" +(char)100); //d
System. out.println( " d 在unicode表中的顺序位置是" +(int)'d' ); //100

System.out.println( 'A'+ 'a'); //注意该输出结果不是" Aa",而是加法的计算结果162

需要注意的是数据类型间的转换问题:低字节转成高字节时,数据类型会自动提升,自动转换的;
但是高字节转换低字节时,数据类型需要显式的进行强制类型转换。
如下:

byte b = ( byte) (300); // b=44;超过了byte的取值类型,精度丢失
short s = 4;
short s2 = (short) (b+s); //short+byte,两个操作数被转换成 int;

还有种情况比较棘手,下面这两个会输出什么呢?

System. out.println(2.0-1.1); //0.8999999999999999,原因在于浮点数值采用二进制系统表示,二进制无法精确的表示这个结果

System. out.println(( int)( char)( short)-1); //65535

变量的命名规则:

1:变量名的长度没有限制;

2:不能为JAVA中的关键字或保留字;
3:大小写敏感;
4:第一个字符不能为数字;
5:不能有空格;
6:核心技术原书是说:变量名必须是一个以字母 开头的由字母或数字构成的序列,而实际上的情况是 可以由字母、下划线、美元符号、数字甚至中文汉字构成的序列。
例如:

int 变量 , _123 , $abc, _4汉字5$_; //这样的标识符是合法的,但是不建议使用
int 4Ab , kong ge , \u0008 , abc&cda; //Error,这些都不是合法的标识符

编写Java程序时的几点注意:

大小写敏感:Java是大小写敏感的,这就意味着标识符Hello与hello是不同的。

类名:对于所有的类来说,类名的首字母应该大写。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyFirstJavaClass 。

方法名:所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)

运算符:算术运算符、赋值运算符、逻辑运算符、自增自减、位运算符、三元运算符

自增自减:前缀方式先进行加(减)运算,后缀方式则使用变量原来的值,它的操作数不能是数值;
例:假设 a=1; int b = ++a; a的值会先加1,然后赋值给b,此时,b = 2,a=2;
同样假设a=1; int b = a++; a并不会先进行自增运算,而是先将原来的值赋给b,此时,b = 1,a=2;
理解了上面这个列子就可以明白一些非常折磨人的面试题了,比如在if和while语句里判断自增自减,如
int a = 1;
int b = 0;
do{
b++;
System. out.println(b);
} while(a++<3); //再把a++换成++a,看看最后输出的a值和b值 有什么区别

逻辑运算符:逻辑或(&和&&),逻辑或(|和||),逻辑非(!);&&和&,|和||的区别。

三元运算符:数据类型 变量 = 布尔表达式?满足条件设置的内容:不满足条件设置的内容 ;

运算符优先级:() - 正负号 - 自增和自减 - 乘除 - 加减 - 位移 - 比较大小 - 判断 - 位运算 - 逻辑运算 - 三目 - 赋值;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: