JAVA基础 之 语法基础

本文深入浅出地讲解Java的基础语法知识,包括数据类型、变量、标识符、关键字、运算符和注释等内容,并通过实例代码帮助理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述:

    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:将注释提炼成系统文档(甚至可以省去编写开发文档的大部分工作)

Java代码:  
  1. package com.cxy.base;  
  2.   
  3. import java.util.List;  
  4.   
  5. /** 
  6.  * @author cxy 
  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. }  

声明:

1.原创文章,http://www.software8.co/wzjs/java/3090.html 转载请标明并加本文连接。

2.文章反映个人愚见,如有异议欢迎讨论指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值