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

复习篇-基础语法

public class 名字{

public static void main (String[]args){

}

}

先定义变量,再使用

int a=5;

int c,d,e,f;

double b;

int wudi[]=new int[10000];//定义了10000个int类型,wudi[0],wudi[1],...,wudi[9999]

float类型后面一定要加f。

eg:float x=0.4f

int 类型的字面常量(0~65535),可以直接赋值给 char

char i = 65;

声明数组1.2是一维数组,3.4是二维数组

  1. 数组元素类型 数组名字[]=new 数组元素的类型[数组元素的个数]
  2. 数组元素类型[] 数组名字
  3. 数组元素类型 数组名字[] []
  4. 数组元素类型[] []数组名字

例如:

// 1. 创建一个长度为 3 的 int 数组

int[] arr = new int[3];

// 2. 赋值

arr[0] = 10; // 第1个位置

arr[1] = 20; // 第2个位置

arr[2] = 30; // 第3个位置

例如:

int[] arr = {10, 20, 30, 40};

先声明,再赋值

长度int len = arr.length;

数组创建后不手动赋值,Java 会自动给每个位置赋【默认值】

数组类型

默认值

int[]

0

double[] / float[]

0.0

boolean[]

false

char[]

空字符(\u0000)

引用类型(String 等)

null

int[][] arr = { {1, 2, 3}, // 第0行 {4, 5, 6} // 第1行 };

二维数组中第一个是有几行,第二个方括号是几列。

遍历二维数组

for(int i = 0; i < arr.length; i++)

{

for(int j = 0; j < arr[i].length; j++)

{ System.out.print(arr[i][j]+" "); }

数组复制import java.util.Arrays;

System.arraycopy(

源数组, 从哪里开始复制,

目标数组, 复制到目标数组的哪个位置,

复制几个元素 );

eg:

int[] a = {10, 20, 30, 40, 50}; // 源数组

int[] b = new int[5]; // 目标数组(空数组)

// 把 a 数组 从 0 开始,复制 5 个 到 b 数组

System.arraycopy(a, 0, b, 0, 5);

数组排序

import java.util.Arrays;

Arrays.sort(arr);//从小到大

for (int i = arr.length - 1; i >= 0; i--) { System.out.print(arr[i] + " "); }//从大到小

———————————————————————————————————————

输出语句

System.out.println(“文字”+变量或者变量运算式子);

eg:System.out.println(“a的值是”+a);

System.out.print(“文字”+变量或者变量运算式子);不换行

System.out.printf(“格式控制部分”,表达式1,表达式2,...)

%d类型int

%c类型char

%f类型float

%s类型字符串

%md类型int,m列

%m.nf类型float,总长度至少占m列,包括小数点,不然前面加空格;小数点保留n位

%f 不指定小数点,默认输出 6 位

———————————————————————————————————————

输入语句

1.导包

import java.util.Scanner;

  1. 创建Scanner对象

Scanner sc=new Scanner(System.in);

3.接收数据

int i=sc.nextInt();//表示将键盘录入的值作为int数返回

· sc.nextInt() → 输入整数

· sc.nextDouble() → 输入小数

· sc.next() → 输入字符串(不带空格)

· sc.nextLine() → 输入一整行(可以带空格)

nextInt()后接nextLine(),输入数字敲回车,回车残留在缓冲区,nextLine 直接读空。

解决:多读一次换行,sc.nextLine(); // 吃掉换行 String s=sc.nextLine();

———————————————————————————————————————

数据范围从小到大,byte,short,char,int,long,float,double

boolean不能与其他基本数据类型相互转换

范围大=范围小//直接转换

int i=(int)num1//将double类型的numq强制转换为int类型,小数位会直接舍弃

所有 byte/short/char 含有变量做算术运算时,会自动提升为 int 类型再计算

———————————————————————————————————————

eg:

byte a = 3;

byte b = 4;

byte c = a + b; // 编译报错 byte c = (byte)(a+b);

byte d = 3 + 4; // 编译正常

'a' -- 97 a-z是连续的,所以'b'对应的数值是98,'c'是99,依次递加

'A' -- 65 A-Z是连续的,所以'B'对应的数值是66,'C'是67,依次递加

'0' -- 48 0-9是连续的,所以'1'对应的数值是49,'2'是50,依次递加

char类型参与算术运算,使用的是计算机底层对应的十进制数值。

当“+”操作中出现字符串时,这个”+”是字符串连接符,而不是算术运算。

System.out.println("java"+ 666); // 输出:java666

在”+”操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行“+”操作时,从左到右逐个执行。

++和-- 既可以放在变量的后边,也可以放在变量的前边。

单独使用的时候, ++和-- 无论是放在变量的前边还是后边,结果是一样的。

参与操作的时候,如果放在变量的后边,先拿变量参与操作,后拿变量做++或者--。

参与操作的时候,如果放在变量的前边,先拿变量做++或者--,后拿变量参与操作。

符号

作用

说明

=

赋值

a=10,将10赋值给变量a

+=

加后赋值

a+=b,将a+b的值给a

-=

减后赋值

a-=b,将a-b的值给a

*=

乘后赋值

a*=b,将a×b的值给a

/=

除后赋值

a/=b,将a÷b的商给a

%=

取余后赋值

a%=b,将a÷b的余数给a

& a&b,a和b都是true,结果为true,否则为false

短路与&&,如果左边为真,右边执行;如果左边为假,右边不执行。

|a和b都是false,结果为false,否则为true

短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。

^逻辑异或,a^b,a和b结果不同为true

!逻辑非,结果与原相反

三元运算符语法格式:

关系表达式 ? 表达式1 : 表达式2;

如果条件表达式成立或者满足则执行表达式1,否则执行第二个

if (关系表达式){

语句体;

}

if(关系表达式){

语句体1;

}else{

语句体2;

}

if(关系表达式){

语句体1;

}else if(关系表达式2){

语句体2;

}

...

else{

语句体n+1;

}

switch(标识符a){

case 常量1:

...

break;

case 常量2:

...

break;

...

default:

...

break;

}

for(初始化表达式; 条件表达式; 更新表达式){

循环体语句;

}

初始化语句

while(条件判断语句){

循环体语句;

条件控制语句;

...

}

初始化语句;

do{

循环体语句;

条件控制语句

}

while(条件判断语句);

三种循环的区别

for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)

do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断)

