当前位置: 首页 > 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.jsqmd.com/news/975691/

相关文章:

  • palera1n越狱工具完全手册:解锁iOS设备的终极指南
  • 5 分钟完成搭建,OpenClaw 虾壳云 Windows 版完整安装教程(含安装包)
  • 基于NXP 56F80x/8300的PMSM矢量控制:从硬件配置到算法实现全解析
  • 如何在虚幻引擎5中实现VRM模型实时加载:VRM4U插件完整指南
  • 2026美国留学机构前三名:十家优选全面测评热门优选品牌 - 资讯纵览
  • Nucleus Co-Op:单机游戏如何变身多人同乐派对?
  • 鸣潮自动化脚本完整指南:如何用ok-ww轻松提升游戏效率
  • 5步精通Duplicity:《缺氧》存档编辑器终极指南
  • Robotaxi落地:自动驾驶从Demo到印钞机的惊险一跃
  • 建筑消防安全储水系统:消防水箱选型逻辑与厂家综合实力解读 - 品研笔录
  • 3分钟上手Translumo:Windows最强开源屏幕实时翻译神器
  • 从监控小白到上手:用Zabbix 5.0 + MariaDB监控你的第一台Linux服务器
  • KeSpeech:突破方言语音识别瓶颈的技术架构与实现方案
  • HC12 Bootloader开发:程序计数器相对寻址与位置无关代码实践
  • 3步上手MCreator:零代码打造你的第一个Minecraft模组
  • 长沙市黄金回收白银回收铂金回收实测 + 5 家正规线下门店盘点 - 信誉隆金银铂奢回收
  • 三大核心模块深度解析:Win11Debloat如何彻底释放Windows系统潜能
  • 2026汕尾市黄金回收白银回收铂金回收怎么变现?实地探访 5 家本地老牌回收店铺 - 中安检金银铂钻回收
  • Windows 9x下DSP563xx PCI板卡VxD驱动开发与HI32接口通信实战
  • 如何用Video2X将低清视频无损放大到4K:终极AI视频增强完整指南
  • 华擎主板BIOS芯片死活不认?别慌,CH341A编程器连接VCC的玄学与实战解法
  • i.MX RT10xx XIP Bootloader设计:实现安全OTA与加密启动
  • 玉林市黄金回收白银回收铂金回收哪里靠谱?2026 实测 5 家正规实体门店推荐 - 中业金奢再生回收中心
  • 终极指南:如何用Etcher安全快速地将操作系统镜像写入USB和SD卡
  • DSP与PC高效数据交换:基于PCI总线主控与Scatter-Gather机制实战解析
  • HCS12微控制器I2C总线中断驱动通信框架与实战配置详解
  • C# LAS 点云读取与处理工具
  • 2026年AI论文平台深度评测:6款工具综合实力得分排名
  • 2026指纹浏览器集群分布式部署架构、负载均衡与机房硬件适配方案
  • 接口围墙倒了!实测实在Agent:自动化流程一键API化,这才是数字员工的终极形态?