Java语法基础

 前导知识:了解Java、Java开发环境配置

测试环境:win7、jdk1.7.0_10、eclipse4.2

讲述: 
Java语法基础知识:数据类型、变量、标识符、关键字、运算符、注释

  1. 数据类型:
    1. java是强类型语言,所有变量都必须声明其确定的类型
    2. 基本数据类型和引用数据类型 见图
    3. 类型转换: 
      1.自动转换(由小转大) 
      2.强制类型转换(可能会造成数据精度的丢失甚至是异常)
  2. 变量:
    1. 存储数据的基本单元,用来存储程序执行过程中需要的或生成的数据
    2. 作用范围(生命周期):局部变量和成员变量 (涉及到java面向对象知识)
  3. 标识符:
    1. 对各种变量、方法、类等命名的字符串序列(符号)
    2. 规则 
      a.组成:字母、数字、_(下划线)、$(美元符号),不能有特殊符号(空格、@、#)和关键字(在java中有特殊意义的字符串序列) 
      b.必须以字母、_(下划线)、$(美元符号)开头 
      c.大小写敏感
  4. 关键字:在java中有特殊意义的,注意都是小写 见图
  5. 运算符:
    1. 常见运算符列举
    2. 几个需要注意的运算符:++、--、&&、||、三元运算符、扩展运算符的含义,这些都见例子
    3. 注意优先级顺序
  6. 注释:
    1. 单行注释、多行注释
    2. 注释的好处: 
      1.记录开发思路,方便自己回忆、他人理解 
      2.ide下开发,对方法注释,会让其他调用者清楚的看到方法及每个参数的含义 
      3.javadoc:将注释提炼成系统文档(甚至可以省去编写开发文档的大部分工作)

 

程序演示: 缩小

  1. package com.cxy.base;  
  2.   
  3. import java.util.List;  
  4.   
  5. /** 
  6.  * @author cxy @ www.cxyapi.com 
  7.  */  
  8. public class Base1Test  
  9. {  
  10.     public static void main(String[] args)  
  11.     {  
  12.         //unicode字符集97号编码是小写字母a  
  13.         char u1=97;  
  14.         System.out.println(u1);  
  15.           
  16.         //a字符和b字符在unicode字符集编码相差1  
  17.         char u2='a';  
  18.         char u3='b';  
  19.         System.out.println(u3-u2);  
  20.           
  21.         //想知道你的名字在unicode字符集的位置么?  
  22.         char name1='程';  
  23.         char name2='序';  
  24.         char name3='员';  
  25.         System.out.println("程的unicode,10进制编码为:"+(name1-name2+name2));  
  26.         System.out.println("序的unicode,10进制编码为:"+(name2-name1+name1));  
  27.         System.out.println("员的unicode,10进制编码为:"+(name3-name1+name1));  
  28.           
  29.         // 类型转换  
  30.         // 自动类型转换 和 强制类型转换  
  31.         int aaa = 100;  
  32.         long bbb = 100L;  
  33.         long ccc = aaa + bbb;       //aaa 自动转成long型做运算  
  34.         int ddd = aaa +(int)bbb;    //强制转换成int型 可能会造成精度的缺失  
  35.         //这里其实我们可以写一个工具类,用来探测变量的真实类型,但是由于涉及到面向对象的知识,所以请期待后期文章  
  36.         //System.out.println(TypeTools.getType(aaa + bbb));  
  37.         //System.out.println(TypeTools.getType((int)bbb));  
  38.           
  39.         /* int和integer区别 
  40.          * 1.int是基本的数据类型 
  41.          * 2.Integer是int的封装类 属于引用类型,提供了int数据的相关操作 
  42.          * 3.当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装 object的 
  43.          * 这里涉及到:集合、封装类等知识,请关注我博客的相关文章 
  44.          */  
  45.         int eee=1;  
  46.         Integer fff=new Integer(1);  
  47.           
  48.         /* 自增运算符 (注意这只是做个演示,真实工作的时候千万不要写这么“高深”的代码) 
  49.          * 两种自增的含义: 
  50.          * a=b++; b先做自加操作,然后将b的原始值赋给a 
  51.          * a=++b; b先做自加操作,然后将b的自加后的值赋给a 
  52.          * 这里注意 执行的顺序都是b先做自加!因为++的优先级比=(复制运算符)高很多~ 
  53.          * 看了很多书,只有一本叫做《java核心技术》的书阐述的是这样的执行过程 
  54.          * 如果下面的例子 你能分析成功 那么你++运算符的使用算是过关了 
  55.         */  
  56.         int zzz=100;  
  57.         System.out.println("zzz=100,经过如下运算后");  
  58.         System.out.println("zzz++ + ++zzz 结果是:" + (zzz++ + ++zzz));  
  59.         System.out.println("++zzz + zzz++ 结果是:" + (++zzz + zzz++));  
  60.         System.out.println("zzz最终结果是:" + zzz);  
  61.           
  62.         /* &&(短路与)、||(短路或) 
  63.          * 什么叫做短路与? 
  64.          * a && b:当a为假的时候无论b是真是假,这个表达式都为假,所以这种情况java根本不会去理会b到底是个什么样的结果 
  65.          * 这样做 能够提高程序执行效率 
  66.          * || 道理相同,当第一个表达式是真的话,第二个表达式无所谓真假 
  67.          *  
  68.          * 下面的例子涉及到集合和异常的知识,请参见本博客的相关文章 
  69.          */       
  70.         List l=null;  
  71.         if(l!=null && l.size()>1)  
  72.         {  
  73.             //你的操作  
  74.         }  
  75.         /*说明:了解异常知识的人知道,l的值是null,当调用l的方法时,会报null异常 
  76.          *但是我们发现这里根本没有报异常,因为l==null为false后java并不去关心(执行)后面的表达式(因为这根本没有意义) 
  77.         */  
  78.           
  79.         //三元操作符演示  
  80.         int i=100;  
  81.         System.out.println(i==100?"满分":"非满分");  
  82.         //解释:i是不是等于100?是的话表达式的值就是"满分",否则的话就是"非满分"  
  83.         //等价于下面(下面涉及到java控制流相关知识,请参见本博客的相关文章)  
  84.         if(i==100)  
  85.         {  
  86.             System.out.println("满分");  
  87.         }else  
  88.         {  
  89.             System.out.println("非满分");  
  90.         }  
  91.     }  
  92. }  

你可能感兴趣的:(java,java语法)