for循环和while的区别

条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不能再次被访问到了

条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,该变量还可以继续使用

死循环(无限循环)的三种格式

for(;;){}

while(true){}

do {} while(true);

跳转控制语句(break)跳出循环,结束循环

跳转控制语句(continue)跳过本次循环,继续下次循环,只能在循环中进行使用

三个嵌套 for 循环,最里面一层执行 break: 只会跳出【当前这一层循环】,外面两层循环完全不受影响,继续正常执行。

三个嵌套 for 循环,最里面一层执行 continue: 只会跳过【当前这一层循环的 剩余步骤】,直接进入当前循环的下一次迭代 ,外面两层循环完全不受影响

http://www.zskr.cn/news/1487418.html

相关文章:

  • 5 分钟完成搭建,OpenClaw 虾壳云 Windows 版完整安装教程(含安装包)
  • palera1n越狱工具完全手册:解锁iOS设备的终极指南
  • 2026美国留学机构前三名:十家优选全面测评热门优选品牌 - 资讯纵览
  • 鸣潮自动化脚本完整指南:如何用ok-ww轻松提升游戏效率
  • 3步上手MCreator:零代码打造你的第一个Minecraft模组
  • KeSpeech:突破方言语音识别瓶颈的技术架构与实现方案
  • 三大核心模块深度解析:Win11Debloat如何彻底释放Windows系统潜能
  • HC12 Bootloader开发:程序计数器相对寻址与位置无关代码实践
  • Windows 9x下DSP563xx PCI板卡VxD驱动开发与HI32接口通信实战
  • 如何用Video2X将低清视频无损放大到4K:终极AI视频增强完整指南
  • C# LAS 点云读取与处理工具
  • DSP与PC高效数据交换:基于PCI总线主控与Scatter-Gather机制实战解析
  • 用CH341A给华擎B365M Pro4刷魔改BIOS:从拆机到点亮QTJ2的全流程避坑记录
  • 开源数据恢复工具TestDisk与PhotoRec:你的数字世界急救箱
  • 2026深圳翡翠回收实力排行,“禹竞名奢汇”蝉联本地翡翠回收榜首席位 - 奢侈品交易观察员
  • 炉石传说插件HsMod终极指南:55项功能全面解锁游戏新体验
  • 从零搭建企业级 AI Agent,Python 完整源码 + 工作流拆解
  • AntV G6节点图片化踩坑实录:为什么你的type字段会让图片加载失败?
  • 湖州市黄金回收避坑指南,2026最新行情和正规回收标准 - 润富黄金回收
  • Mac Mouse Fix:将普通鼠标转变为macOS专业级输入设备的终极解决方案
  • 嵌入式实时系统内存管理:VSMM如何解决内存碎片与确定性难题
  • 爬山算法的实例应用
  • FreeCAD 0.19源码编译:如何为CMake正确配置那个关键的LibPack依赖库路径
  • 天津双赢再生资源回收:天津废旧厂房整厂打包回收公司 - LYL仔仔
  • 新手必看!2026 昆山知名代理记账公司口碑测评,代理记账收费标准、注册公司流程及优质机构排名推荐(靠谱正规资质强) - 品牌智鉴榜
  • 基于反电动势过零检测的无传感器BLDC电机控制实战解析
  • 西宁市黄金回收白银回收铂金回收实测 + 5 家正规线下门店盘点 - 信誉隆金银铂奢回收
  • 2026语音转写工具评测:腾讯会议领衔推荐 - 领先技术探路人
  • 别再手动查账单了!用.NET 6+爱发电SDK自动化你的赞助管理与Telegram通知
  • 长治市黄金回收白银回收铂金回收实测 + 5 家正规线下门店盘点 - 信誉隆金银铂奢回收