网站首页 > java教程 正文
表达式和运算符:
算术运算符:
元代表多少个操作数,一元表示一个操作数;
一元运算符:++自增(只能是变量),++a等价于a = a+ 1;
++a 与 a++ 有区别: ++a 先自增 在运算 a++ 先运算 在自增
实操: int a = 5;
int b = ++a + ++a + a++ + a++ + ++a; 输出 a 、b 的值;
+:
1、如果+号两边都是数字,计算功能
2、如果+号两边只要有一边是非数字,连接功能
Infinity 正无穷大, NaN 非数 not a number
%: 取模,返回两个操作数整除后的余数,注意: 整形对0或者0.0取膜,得到的数是非数 NAN;任何数对比他本身大的数取膜时,得到的结果就是他本身
实操: 输入一个四位数,求该四位数的个位、十位、百位及千位之和;
关系运算符:
判断两个或者多个表达式之间的关系是否成立,返回结果:true/false
<,>,>=,<=,!=,==
逻辑运算符:
与:并且(&&),短路与
(exp1 && exp2) 4> 3 && ‘c’ > ‘a’
exp1 == true, exp2 == true ----->true
exp1 == true, exp2 == false ----->false
exp1 == false, 不计算exp2的值 ----->false
&:逻辑与
(exp1 & exp2)
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
|:逻辑或:有一个结果为true,那么最终的计算结果为true否则为false
(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;
异或:^ 当两个表达式结果不同返回true
赋值运算符:从右向左执行运算的,=左边只能是变量
条件运算符:(三目运算符)
变量 = exp1 ? exp2 : exp3;
注意!!!
1.exp1的结果为true,则变量的值为 exp2 否则为 exp3;
2.变量的数据类型必须与exp2、exp3的值的数据类型相同
控制流语句:
1、判断语句:
if
语法:if(条件判断){
code;
}
if…else
语法:if(condition){
code1;
}else{
code2;
}
if…else if…else if…else
语法:if(condition1){
code1;
}else if(condition2){
code2;
}else if(condition3){
code3;
}else{
code4;
}
2、switch分支语句
数据类型 变量名 = 变量值;
语法:switch(变量名){
case 值1:code1; break;
case 值2:code2; break;
case 值3:code3; break;
default:code4; break;
}
注意!!!
此数据类型只能为:byte、short、char、int ,JDK1.7版本后 String(字符串)也适用于switch;
实操:
1、从控制台输入星期(1-7),如果是输入的1-5,打印工作愉快,如果输入的是6或者7,打印周末愉快,如果输入的不是1-7之间的数字,则打印输入错误!(用if…else if…else if…else和switch实现);
2、陆续输入三个整数,运用条件运算符来求出这三个数中的最大数,最小数;
附源码如下:
import java.util.Scanner;
public class Dome1 {
public static void main(String[] ages) {
for (int i = 1; i <= 5; i++) { // 控制行
for (int j = 1; j <= 5 - i; j++) { // 控制列
System.out.print(" ");
}
for (int k = i; k >= 1; k--) { // 控制数字
System.out.print(k);
}
for (int num = 2; num <= i; num++) { // 控制后数字
System.out.print(num);
}
System.out.println(); // 自行换行
}
// 获取个位十位百位千位的方法
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int he;
int qianwei = num / 1000;
int baiwei = num % 1000 / 100;
int shiwei = num % 100 / 10;
int gewei = num % 10;
he = qianwei + baiwei + shiwei + gewei;
System.out.println("和为:" + he);
/*
* 陆续输入三个整数,运用条件运算符来求出这三个数中的最大数,最小数
*/
Scanner sc2 = new Scanner(System.in);
int i = sc2.nextInt();
int j = sc2.nextInt();
int k = sc2.nextInt();
int max = i > j ? (i > k ? i : k) : (j > k ? j : k);
System.out.println(max);
int min = i > j ? (j > k ? k : j) : (i > k ? k : i);
System.out.println(min);
int n = 7;
int m = 2;
int k2 = ++n + m-- + (++m - n-- + m++) + ++n;
// 求 n , m , k的值
n = 8;
m = 3;
k2 = 14;
// 1268 & 102 45 | 17
System.out.println(1268 & 102); // 100
System.out.println(45 | 17); // 61
}
猜你喜欢
- 2024-10-05 java基础知识精华总结(一)(java基础知识点大全)
- 2024-10-05 Java核心基础知识汇总,初级程序员必备,面试必考!
- 2024-10-05 Java基础知识(一些需要注意的点)(java需要注意什么)
- 2024-10-05 想要学好Java,首先需要了解Java编程语言基础知识中的这四点
- 2024-10-05 Java 4 大核心基础知识,初学者必备
- 2024-10-05 「Java后端总结」Java基础(1)——Java基础知识
- 2024-10-05 java4大核心基础知识,初学者必备
- 2024-10-05 Java核心基础知识总结(java核心知识pdf)
- 2024-10-05 Java初学者必备4大核心基础知识(java的基础知识)
- 2024-10-05 Java基础知识学习(java基础知识视频教程)
你 发表评论:
欢迎- 最近发表
-
- 你真的会用 Java 中的线程池吗?多个企业级线程池工具类封装实践
- 线程池的实现原理、优点与风险、以及四种线程池实现
- Java线程池ThreadPoolExecutor实现原理剖析
- 深入分析线程池的实现原理(线程池是干嘛的)
- 一文搞懂JAVA线程池工作原理(java线程池的工作流程)
- Java线程池的工作原理(java线程池的实现原理)
- 5分钟读懂C#中TcpClient、TcpListener和Socket三个类的角色
- JVM对象的创建过程(jvm运行过程中创建的对象一般存放在方法区)
- 对象组成与Java内存模型JMM分析(java对象在内存中存储的结构)
- JVM对象内存分配详细过程(栈上分配->TLAB->老年代->Eden区)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)