Java编程基础(数据类型,选择结构,循环结构,数组)

本文详细介绍了Java中的数据类型分类,包括基本和引用类型,以及各种运算符(算术、赋值、关系、逻辑、位和三元运算),并探讨了选择结构(if、switch)、循环结构(for、while、do...while)和数组操作,如索引、遍历、获取最值和元素反转。

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

一、数据类型

Java是一门强类型语言,每个变量都需要指定数据类型。Java数据类型分为(1)基本数据类型和(2)引用数据类型。如图。

8cd77c5a0ab2463d8c41fdd7173e968b.jpg

 

(1)基本数据类型:

基本数据类型除了字符型和布尔型之外,其余6个都是表示数字的,统称为“数值型”。每种基本数据类型在内存中的存储方式和占用空间都不同,数据类型占用空间如图。

b373147dc8684c009b749a5d87cc6b7f.jpg

 

注意:在基本数据类型中,除了boolean类型所占长度与平台有关以外,其他数据类型长度都与平台无关。

二、运算符

242b2d89c8974124bfdb52344cda72ff.jpg

 

 

1.算术运算符:

算术运算符是Java中最简单、最常用的运算符,它主要提供了数值的加、减、乘、除以及求余运算的功能。分为一元运算符和二元运算符。

⑴一元运算符

①X++:自增运算符,先返回X的值,再将X+1

②++X:自增运算符,先将X+1,再返回X的值

③X--:自减运算符,先返回X的值,再将X-1

④--X:自减运算符,先将X-1,再返回X的值

⑵二元运算符

①+:可以进行加法运算,也可以进行字符串的拼接

②-:减法运算

③*:乘法运算

④/:除法运算(需要注意整数之间除法运算的结果依然是整数)

⑤%:取模运算,即求余数(例如-11%2,结果是-1。也就是说符号取决于%前面的数字)

 

2.赋值运算符:

除赋值运算符之外,Java还将赋值运算符与算术运算符进行了合并,提供了更简洁的扩展赋值运算符。

⑴赋值运算符:

①=:将右边的值赋值给左边的变量,如num=5

②+=:如num+=5,相当于num=num+5

③-=:如num-=5,相当于num=num-5

⑵扩展赋值运算符

①*=:如num*=5,相当于num=num*5

②/=:如num/=5,相当于num=num/5

③%=:如num%=5,相当于num=num%5

注意:Java中两个数相等用的是==符号,而=是赋值运算符。

3.关系运算符:

当需要比较两个数值的大小时,可以使用关系运算符。关系运算符也称作比较运算符,运算结果为布尔类型。

①>:大于

②<:小于

③==:等于(注意,一个=是赋值运算符)

④>=:大于或等于

⑤<=:小于或等于

⑥!=:不等于

 

4.逻辑运算符:

逻辑运算符用于连接多个布尔值,一般与比较运算符一起使用,表示与、或、非的关。

⑴逻辑运算符:

① & :与运算。当两边表达式都为真时,结果为真,否则结果为假

② | :或运算。当两边表达式结果都为假时,结果为假,否则结果为真

③ ^ :异或运算。当两边表达式结果不同时,结果为真,否则为假

④ ! :非运算。如果表达式结果为真,那么计算结果为假,反之亦然(例如!a,结果正好与a相反)

⑵短路逻辑运算符:

⑤&& :短路与运算。计算结果与&运算符一致,但当一个表达式为假时,后面的表达式就不再运算。

⑥ || :短路或运算。计算结果与|运算符一致,但当一个表达式为真时,后面的表达式就不再运算。

注意:逻辑运算符与短路逻辑运算符的区别在于:

        逻辑运算符:全部走一遍再判断

        短路逻辑运算符:一旦符合条件,后面的判断就不再走

 

5.位运算符:

位运算是直接对二进制进行的计算,性能极高。

① << :将二进制位左移指定数位。移动n位就相当于*2的n次方。

② >> :将二进制位右移指定数位。移动n位就相当于/2的n次方。

③ >>> :无符号右移,结果会连同二进制最高位的符号位也移动。

④ & :与运算,类似逻辑运算符。参与运算的两个数字位都为1,结果才为1,否则结果为0。

⑤ | :或运算,类似于逻辑运算符。参与运算的两个数字位都为0,结果才为0,否则结果为1。

⑥ ^ :异或运算,类似于逻辑运算符。若参与运算的两个数字位不相同则结果为1,若参与运算的两个数字位相同,则结果为0。

⑦ ~ :按位取反运算。二进制数中的每一位如果为0就变成1,如果为1就变成0。

 

6.三元运算符:

三元运算符又称三目运算符,是连接三个表达式的运算符。

语法格式:

条件表达式?表达式1:表达式2;

当条件表达式为真时,执行表达式1,否则执行表达式2。

 

7.运算符的优先级:

b1ca48ab8bc04305a4ef45672b54081a.jpg

 

三、选择结构

