首页 > 代码库 > 3.基础(一):基本语法

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

  • 三种注释:需要注意的是三种注释内容里都不能出现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值 有什么区别      
 
逻辑运算符:逻辑或(&和&&),逻辑或(|和||),逻辑非(!);&&和&,|和||的区别。
 
三元运算符:数据类型 变量 = 布尔表达式?满足条件设置的内容:不满足条件设置的内容 ;
 
运算符优先级:() - 正负号 - 自增和自减 - 乘除 - 加减 - 位移 - 比较大小 - 判断 - 位运算 - 逻辑运算 - 三目 - 赋值;