逻辑运算符、位运算符、三元运算符、判断语句(if,switch)
逻辑运算符
- 逻辑与 &:由false则false
- 逻辑或 |:有true则true
- 逻辑异或 ^:相同为false,不同为true
- 逻辑非 !:非false则true,非true则false
&&和&的区别:
- 最终结果一样
- &&具有短路效果,左边是false,右边不执行
- &是无论左边false还是true,右边都会执行
位运算符
- 位与 & :有0则1
- 位或 | :有1则1
- 位异或 ^ :相同则0,不同则1;特点,一个数据对另一个数据位异或两次,该数本身不变。
- * :按位取反
实现两个整数变量的交换
方法一:创建第三方变量
int x=10;
int y=5; int temp;
temp=x;
x=y;
y=temp; System.out.println("x="+x+",y="+y);
方法二:有弊端,有可能超出int的取值范围
x=x+y; //10+5=15
y=x-y; //15-5=10
x=x-y; //15-10=5
方法三:通过位异或 ^
x=x^y; //10^5
y=x^y; //10^5^5 y=10
x=x^y; //10^5^10 x=5
位移运算符
<<:左移 左边最高位丢弃,右边补齐0
- 向左移动几位,就是乘以2的几次幂
System.out.println(12<<1); //
System.out.println(12<<2); //
>>:右移 最高位是0,左边补齐0;最高位是1,左边补齐1
- 向右移动几次,就是除以2的几次幂(取整)
System.out.println(12>>1); //
System.out.println(12>>2); //
>>>:无符号右移 无论最高位是0还是1,左边补齐0
三元运算符
- 格式:(关系表达式)?表达式1:表达式2;
- 若表达式正确,则取表达式1,若错误,则取表达式2
//例子
//比较两个整数是否相同
int x=10;
int y=5;
//boolean b = (x==y) ? true:false;
boolean b = (x==y) ;
System.out.println("b="+b); //获取三个整数中的最大值
int a=10;
int b=20;
int c=30;
//先比较任意两个数的值,找出这两个数中的最大值
int temp = (a>b) ? a:b;
//用前两个数的最大值与第三个数比较,获取最大值
int max = (temp>c) ? temp:c;
System.out.println("max="+max);
键盘录入的基本格式
(1)导包:import java.util.Scanner;在class上面
(2)创建键盘录入对象:Scanner sc = new Scanner(System.in);
(3)通过对象获取数据:int x = sc.nextInt();
//例子
import java.util.Scanner;
class text{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);//通过键盘录入
System.out.println("请输入一个整数:");
int x = sc.nextInt();
System.out.println(x);
}
}
选择结构if语句
if 语句格式一:
if(比较表达式){
语句体;
}
执行流程:
- 先计算比较表达式的值,看其返回值是true还是false。
- 如果是true,就执行语句体。
- 如果是false,就不执行语句体。
int age = 19;
if(age>=18){
System.out.println("可以浏览");
}
System.out.println("不可以");
}
注意事项:
(1)比较表达式无论简单还是复杂,结果必须是boolean类型;
(2)if语句控制的语句体如果是一条语句,大括号可以省略;
if语句格式二:
if(比较表达式){
语句体1;
}else{
语句体2;
}
执行流程:
- 首先计算比较表达式的值,看其返回值是true还是false;
- 如果是true,就执行语句体1 ;
- 如果是false,就执行语句体2;
//例子
//1、获取两个数中较大的值
int x = 1;
int y = 2;
if(x>y){
System.out.println(x);
}else{
System.out.println(y);
}
//2、判断一个数是奇数还是偶数,并输出是奇数还是偶数
int num = 10;
if(num%2==0){
System.out.println(num+"是一个偶数");
}else{
System.out.println(num+"是一个奇数");
}
if语句格式三:
if(比较表达式1){
语句体1;
}else if(比较表达式二){
语句体2;
}else if(比较表达式三){
语句体3;
}
//………………
else{
语句体n+1;
}
练习:
//例子
//1、键盘录入一个成绩,判断并输出成绩的等级
/*
90-100:优
80-89: 良
70-79: 中
60-69: 及
0-59: 差
*/
Scanner sc = new Scanenr(System.in);
System.out.println("请输入学生成绩");
int x = sc.nextInt();
if(x>=90 && x<=100){
System.out.println("优");
}else if(x>=80 && x<=89){
System.out.println("良");
}else if(x>=70 && x<=79){
System.out.println("中");
}else if(x>=60 && x<=69){
System.out.println("及");
}else if(x>=0 && x<=59){
System.out.println("差");
}else{
System.out.println("成绩录入错误");
}
if语句的嵌套使用:
//例子
//获取三个数的最大值
int a = 10;
int b = 20;
int c = 30;
if(a>b){
if(a>c){
System.out.println(a+"是最大值");
}else{
System.out.println(c+"是最大值");
}
}else{ //b>=a
if(b>c){
System.out.println(b+"是最大值");
}else{
System.out.println(c+"是最大值");
}
}
switch语句:
int x=10;
switch(表达式){
case 值1:
语句体1;
break;
case 值2:
语句体1;
break;
//........
default:
语句体n+1;
break;
}
//例子
//给定一个值,输出对应星期几
int week = 5;
switch (week) {
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
case 3:
System.out.println("星期三");
break;
case 4:
System.out.println("星期四");
break;
case 5:
System.out.println("星期五");
break;
case 6:
System.out.println("星期六");
break;
case 7:
System.out.println("星期日");
break;
default:
System.out.println("没有对应的星期");
break;
}
逻辑运算符、位运算符、三元运算符、判断语句(if,switch)的更多相关文章
- 5——PHP逻辑运算符&&唯一的三元运算符
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- 选择判断语句(switch)
选择判断语句(switch) 一.switch语句格式 switch(表达式){ case 取值1: 执行语句: break: case 取值2: 执行语句: break: …... defau ...
- Java 关键字、标识符、注释、常量与变量、数据类型,算术、赋值、比较、逻辑、位、三元运算符和流程控制、break、continue【3】
若有不正之处,请多多谅解并欢迎批评指正,不甚感激.请尊重作者劳动成果: 本文原创作者:pipi-changing本文原创出处:http://www.cnblogs.com/pipi-changing/ ...
- 前端笔记知识点整合之JavaScript(二)关于运算符&初识条件判断语句
运算符 数学运算符的正统,number和number的数学运算,结果是number.出于面试的考虑,有一些奇奇怪怪的数学运算: 数学运算中:只有纯字符串.布尔值.null能够进行隐式转换. //隐 ...
- 前端笔记之JavaScript(二)关于运算符&初识条件判断语句
运算符 数学运算符的正统,number和number的数学运算,结果是number.出于面试的考虑,有一些奇奇怪怪的数学运算: 数学运算中:只有纯字符串.布尔值.null能够进行隐式转换. //隐式转 ...
- [19/09/16-星期一] Python的运算符和条件判断语句
一.运算符 (1)算术运算符 + 加法运算符(如果是两个字符串之间进行加法运算,则会进行拼串操作) a = 10 + 5 计算 a = 'hello' + ' ' + 'world' 拼串 - ...
- 字符串运算符&&三元运算符
public class Demo01 { public static void main(String[] args) { //字符串连接符 + String int a=20; int b=10; ...
- ECMAScript基本语法——⑤运算符 三元运算符
?: 简化ifelse的操作
- 除了判断语句if switch 我们还可以怎么做?-b
之前项目中有根据后台数据执行不同代码,根据不同的字符串返回不同UIViewController对象,最开始需要的vc 种类不多我用的是if else 做字符串比较再执行不同代码,但是如果需求的vc 有 ...
- PHP中的运算符---位运算符、递增递减运算符、三元运算符、字符串运算符、数组运算符、类型运算符、错误控制运算符
1.位运算符 位运算符用来对整型数的指定位进行置位,如果被操作数是字符串,则对该字符串的ASCII码值进行操作. 运算类型 运算符 举例 结果 按位与 & $a & $b 将$a 与 ...
随机推荐
- PHP7--PHP的一次重大变革
PHP7--PHP的一次重大变革 一.写在开头 PHP7是PHP编程语言全新的一个版本,主要在性能方面获得了极大的提升.官方的文档显示,PHP7可以达到PHP5.x版本两倍的性能.同时还对PHP的语法 ...
- Linux-基础学习(二)-基本部署
开始今日份整理 1. 系统优化部分 1.1 Linux防火墙安全相关(重要) 1.1.1 SELinux功能 SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA ...
- ENABLE_DDL_LOGGING 参数使用 监控对象的DDL(在alter 日志记录DDL语句)
启用 DDL 日志记录 功能--支持动态调整 alter system set enable_ddl_logging=true; alter system set enable_ddl_logging ...
- 20175310 《Java程序设计》第9周学习总结
20175310 <Java程序设计>第9周学习总结 本周博客:https://www.cnblogs.com/xicyannn/p/10785915.html 教材学习内容总结 这周学习 ...
- 添加jar包到本地Maven仓库
在使用Maven的过程中,经常碰到有些jar包在中央仓库没有的情况.如果公司有私服,那么就把jar包安装到私服上.如果没有私服,那就把jar包安装到本地Maven仓库.今天介绍2种 ...
- 基于 HTML5 的 WebGL 楼宇自控 3D 可视化监控
前言 智慧楼宇和人们的生活息息相关,楼宇智能化程度的提高,会极大程度的改善人们的生活品质,在当前工业互联网大背景下受到很大关注.目前智慧楼宇可视化监控的主要优点包括: 智慧化 -- 智慧楼宇是一个生态 ...
- DisplayAttribute没作用,why?
namespace WebBulletinBoard.DataAccess { using System; using System.ComponentModel.DataAnnotations; u ...
- 云计算openstack共享组件(3)——消息队列rabbitmq
队列(MQ)概念: MQ 全称为 Message Queue, 消息队列( MQ ) 是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链 ...
- fisher线性判别
fisher 判决方式是监督学习,在新样本加入之前,已经有了原样本. 原样本是训练集,训练的目的是要分类,也就是要找到分类线.一刀砍成两半! 当样本集确定的时候,分类的关键就在于如何砍下这一刀! 若以 ...
- DAY15、模块
一.函数的补充 1.函数回调: 提前在另一个函数中写出函数的调用,再根据实际的需求去考虑函数体的实现 def download(fn=None): print('开始下载') my_sleep(1) ...