【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就是中断这次循环,执行下次循环。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。