当前位置: 首页 > news >正文

02_Java基础语法入门

Java基础语法入门:变量、数据类型与运算符全掌握

文章目录

  • Java基础语法入门:变量、数据类型与运算符全掌握
    • 前言
    • 一、注释——给代码加说明
    • 二、标识符与关键字
      • 2.1 标识符命名规则
      • 2.2 命名规范(强烈建议遵守)
      • 2.3 常用关键字
    • 三、变量与常量
      • 3.1 变量的定义
      • 3.2 变量使用注意事项
      • 3.3 常量
    • 四、数据类型详解
      • 4.1 八种基本数据类型
      • 4.2 引用数据类型
      • 4.3 基本类型与包装类
    • 五、类型转换
      • 5.1 自动类型转换(隐式转换)
      • 5.2 强制类型转换(显式转换)
      • 5.3 表达式中的自动提升
    • 六、运算符
      • 6.1 算术运算符
      • 6.2 比较运算符
      • 6.3 逻辑运算符
      • 6.4 赋值运算符与三元运算符
    • 总结

前言

学完了环境搭建和HelloWorld程序,你已经能和Java世界"打招呼"了。接下来就要正式开始学习Java的语法规则。基础语法是盖楼的地基,地基不牢,大厦将倾。本文将系统讲解Java中的注释、标识符、关键字、变量、数据类型、类型转换和运算符,让你建立起完整的Java语法体系。

一、注释——给代码加说明

注释是程序员为了增强代码可读性而添加的文字说明,编译时会被完全忽略,不影响程序运行。Java中有三种注释:

// 这是单行注释,从双斜杠开始到本行结束/* 这是多行注释, 可以跨越多行 *//** * 这是文档注释(Javadoc) * 可以用于生成API文档 * @author 作者名 * @version 1.0 */publicclassCommentDemo{publicstaticvoidmain(String[]args){// 单行注释:输出一句话System.out.println("注释示例");}}

使用建议

  • 复杂逻辑前加注释说明思路
  • 不要为简单的代码写无意义的注释
  • 好的代码应该是自解释的,变量和方法命名要规范

二、标识符与关键字

2.1 标识符命名规则

标识符是用来给类、方法、变量等命名的字符序列。Java中的标识符命名规则:

  1. 由**字母、数字、下划线_、美元符号$**组成
  2. 不能以数字开头
  3. 不能使用Java中的关键字
  4. 大小写敏感nameName是两个不同的标识符
