【JavaSE】Java数据类型,运算符,流程控制语句

CSDN 2024-10-03 16:05:01 阅读 91

目录

数据类型基本数据类型引用数据类型

运算符基本算数运算符增量运算符自增/减运算符关系运算符逻辑运算符位运算符移位运算符条件运算法(三目运算符)

流程控制语句顺序结构分支语句(选择语句)if语句switch语句

循环结构while循环for循环do while循环break和continue

在这里插入图片描述

数据类型

Java中数据类型分为基本数据类型和引用数据类型

基本数据类型

Java中基本数据类型一共有8种

整型中有4种

整型中包含字节型(byte), 短整型(short),整型(int),长整型(long)。

浮点型有两种 单精度浮点型(float),双精度浮点型(double)。

字符型有一种 char

布尔型 boolean。

特意强调在Java中没有像c语言那样0表示假,1表示真。只能用true表示真,false表示假

在这里插入图片描述

引用数据类型

Java中引用数据类型有3种:类(class),接口(interface),数组( [ ] )。

运算符

基本算数运算符

加(+)减(-),乘(*),除(/),取余(%)。语法与c语言一样,除了Java中可以对小数取余。

除法时两边都是整数结果为整数,两边有小数结果为小数。

<code>int a = 5 / 2;//结果为2

int b = 5.0 / 2;//结果为2.5

增量运算符

+= ,-= ,*=,/= ,%=。

int a = 0;

a += 10;//这个代码与 a = a + 10;一样

自增/减运算符

与c语言完全一样,前置/后置加加++,前置/后置减减 --(两个减号连起来的,连着写出来像一个一样)。

int a = 10;

int b = 11;

a = b++;//后置加加那就先运算在加加 此时a = 11,b = 12;

a = ++b;//前置加加就先加加在运算,此时b = 13 ,a = 13;

关系运算符

等于==,相等返回true不等返回false。 不等于 !=,不相等返回true相等返回false。

大于> ,小于<,大于等于>= ,小于等于<=。

逻辑运算符

逻辑与 &&,两个都必须是布尔表达式(也就是返回真假的表达式),两边表达式中全真为真,有假就是假。和数学的并且一样。

逻辑或 || ,两边同样都得是布尔表达式,两边表达式全假为假,有真为真,和数学中或者一样。

逻辑或和逻辑与存在短路现象。短路现象就是前一个表达式执行过后,后面一个表达式不执行了。逻辑或只要前一个表达式为真后面一个表达式就不执行。逻辑与只要前一个表达式为假后面一个表达式就不执行。

逻辑非 !,逻辑非处理的表达式也必须是布尔表达式。

位运算符

按位与&,按位就是按二进制位。对应位只要有0就是0

如 11和13按位与就是如下计算

0000 1011

0000 1101

——————

0000 1001

按位或 |,对应位只要有1就是1

如 11和13按位或就是如下计算

0000 1011

0000 1101

——————

0000 1111

按位异或 ^,对应位相同为0,不同为1

如 11和13按位异或就是如下计算

0000 1011

0000 1101

——————

0000 0110

按位取反 ~,对应位0 1互换。

如 11和13按位取反就是如下计算

0000 1011

——————

1111 0100

移位运算符

移位还是移动二进制位

左移 << 就是将二进制位整体像左边移动n位,右边补0。正数左移一位就相当于原数乘2。

如11<< 2

0000 1011

——————

0010 1100

右移 >>,就是将二进制位整体像右边移动n位,左边补符号位。正数右移一位就相当于原数除2。

如11>> 2 -11>>2

0000 1011 / 1000 1011

—————— / ——————

0000 0010 // 1110 0010

无符号右移>>>,就是将二进制位整体像右边移动n位,左边补0。

如11>> 2 -11>>2

0000 1011 / 1000 1011

—————— / ——————

0000 0010 // 0010 0010

条件运算法(三目运算符)

表达式1 ?表达式2 : 表达式3 ,表达式1必须是布尔表达式。表达式1值为真执行表达式2 ,表达式1值为假执行表达式3。

流程控制语句

顺序结构

顺序结构就是一点转折没有,从前一直走到最后。

分支语句(选择语句)

if语句

1.单if结构

if(布尔表达式){

//代码块

}

//布尔表达式值为真就进if语句执行代码块中的内容

2.if else结构

if(布尔表达式){

//代码块1

}else{

//代码块2

}

//布尔表达式值为真就进if语句执行代码块1中的内容

//布尔表达式结果为假就进else执行代码块2的内容

if(布尔表达式1){

//代码块1

}else if(布尔表达式2){

//代码块2

}else{

//代码块3

}

//布尔表达式1值为真就进if语句执行代码块1中的内容

//布尔表达式2结果为假就进else if执行代码块2的内容

//布尔表达式都为假就进else执行代码块3的内容

在if 和else if和else组合中if和else只能有一个,else if可以有多个,且if是必须有的。

switch语句

switch(变量1){

case 1:

//代码块1

case 2:

//代码块2

......

default:

//代码块n

}

在switch语句中case可以有无数个,然后default就是case剩下的情况,但如果没加break就会一直走下去直到遇到break或者走完为止。

并且变量1不能是基本数据类型中的 ,长整型(long),单精度浮点型(float),双精度浮点型(double),布尔型 boolean。

循环结构

while循环

while(布尔表达式){

//代码块

}

//当布尔表达式为真就进入循环执行代码块,直到布尔表达式为假才出循环

for循环

for(表达式1 ; 表达式2; 表达式3){

//代码块

}

//1.进for循环先执行表达式1且只执行一次,

//2.再执行代码块

//3.再执行表达式2(表达式2必须是布尔表达式)

//4.在执行表达式3

//表达式1和表达式3都可以不写

do while循环

do{

//代码块

}while(布尔表达式);

//先进来执行代码块,在判断布尔表达式真就回去再次执行,布尔表达式假就出循环

break和continue

break就是直接出循环以后都不执行,continue就是中断这次循环,执行下次循环。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。