选择结构是当给定判断条件时,根据条件来判断是否满足某些条件,如果满足,实行提前规定好的一段代码,反之,执行另一代码的一种结构体。

1.if语句:

是选择结构的代表,通过if语句能够实现各种各样的逻辑判断。

⑴语法格式:

if(条件表达式1)

{

      代码1

}

else if(条件表达式2)

{

      代码2

}

else(条件表达式3)

{

      代码n

}

⑵解释:程序执行到if语句后会进行判断:当条件表达式1为真时,执行代码1。否则当条件表达式2为真时,执行代码2。否则当条件表达式3为真时,执行代码3,否则执行代码n。

其中一个if语句之后可以有零至多个else if语句,可以有零或一个else语句。

⑶注意:①如果if选择结构只需执行一条语句,那么可以省略{},为了提高代码的易读性建议不省略{}。

②{}中的代码语句也称为代码块,在代码块定义的常量或变量的作用域仅限于代码块中,在代码块之外不能使用。

 

2.switch语句:

除了if语句外,switch语句也是选择结构。switch语句一般用于做一些精确值的判断。

⑴语法格式:

switch(变量)

{

case 值1:

           代码1;

           break;

case 值2:

           代码2;

           break;      

case 值3:

           代码3;

           break;

           …

default:

          代码n;

          break;

}

⑵解释: switch语句会根据表达式的值从相匹配的case标签处开始执行,一直执行到break语句处或者switch语句的末尾.如果case全都不匹配,则进入default语句。

⑶注意: switch语句判断的变量中类型只能是 byte、short、int、char、string和枚举,因此它的适用范围较窄,但对于精准值的判断,switch依然是非常方便的。 

 

四、循环结构

循环结构是Java的三大结构之一,它可以在满足某些条件下一直执行某一段程序,从而简化代码。

1.for语句:

⑴语法格式:

for(循环初始化表达式;循环条件表达式;循环后的操作表达式)

{

循环体

}

⑵解释:首先执行一次循环初始化表达式,接着判断循环条件表达式,如果为假,则结束循环。如果为真,则执行循环体之后执行循环后的操作表达式,重复以上操作直到条件表达式的值为假为止。

 

2.while语句:

⑴语法格式:

while(条件表达式)

{

循环体

}

⑵解释: while语句的执行规则很简单,只要条件表达式的值为真就会执行循环体,直到条件表达式的值为假时才退出循环。while循环一般用于不确定循环次数的场景。

 

3.do…while语句

不管for循环还是while循环,都会在循环之前判断循环条件,如果条件刚开始就为假,那么循环体就不会被执行。

⑴语法格式:

do

{

循环体

}

while(条件表达式);注意有;

⑵解释:首先执行循环体之后再判断条件表达式,如果结果为真就重复上述步骤,直到条件表达式的值为假为止。

 

4.continue和break语句:

在任何循环语句的主体部分均可用break控制循环的流程,break用于强行退出循环,不执行循环中剩余的语句。而continue则只能终止某次循环,继续下一次循环。

 

五、数组

1.数组概述:

数组就是一种能够存放相同数据类型的有序集合,或者说它是一个存储数据的容器,可以创建出一个指定长度的数组。这样就可以存储对应条数的数据了。

2.创建数组的方式:

⑴方法一:创建出指定长度的数组,数组有多长,就能存储多少数据。

数据类型[] 数组名=new 数据类型[数组长度];

int[] a=new int[3];

⑵方法二:创建数组的同时向数组中存储数据。此时不需要指定数组长度有多少元素,则数组就多长。

数据类型[] 数组名=new 数据类型[]{元素1,元素2,……}

int[] a=new int[]{1,2,3}

⑶方法三:方式二的简写方式。

数据类型[] 数组名={元素1,元素2,……}

int[] a={1,2,3}

 

3.数组的常见操作:

⑴通过索引操作元素

注意:通过索引操作数组元素时一定要注意索引不能超出数组下标范围。

e650264801c54f7bac54b7689fee5d35.jpg

 

⑵数组的遍历

当数组元素很多时,不可能一个一个使用索引获取元素,而是希望能够通过循环的方式取出数组中的每一个元素。这个操作称作遍历。

①for循环遍历

例子

9d1e4d6e34484ebdbc1c9108903ead5e.jpg

 

②foreach循环遍历

用于指想获取数组中的每一个元素,并不需要给数组元素赋值,也不需要操作索引。用foreach循环这种方式更简便。

语法格式:

for(数据类型 变量 : 数组)

{

    system.out .println(变量);

}

注意:其中数据类型需要与数组的数据类型一致。

503183714e4b4a58bb0249c7e413e893.jpg

 3.获取数组的最值:

28981d0ca5e5452e941e9fd0bff95214.jpg

 4.通过值获取索引:

5109c06d2d154700b5ac08114195b9d5.jpg

 5.数组元素的反转:

c9b79b19b2ba416a9e5990a56abd184f.jpg

 (先到这儿吧,遭不住咯)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值