java_3.运算符、if条件结构
运算符、if条件结构
关系运算符
==
!=
<
>
>=
<=
1.关系运算符运算的结果是boolean类型
2.可以使用boolean类型的变量接收关系运算的结果
public class Demo01 {
public static void main(String[] args) {
int a = 10;
int b = 11;
System.out.println(a == b); // false
boolean result = a != b;
System.out.println(result);
}
逻辑运算符
&& 短路与
|| 短路或
! 非、取反
1.用于运算多个boolean类型的算式
2.运算结果仍然是boolean类型
& 按位与
| 按位或
1.可以用于进行数字的位运算
2.可以进行不短路的逻辑判断
public class Demo02 {
public static void main(String[] args) {
int a = 10;
int b = 11;
int c = 12;
// a大于b并且c大于b
// a > b false
// c > b true
// false && true = false
System.out.println(a > b && c > b);
// false || true = true
System.out.println(a > b || c > b);
// !false = true
System.out.println(!(a > b && c > b));
//--------------------------------
int i = 6;
int j = 8;
int k = 10;
// && 短路与,如果前面的结果为false,后面将不再执行判断
boolean result = i > j && (i += 6) > j; // false
System.out.println(result); // false
System.out.println(i); // 6
// || 短路或,如果前面的结果为true,后面将不再执行判断
boolean result1 = i < j || (i += 6) > j;
System.out.println(result1); // true
System.out.println(i); // 6
//----------------------------------------
int n = 6;
int m = 8;
// 6 -> 0110
// 8 -> 1000
// 0000 -> 0
System.out.println(n & m); // 0
int n1 = 11;
int m1 = 13;
// 11 -> 1011
// 13 -> 1101
// 1111 -> 15
System.out.println(n1 | m1); // 15
// 判断一个数是奇数还是偶数
// 方式一:对2取余
int x = 6;
System.out.println(x % 2 == 0); // true
// 方式二:位运算
// 6 -> 0110
// 1 -> 0001
System.out.println((x & 1) == 0); // true
int i1 = 6;
int j1 = 8;
// & 按位与,如果前面的结果为false,后面也会执行判断,不会短路
boolean result2 = i1 > j1 & (i1 += 6) > j1; // false
System.out.println(result2); // false
System.out.println(i1); // 12
}
条件运算符
三目运算符、三元表达式
格式:条件 ? 表达式1 : 表达式2
分析:条件为true,执行表达式1,条件为false,执行表达式2
public class Demo03 {
public static void main(String[] args) {
System.out.println(1 > 2 ? "1 > 2" : "1 < 2");
String str = 1 > 2 ? "1 > 2" : "1 < 2";
System.out.println(str);
}
Java程序的三种结构
顺序结构
从上到下顺序执行每一行代码
分支结构
使用条件判断构建分支
条件语句
if
1.格式1:if (判断式) {代码块},当判断式结果为true时,运行代码块。
2.格式2:if (判断式) {代码块1} else {代码块2},当判断式结果为true时,运行代码块1,否正执行代码块2。
3.格式3:if (判断式1) {代码块1} else if (判断式2) {代码块2}…,当判断式1结果为true,执行代码块1,否正继续判断判断式2…
switch
示例代码
public class Demo04 {
public static void main(String[] args) {
/*
* 分数分级:
* >= 90 优秀
* >= 80 良好
* >= 60 及格
* < 60 不及格
*/
double score = 55.5;
String result = score >= 90 ? "优秀" : score >= 80 ? "良好" : score >= 60 ? "及格" : "不及格";
System.out.println(result);
// 分数 > 90 奖励一个iphone12
if (score > 90) {
System.out.println("奖励一个iphone12");
}
// Java成绩大于90分,并且Html成绩大于80;或者Java成绩等于100分,Html成绩大于70分。奖励iphone12.
double java = 10;
double html = 81;
if ((java > 90 && html > 80) || (java == 100 && html > 70)) {
System.out.println("奖励一个iphone12");
}
// Java成绩大于90分,奖励一个iphone12,否则试卷抄10遍。
// if (java > 90) {
// System.out.println("奖励一个iphone12");
// }
// if (java <= 90) {
// System.out.println("试卷抄10遍");
// }
if (java > 90) {
System.out.println("奖励一个iphone12");
} else {
System.out.println("试卷抄10遍");
}
// 分数分级
// if (score >= 90) {
// System.out.println("优秀");
// }
// if (score >= 80 && score < 90) {
// System.out.println("良好");
// }
// if (score >= 60 && score < 80) {
// System.out.println("及格");
// }
// if (score < 60) {
// System.out.println("不及格");
// }
if (score >= 90) {
System.out.println("优秀");
} else if (score >= 80) {
System.out.println("良好");
} else if (score >= 60) {
System.out.println("及格");
} else {
System.out.println("不及格");
}
// 根据百米赛跑成绩和性别分组
double time = 9;
String sex = "女";
// 判断成绩是否入围
if (time <= 10) {
System.out.println("你入围了");
// 判断性别,进行分组
if (sex.equals("男")) {
System.out.println("你进入了男子组");
} else if (sex.equals("女")) {
System.out.println("你进入了女子组");
} else {
System.out.println("你进入其他组");
}
} else {
System.out.println("你淘汰了");
}
}
循环结构
使用循环语句实现代码块的循环执行
分支结构
例题1:用户从控制台输入4位会员卡号,计算各个位数之和,例如:输入1234,输出10
package org.jgs2007.work;
import java.util.Scanner;
/**
* 用户从控制台输入4位会员卡号
* 计算各个位数之和
* 例如:输入1234,输出10
*
* @author junki
* @date 2020年6月19日
*/
public class Work01 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个四位数:");
int num = sc.nextInt();
// 求各个位数之和
int a = num % 10; // 获取个位数
int b = num / 10 % 10; // 获取十位数
int c = num / 100 % 10; // 获取百位数
int d = num / 1000; // 获取千位数
System.out.println(a + b + c + d);
sc.close();
}
}
例题2:运算符练习
package org.jgs2007.work;
/**
* 运算符练习
*
* @author junki
* @date 2020年6月19日
*/
public class Work02 {
public static void main(String[] args) {
int y = 10;
System.out.println(y++ == --y); // true
System.out.println(y); // 10
}
}
例题3:判断会员是否中奖
package org.jgs2007.work;
import java.util.Scanner;
/**
* 判断会员是否中奖
*
* @author junki
* @date 2020年6月19日
*/
public class Work03 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个四位数:");
int num = sc.nextInt();
// 求各个位数之和
int a = num % 10; // 获取个位数
int b = num / 10 % 10; // 获取十位数
int c = num / 100 % 10; // 获取百位数
int d = num / 1000; // 获取千位数
int sum = a + b + c + d;
// 判断是否大于20
String result = sum > 20 ? "中奖!" : "很遗憾!";
System.out.println(result);
sc.close();
}
}
例题4:判断会员号百位数是否和随机数相同,相同则中奖。
package org.jgs2007.work;
import java.util.Scanner;
/**
* 判断会员号百位数是否和随机数相同,相同则中奖。
* @author junki
* @date 2020年6月19日
*/
public class Work04 {
public static void main(String[] args) {
// 获取随机数[0,1)
double random = Math.random();
System.out.println(random);
// 获取[0,9]之间的整数随机数
// Math.random() * 10; => [0,10)之间的浮点数
// (int)(Math.random() * 10) => [0,9]之间的整数
int num = (int)(Math.random() * 10);
System.out.println(num);
// 获取会员卡百位数
Scanner sc = new Scanner(System.in);
System.out.println("请输入四位会员卡号:");
int vipNum = sc.nextInt();
if (vipNum / 100 % 10 == num) {
System.out.println("恭喜你,中奖了!");
} else {
System.out.println("很遗憾,未中奖!");
}
sc.close();
}
}
java_3.运算符、if条件结构的更多相关文章
- C语言之运算符和条件结构
表达式:是有操作数和运算符组成的. 操作数:常量.变量.子表达式 X=(x+2)*(y-2); 运算符: 赋值运算符:= .其作用是做赋值运算,将等号后边的值赋值给等号前边的. 复合赋值运算符: += ...
- JAVA的运算符和条件结构
一.JAVA的运算符. 1.赋值运算符 赋值就是把一个变量的值赋给另一个变量. 语法: 变量名=表达式 例如 n = m + 5 2.算术运算符 算术运算符是数学中常用的加.减.乘 ...
- 026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构
026 01 Android 零基础入门 01 Java基础语法 03 Java运算符 06 if-else条件结构 本文知识点:Java中的if-else条件结构语句 上文回顾--if条件结构 如果 ...
- 025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构
025 01 Android 零基础入门 01 Java基础语法 03 Java运算符 05 if条件结构 本文知识点:Java中的if条件结构语句 关系运算符回顾 生活中根据条件进行判断采取不同操作 ...
- JS一周游~(基础、运算符、条件语句)
一.基础篇 JavaScript 基于浏览器(客户端).基于(面向)对象{没有继承}.事件驱动(要有对象).脚本语言(灵活多变) 1.作用 表单的验证,减轻服务端的压力 添加页面动画效果 动态更改页面 ...
- C#基础(三)--运算符及条件控制语句
上一章我们了解了C#的一些数据基本类型.如何定义使用变量及类型之间的相互转换.可能大家会发现程序只能按照我们的要求从上向下这样顺序一条一条的执行. 那么程序能按照我们的要求,当某个条件成立的时候才执行 ...
- python_ 运算符与分支结构
# 运算符与分支结构 ### 运算符 - 赋值运算符 - 用'='表示,左边只能是变量. - 算术运算符 - +.-.*:加.减.乘 - /:除法运算,结果是浮点数 - //:除法运算,结果是整数 - ...
- PL/SQL 流程控制语句-条件结构,循环结构
条件结构 一.IF-THEN语句 IF-THEN语句是最简单的IF语句. 语法: IF condition THEN Statements END IF; 例子: declare v_score nu ...
- C语言复习3_条件结构
if条件结构 if else 结构一般处理区间情况 #include <stdio.h> #include <stdlib.h> int main() { //打印剧情 dou ...
- 条件结构if
教程: 高能:语句结构都是由关键字开头,用冒号结束! 一:语句结构 if condition_1: statement_block_1elif condition_2: statem ...
随机推荐
- Spring Data MongoDB 使用
本文为博主原创,转载请注明出处: Spring Data MongoDB 是 Spring Data 系列的一部分,它提供了与 MongoDB 的集成和操作支持,类似于 JPA 对关系型数据库的支持. ...
- 【原创】xenomai UDD介绍与UDD用户态驱动示例
目录 xenomai UDD与用户态驱动示例 一.UDD介绍 二.UDD原理及框架 1. 内存映射 2. 中断处理 UDD与UIO的区别 3. linux UIO与xenomai UDD框架对比 3. ...
- python3 猜数字小游戏
Guess_the_Number.py import random # Generate a random number between 1 and 100 number = random.randi ...
- ip2location.py
import re import geoip2.database from tabulate import tabulate from matplotlib import pyplot as plt ...
- 基于weave实现docker跨主机网络通信
前言 IP: 192.168.0.10 192.168.0.11 系统版本:centos 7 weave版本:2.8.1,下载地址:https://git.io/weave docker版本:18.0 ...
- Ceph-介绍
Ceph架构简介及使用场景介绍 一.Ceph简介 Ceph是一个统一的分布式存储系统,设计初衷是提供较好的性能.可靠性和可扩展性. 二.Ceph特点 1.高性能 - 采用CRUSH算法,数据分布均衡, ...
- 【题解】AtCoder Beginner Contest 318(D - Ex)
赛时过了 A-G,Ex 仿佛猜到了结论但是完全不懂多项式科技,就炸了. 大家好像都秒了 A,B,C 就不写了. D.General Weighted Max Matching 题目描述: 给你一个加权 ...
- Linux安装达梦数据库DM8
1.简介描述 DM8是达梦公司在总结DM系列产品研发与应用经验的基础上,坚持开放创新.简洁实用的理念,推出的新一代自研数据库.DM8吸收借鉴当前先进新技术思想与主流数据库产品的优点,融合了分布式.弹性 ...
- tcpdump后台不间断抓包
版本1的抓包命令 这两天排查一个小问题,需要在服务器上使用tcpdump24小时不间断抓包,这里简单记录下. 先看下tcpdump的语法: tcpdump [ -AbdDefhHIJKlLnNOpqS ...
- Machine Learning for NetFlow Anomaly Detection With Human-Readable Annotations 笔记
Machine Learning for NetFlow Anomaly Detection With Human-Readable Annotations 关键摘要 我们开发了一个复杂企业网络中的异 ...