publicclassIdentifierDemo{publicstaticvoidmain(String[]args){intage=18;// 正确:字母开头int_count=10;// 正确:下划线开头int$price=100;// 正确:美元符号开头intmaxValue=999;// 正确:驼峰命名// int 2num = 5; // 错误:不能以数字开头// int class = 3; // 错误:class是关键字}}

2.2 命名规范(强烈建议遵守)

  • 类名:大驼峰命名法(PascalCase),如HelloWorldStudentManager
  • 方法名和变量名:小驼峰命名法(camelCase),如getUserNamestudentAge
  • 常量名:全大写+下划线,如MAX_VALUEPI
  • 包名:全小写,如com.example.demo

2.3 常用关键字

Java中有50个关键字,以下是初学者最常接触的:

分类关键字
访问修饰符publicprivateprotected
类/方法/变量修饰符classstaticfinalabstract
数据类型intdoublebooleancharvoid
流程控制ifelseswitchforwhilereturn
包相关importpackage
异常处理trycatchfinallythrowthrows

三、变量与常量

3.1 变量的定义

变量是内存中用来存储数据的容器。Java是强类型语言,每个变量必须先声明类型才能使用。

// 变量定义的三种格式// 1. 先声明再赋值intage;age=20;// 2. 声明同时赋值(推荐)Stringname="张三";doublesalary=8888.88;// 3. 多变量同时声明inta=1,b=2,c=3;

3.2 变量使用注意事项

publicclassVariableDemo{publicstaticvoidmain(String[]args){intx=10;System.out.println(x);// 变量必须先赋值再使用inty;// System.out.println(y); // 编译错误:变量y未初始化// 变量有作用域,在定义的大括号内有效{intz=100;System.out.println(z);// 正常输出100}// System.out.println(z); // 编译错误:z已超出作用域}}

3.3 常量

final关键字修饰的变量就是常量,一旦赋值就不能修改:

publicclassConstantDemo{publicstaticvoidmain(String[]args){finaldoublePI=3.14159;// PI = 3.14; // 编译错误:不能修改final变量的值finalintMAX_USERS=1000;System.out.println("圆周率:"+PI);System.out.println("最大用户数:"+MAX_USERS);}}

四、数据类型详解

Java的数据类型分为两大类:基本数据类型引用数据类型

4.1 八种基本数据类型

数据类型关键字大小取值范围默认值
字节型byte1字节-128 ~ 1270
短整型short2字节-32768 ~ 327670
整型int4字节-2^31 ~ 2^31-10
长整型long8字节-2^63 ~ 2^63-10L
单精度浮点float4字节约±3.4E380.0f
双精度浮点double8字节约±1.7E3080.0d
字符型char2字节0 ~ 65535‘\u0000’
布尔型boolean1字节true/falsefalse
publicclassDataTypeDemo{publicstaticvoidmain(String[]args){// 整数类型byteb=127;shorts=32767;inti=2147483647;longl=9999999999L;// long类型值后加L// 浮点类型floatf=3.14f;// float类型值后加fdoubled=3.141592653589793;// 字符类型charc1='A';charc2='中';// Java使用Unicode编码,支持中文charc3='\u0041';// 也可以用Unicode编码表示// 布尔类型booleanflag1=true;booleanflag2=false;// 输出验证System.out.println("byte: "+b);System.out.println("long: "+l);System.out.println("float: "+f);System.out.println("char: "+c1+" "+c2);System.out.println("boolean: "+flag1);}}

4.2 引用数据类型

引用数据类型包括类、接口、数组、枚举等。与基本数据类型不同,引用类型变量存储的是对象的内存地址。

// String是引用类型,但在Java中特别常用Stringstr="Hello Java";int[]arr={1,2,3,4,5};System.out.println(str.length());// 调用String的方法System.out.println(arr[0]);// 访问数组元素

4.3 基本类型与包装类

Java为每种基本类型提供了对应的包装类(引用类型):

基本类型包装类
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
// 自动装箱和自动拆箱(JDK 5+)Integernum=100;// 自动装箱:int → Integerintvalue=num;// 自动拆箱:Integer → int// 包装类提供了一些实用方法intmax=Integer.MAX_VALUE;StringbinaryStr=Integer.toBinaryString(10);// "1010"intparsed=Integer.parseInt("123");// 字符串转int

五、类型转换

5.1 自动类型转换(隐式转换)

把小范围类型赋值给大范围类型时,Java自动完成转换:

// 从小到大的自动转换链:// byte → short → int → long → float → double// ↗// char ──┘bytemyByte=10;intmyInt=myByte;// 自动转换:byte → intlongmyLong=myInt;// 自动转换:int → longfloatmyFloat=myLong;// 自动转换:long → floatdoublemyDouble=myFloat;// 自动转换:float → doubleSystem.out.println("自动转换结果:"+myDouble);

5.2 强制类型转换(显式转换)

把大范围类型赋值给小范围类型时,需要强制转换,但可能会丢失数据

doublepi=3.14159;intiPi=(int)pi;// 强制转换:截断小数部分 → 3intbig=300;bytesmall=(byte)big;// 强制转换:溢出 → 44(300 - 256)System.out.println("截断后:"+iPi);System.out.println("溢出后:"+small);// 结果不是300!

5.3 表达式中的自动提升

在表达式中,byteshortchar会自动提升为int

bytea=10;byteb=20;// byte c = a + b; // 编译错误:a+b结果提升为intintc=a+b;// 正确方式// 不同类型混合运算,结果提升为最高类型inti=10;doubled=3.5;doubleresult=i+d;// int自动转为doubleSystem.out.println("混合运算:"+result);// 13.5

六、运算符

6.1 算术运算符

publicclassArithmeticDemo{publicstaticvoidmain(String[]args){inta=10,b=3;System.out.println("加法:"+(a+b));// 13System.out.println("减法:"+(a-b));// 7System.out.println("乘法:"+(a*b));// 30System.out.println("除法:"+(a/b));// 3(整数除法,截断)System.out.println("取余:"+(a%b));// 1// 自增自减运算符intx=5;inty=x++;// y=5, x=6(先赋值再自增)intz=++x;// z=7, x=7(先自增再赋值)System.out.println("x="+x+", y="+y+", z="+z);}}

6.2 比较运算符

比较运算符的结果是boolean类型的truefalse

publicclassCompareDemo{publicstaticvoidmain(String[]args){inta=10,b=20;System.out.println(a==b);// false:等于System.out.println(a!=b);// true:不等于System.out.println(a>b);// false:大于System.out.println(a<b);// true:小于System.out.println(a>=b);// false:大于等于System.out.println(a<=b);// true:小于等于// 注意:==比较的是值,对于引用类型比较的是地址Strings1=newString("hello");Strings2=newString("hello");System.out.println(s1==s2);// false!比较地址System.out.println(s1.equals(s2));// true!比较内容}}

6.3 逻辑运算符

publicclassLogicDemo{publicstaticvoidmain(String[]args){booleant=true,f=false;System.out.println(t&&f);// false:逻辑与System.out.println(t||f);// true:逻辑或System.out.println(!t);// false:逻辑非// 短路效应inta=10;booleanresult=(a>100)&&(a++>0);// 短路:a++不会执行System.out.println("a的值:"+a);// 仍然是10// 短路与(&&) vs 非短路与(&)// &&:左边为false,右边不执行// &:两边都执行}}

6.4 赋值运算符与三元运算符

publicclassAssignmentDemo{publicstaticvoidmain(String[]args){inta=10;a+=5;// 等价于 a = a + 5a-=3;// 等价于 a = a - 3a*=2;// 等价于 a = a * 2a/=4;// 等价于 a = a / 4a%=3;// 等价于 a = a % 3// 三元运算符(条件运算符)intscore=85;Stringgrade=score>=60?"及格":"不及格";System.out.println("成绩:"+grade);// 嵌套三元运算符intnum=5;Stringresult=num>0?"正数":(num==0?"零":"负数");System.out.println(result);}}

总结

本文系统讲解了Java基础语法中的核心概念:

  1. 注释:三种注释方式,好的注释能让代码更易维护
  2. 标识符与关键字:命名规则和规范是写好代码的基础
  3. 变量与常量:声明、赋值、作用域,final修饰常量
  4. 八大基本数据类型:整型4种、浮点2种、字符1种、布尔1种
  5. 类型转换:自动转换和强制转换的规则与注意事项
  6. 运算符:算术、比较、逻辑、赋值、三元运算符的用法

基础语法虽然琐碎,但它是后续学习面向对象、集合框架等内容的前提。建议多写代码,在实践中巩固这些知识点。下一篇文章我们将学习Java的流程控制语句。

http://www.jsqmd.com/news/909158/

相关文章:

  • AI时代生存指南:从工具驾驭到思维升级的五个核心理由
  • 2026和龙市本地人必选的公共卫生检测专业机构TOP5推荐!美容院、足疗店、酒店宾馆卫生检测、许可证办理,正规CMA资质检测公司排名推荐 (2026年5月商铺卫生办证最新深度调研方案) - 一修哥咨询
  • 安徽悟空电子设备收售:合肥办公电脑回收公司怎么联系 - LYL仔仔
  • 台州高考复读优势解析 助力考生冲刺理想院校 - 玖叁鹿
  • 成都消防设施操作员培训机构怎么选(可免费重修) - 消防设施操作员考证
  • 从‘拙劣模仿’到流畅体验:深入理解UE4 DS同步本质,手把手配置你的第一个权威服务器
  • 3步实现浏览器Cookie本地安全导出:Get cookies.txt LOCALLY完整指南
  • 【IEEE出版 | EI检索】第五届智能电网与能源系统国际学术会议(SGES 2026) - 科研小猫(努力毕业版)
  • Qwen-Edit-2509多角度图像生成终极指南:5步实现零基础智能视角控制
  • AI代理OAuth安全危机:从权限代理网关到动态授权的防御架构
  • 2026年无损探伤行业权威推荐:专业厂家/服务商选型指南发布 - 速递信息
  • Helium网络采用现状与HNT价值逻辑深度解析
  • 2026年CRM软件盘点 - 超兔一体云CRM
  • 长续航电动自行车优选:台铃以技术铸续航、以安全守出行、以服务暖人心 - 速递信息
  • 聊天机器人实战指南:从核心原理到项目落地的全链路解析
  • 2026年杭州搬家公司哪个靠谱测评:避开这5个误区 - 速递信息
  • 拉萨黄金回收实测对比:路边店套路深,正规机构这样选 - 专业黄金回收
  • 5款AI论文写作工具全方位横评,写作降重一键解决 - AI论文先行者
  • 【SPIE出版 | EI检索】2026年光电信息、通信与人工智能国际学术会议 (OICAI 2026) - 科研小猫(努力毕业版)
  • WeChatMsg:你的微信聊天记录完整免费永久保存解决方案
  • 猫抓浏览器扩展:轻松提取网页视频音频的终极指南
  • HFSS新手避坑指南:从软件安装到第一个模型,保姆级界面设置与单位选择
  • 烂醉如泥的内容入口:听众为什么会搜索它
  • OpCore-Simplify终极指南:三分钟完成黑苹果智能配置生成
  • 3分钟解锁抖音内容自由:douyin-downloader高效工作流实战指南
  • 淘宝淘金币自动脚本终极指南:快速解放双手的完整解决方案
  • 微信聊天记录永久保存:3步打造你的数字记忆保险箱
  • Qwen3-VL-30B-A3B-Instruct Docker容器使用指南:快速构建推理环境
  • 广元黄金回收实测无滤镜:长悦等6家平台真实得分大公开 - 专业黄金回收
  • 2026宁夏靠谱的装修公司怎么选?业主亲测本地靠谱装修机构实测避坑攻略,新手不踩坑 - 宁夏壹山网络