深入理解算术运算符:一元与二元操作数、自增运算符及取模运算详解

表达式和运算符:

深入理解算术运算符:一元与二元操作数、自增运算符及取模运算详解

算术运算符:

1元代表操作数个数,1元代表1个操作数;

一元运算符:++自增(只能是变量),++a相当于a=a+1;

++a 和 a++ 之间有一个区别:++a 先递增,然后 a++ 先递增。

实际操作:int a = 5;

int b = ++a + ++a + a++ + a++ + ++a;输出a和b的值;

+:

1.如果+号两边都是数字,则计算函数

2. 如果+号两边都是非数字,则连接函数

Infinity 是正无穷大,NaN 不是数字

%:取模并返回两个操作数相除后的余数。注:当整形取0或0.0的膜时,得到的数为非数NAN;当取任何大于自身的数时,得到的结果就是它本身。

实际操作:输入一个四位数,求该四位数的个位、十位、百位、千位之和;

关系运算符:

判断两个或多个表达式之间的关系是否成立,返回结果:true/false

,>=, 3 && 'c' > 'a'

exp1 == true, exp2 == true ----->true

exp1 == true, exp2 == false ------>false

exp1 == false,不计算exp2的值----->false

&:逻辑与

(经验1和经验2)

exp1 == true, exp2 == true ----->true

exp1 == true, exp2 == false ------>false

exp1 == false,计算exp2的值----->false

或:或(||)、短路或

(exp1 || exp2)

exp1 == false, exp2 == true ------>true

exp1 == false, exp2 == false------>false

exp1 == true,不计算exp2的值------>true

|:逻辑或:如果其中一个结果为真,则最终计算结果为真,否则为假

(exp1|exp2)

exp1 == false, exp2 == true ------>true

exp1 == false, exp2 == false------>false

exp1 == true,计算exp2的值-------->true

按位或 |按位与& 连接两边数字时,必须先将两边的十进制数转换为二进制

操作规则:

0|0=0; 0|1=1; 1|0=1; 1|1=1;

0&0=0;0&1=0;1&0=0;1&1=1;

XOR:当两个表达式的结果不同时^返回true

赋值运算符:从右向左进行运算,=左边只能是变量

条件运算符:(三元运算符)

变量 = exp1 ?指数2:指数3;

注意!!!

1、如果exp1的结果为true,则变量的值为exp2,否则为exp3;

2.变量的数据类型必须与exp2和exp3的值的数据类型相同。

控制流语句:

1、判决书:

如果

语法:if(条件判断){

代码;

如果……否则

语法: if(条件){

代码1;

}别的{

代码2;

如果…否则如果…否则如果…否则

语法: if(条件1){

代码1;

}否则如果(条件2){

代码2;

}否则如果(条件3){

代码3;

}别的{

代码4;

2. switch分支语句

数据类型变量名=变量值;

语法:switch(变量名){

案例值 1:code1;休息;

案例值 2:code2;休息;

案例值 3:code3;休息;

默认:代码4;休息;

注意!!!

该数据类型只能是:byte、short、char、int。 JDK1.7版本以后,String(字符串)也适用于switch;

实践:

1. 从控制台输入星期几 (1-7)。如果输入是1-5,就会发生愉快的打印。如果输入6或7,则会打印happy Weekend。如果输入的不是1-7之间的数字,则打印输入错误! (通过 if...else if...else if...else 和 switch 实现);

2、依次输入三个整数,使用条件运算符求出这三个数中的最大和最小数;

附源码如下:

导入java.util.Scanner;

公共类 Dome1 {

公共静态无效主要(字符串[]年龄){

for (int i = 1; ik ? i : k) : (j > k ? j : k);

System.out.println(max);

int 最小值 = i > j ? (j > k ? k : j) : (i > k ? k : i);

System.out.println(min);

整数 n = 7;

整数米 = 2;

int k2 = ++n + m-- + (++m - n-- + m++) + ++n;

// 求n、m、k的值

n = 8;

米 = 3;

k2=14;

// 1268 和 102 45 | 17 号

System.out.println(1268 & 102); // 100

System.out.println(45 | 17); // 61

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

25阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

27阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

23阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读