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

原创
2013/10/04 11:35
阅读数 47

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

单行注释:

<!-- lang: java -->
// ...注释内容...

多行注释:

            /* 
             * 注释内容 
             * 不允许嵌套
             */

文档注释:

            /**
              *注释内容
              * 不允许嵌套
               */

数据类型:

8种基本数据类型:

4种整型(有三种表示形式,十进制(不能以0开头)、八进制(0)、十六进制(0x)):

            byte(-128~127)、short、int(正负20亿左右)、long(后缀大小写L).

2种浮点型:

            float(后缀大小写F)、double(其数值精度是float类型的两倍,通常称之为双精度数值) .

字符类型:char(其实也算是一种没有符号的整型数据,使用单引号,unicode编码).

布尔型:boolean(false\true).

关于char型

<!-- lang: java -->
             //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,这些都不是合法的标识符

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

自增自减:前缀方式先进行加(减)运算,后缀方式则使用变量原来的值,它的操作数不能是数值;

      例:假设    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,看看有什么区别      

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

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

运算符优先级:() - 正负号 - 自增和自减 - 乘除 - 加减 - 位移 - 比较大小 - 判断 - 位运算 - 逻辑运算 - 三目 - 赋值;

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部