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

Java基础总结(快速入门版)

前言

本文详细讲解Java注释、变量、数据类型、运算符、键盘输入输出、流程控制语句、数组七大基础内容。

一、注释

注释是用于对代码进行解释说明的文本,程序编译和运行时会自动忽略,不会影响程序执行,主要用于提升代码可读性,方便后期维护。

Java中分为三种注释方式。

1. 单行注释

使用//开头,仅对当前一行内容生效

// 定义整型变量存储年龄intage=18;

2. 多行注释

使用/* */包裹,可以一次性注释多行内容

/* 多行注释演示 用于编写大段代码说明 不参与程序运行 */Stringname="Java学习";

3. 文档注释

使用/** */包裹,常用于类、方法上方,可生成官方API文档。

/** * Java基础测试类 */publicclassBasicTest{}

二、变量

变量是程序中用于存储数据的内存空间,变量存储的数据在程序运行过程中可以随时修改。

1. 变量定义格式

数据类型 变量名 = 数据值;

2. 变量使用

publicclassVar{publicstaticvoidmain(String[]args){// 定义变量并初始化StringuserName="双栈小码哥";intstudyDay=30;// 修改变量值studyDay=40;// 打印变量数据System.out.println("博主:"+userName);System.out.println("学习天数:"+studyDay);}}

3. 变量命名规则

变量命名必须遵循规范,否则程序会编译报错:

  • 由字母、数字、下划线、$符号组成,不能以数字开头

  • 不能使用Java关键字,例如:int、class、public

  • 严格区分大小写,num和Num是两个不同变量

  • 统一使用小驼峰命名法:首字母小写,后续单词首字母大写


三、数据类型

Java是强类型语言,所有变量必须声明数据类型。数据类型决定了变量占用的内存空间和存储的数据范围,主要分为基本数据类型引用数据类型两大类。

1. 八大基本数据类型

publicclassDataType{publicstaticvoidmain(String[]args){// 整数类型byteb=10;shorts=99;inti=1000;longl=8888L;// 浮点类型floatf=3.14F;doubled=5.20;// 字符类型charc='J';// 布尔类型booleanflag=true;System.out.println("byte:"+b);System.out.println("double:"+d);System.out.println("字符:"+c);System.out.println("布尔值:"+flag);}}

2. 引用数据类型

引用类型存储的是对象的内存地址,常用类型:字符串、数组、类、接口,最常用的String字符串类型示例:

Stringinfo="Java零基础入门教程";

3. 数据类型转换

  • 自动类型转换:取值范围小的类型自动转换为取值范围大的类型

  • 强制类型转换:取值范围大的类型转小类型,需手动强转,可能丢失精度

// 自动转换intnum=10;doubleres=num;// 强制转换doublescore=99.9;intintScore=(int)score;

四、运算符

运算符是用于完成程序中数据运算、逻辑判断的核心语法,Java常用运算符分为五类:算术运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符。

1. 算术运算符

包含:+、-、*、/、%、++、--,用于基础数值计算

publicclassOperate{publicstaticvoidmain(String[]args){inta=20;intb=3;System.out.println(a+b);System.out.println(a-b);System.out.println(a*b);System.out.println(a/b);System.out.println(a%b);// 自增运算a++;System.out.println(a);}}

2. 赋值运算符

包含:=、+=、-=、*=、/=、%=,用于给变量赋值、累加赋值

intnum=10;num+=5;System.out.println(num);

3. 关系运算符

包含:>、<、>=、<=、==、!=,运算结果为布尔值true/false

intx=100;inty=80;System.out.println(x>y);System.out.println(x==y);System.out.println(x!=y);

4. 逻辑运算符

包含:&&、||、!,用于拼接多个条件判断,返回布尔结果

intscore=75;booleanresult=score>60&&score<90;System.out.println(result);

5. 三元运算符

语法:条件 ? 结果1 : 结果2,条件成立返回结果1,不成立返回结果2

intage=20;Stringmsg=age>=18?"已成年":"未成年";System.out.println(msg);

五、输入输出

输入输出是Java实现人机交互的基础,输出用于打印程序数据,输入用于接收用户手动录入的数据。

1. 基础输出语句

publicclassPrint{publicstaticvoidmain(String[]args){// 换行输出System.out.println("Java基础教程");// 不换行输出System.out.print("双栈小码哥");}}

2. Scanner键盘输入

通过Scanner工具类,接收用户控制台输入的字符串、数字等数据

importjava.util.Scanner;publicclassInput{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);System.out.print("请输入姓名:");Stringname=sc.next();System.out.print("请输入分数:");intscore=sc.nextInt();System.out.println("姓名:"+name+",分数:"+score);sc.close();}}

六、流程控制

Java程序默认从上至下顺序执行,流程控制语句可以改变代码执行顺序,实现条件判断、循环执行等业务逻辑,分为分支语句和循环语句。

1. 分支流程

if-else条件判断
publicclassIfTest{publicstaticvoidmain(String[]args){intscore=88;if(score>=90){System.out.println("优秀");}elseif(score>=60){System.out.println("及格");}else{System.out.println("不及格");}}}
switch选择判断
publicclassSwitchDemo{publicstaticvoidmain(String[]args){intweek=2;switch(week){case1:System.out.println("星期一");break;case2:System.out.println("星期二");break;default:System.out.println("未知日期");}}}

2. 循环流程

for循环(已知循环次数)
// 循环打印1-5for(inti=1;i<=5;i++){System.out.println("循环次数:"+i);}
while循环(未知循环次数)
inti=1;while(i<=3){System.out.println("Java循环练习");i++;}
循环控制关键字

break:终止当前整个循环;continue:跳过本次循环,执行下一次循环


七、数组

数组是用于存储相同数据类型、固定长度数据的容器,可以批量管理一组同类型数据。

1. 数组定义与初始化

publicclassArrayDemo{publicstaticvoidmain(String[]args){// 静态初始化数组int[]numArr={11,22,33,44,55};// 动态初始化数组String[]strArr=newString[3];strArr[0]="Java";strArr[1]="Python";strArr[2]="编程";// 普通for循环遍历数组for(inti=0;i<numArr.length;i++){System.out.println(numArr[i]);}}}

2. 增强for循环遍历

简化数组遍历写法,无需操作下标

for(Stringstr:strArr){System.out.println(str);}

3. 数组核心特点

  • 数组长度初始化后不可修改

  • 数组下标从0开始,最大下标为 数组长度-1

  • 访问不存在的下标会抛出数组越界异常

4. 二维数组

二维数组可以理解为数组中嵌套数组,主要用于存储表格数据、矩阵数据。

(1)二维数组定义与初始化
publicclassTwoArrayDemo{publicstaticvoidmain(String[]args){// 静态初始化二维数组int[][]arr1={{1,2,3},{4,5,6},{7,8,9}};// 动态初始化二维数组(确定行数、列数)int[][]arr2=newint[2][3];arr2[0][0]=10;arr2[0][1]=20;arr2[1][0]=30;arr2[1][1]=40;// 不规则二维数组(行数固定,列数不固定)int[][]arr3=newint[3][];arr3[0]=newint[]{1,2};arr3[1]=newint[]{3,4,5};arr3[2]=newint[]{6};}}
(2)二维数组遍历方式

通过双层for循环遍历,外层循环遍历行,内层循环遍历列

// 遍历静态二维数组int[][]arr={{1,2,3},{4,5,6},{7,8,9}};for(inti=0;i<arr.length;i++){for(intj=0;j<arr[i].length;j++){System.out.print(arr[i][j]+" ");}// 每行遍历完成后换行System.out.println();}
(3)二维数组核心特点
  • 二维数组存储格式:行+列,通过数组名[行下标][列下标]访问元素

  • 支持规则二维数组(行列固定)和不规则二维数组(行列不统一)

  • 适合存储班级成绩、矩阵数据、多组批量数据等场景


我是双栈小码哥,点赞+收藏+关注,希望本文能对您的学习和工作有所帮助。

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

相关文章:

  • 从黑猩猩内战到人类关系:互动是系统的命脉,遗忘是文明的暗礁
  • 8051 XDATA分页配置与内存管理实战
  • Nsight System和Compute命令行
  • 小学期第二周学习笔记
  • BP算法(反向传播)初步学习
  • SLAM技术路线已收敛?多模态融合如何重启路线之争
  • 安全合规:满足行业安全标准和法规要求
  • 从冶金实验到数据科学:如何用图像特征量化‘看不见’的熔融结晶过程?
  • 【AI问答/前端】现代前端的满天过海局(二)
  • 机器学习与相图计算协同设计增材制造铝合金:从原理到应用
  • 零基础实战逻辑漏洞挖掘:从注册到注销的6大高频场景
  • JAVA---面向对象的三大特性
  • 从‘看山是山’到‘看山不是山’:手把手教你用Landsat8波段组合玩转地物‘透视’
  • 瑞德克斯在手机端的表现稳不稳?是否适合随时查看行情?
  • 芯片合封是个嘛?
  • 面试被问到“你们项目Redis怎么用的?“——我把这套AOP缓存框架甩给他,面试官直接沉默了
  • 【AI问答/前端】前端瞒天过海局(三)
  • 多无人机协同通信-计算
  • 生化危机2:重制版2026官方正版最新版pc免费下载(看到请立即转存 资源随时失效)手机版通用
  • 基于SpringBoot+WebSocket的实时火灾报警模拟系统毕设
  • Spdlog 进阶:日志基本控制、日志格式控制、异步记录器
  • [SpringBoot 对象存储实战]:预签名 URL 直传 OSS 全流程设计与实现
  • Codex CLI高危漏洞CVE-2025-61260深度解析与工程化防御
  • DeepSeek接入codex app使用
  • 模块化触觉显示系统:气动软体机器人与信息论的创新结合
  • 2026宜宾装修公司推荐:宜宾装修公司哪家好/宜宾装修公司电话/宜宾装饰公司哪家好/宜宾装饰公司排行榜/宜宾装饰公司电话/选择指南 - 优质品牌商家
  • 深度专栏 | 撕碎“手工浪漫”:精品可可的硬核工业底色与绝对复现
  • 阴阳师智能自动化脚本:5个步骤实现游戏任务全托管
  • 手机HTTPS抓包全链路解析:从代理配置到SSL Pinning绕过
  • 开源项目推荐:ORIGIN AI Workspace —— 一键部署你的私有 AI 工作站