Java学习笔记之:java运算符
一、介绍
计算机的最基本用途之一就是执行数学运算,作为一门计算机语言,Java也提供了一套丰富的运算符来操纵变量。我们可以把运算符分成以下几组:
- 算术运算符
- 关系运算符
- 位运算符
- 逻辑运算符
- 赋值运算符
- 其他运算符
二、笔记
1.算数运算符
package com.hgd.study2; /**
* 算数运算符
* + - * / % ++ --
* @author HuTiger
*
*/
public class ArithmeticOperator { public static void main(String[] args) {
/*
* %取模:取余数,一般用来判断一个数能不能被整除,比如分页的时候
* 场景:
* 数据库表中有N条数据,要求每页显示10条,用一个表达式来表示他的总页数
* 如果N%10==0 n/10 else n/10+1
*
*/ int i=25;
int result =i%5;//定义一个变量用来保存取模后的数据
System.err.println(result); result =i%6;//定义一个变量用来保存取模后的数据
System.err.println(result); result=i%10;
System.err.println(result+"\t"+i/10);
System.out.println("----------------------");
//------------------------------------- /*
* ++ 自增:在自身的数值上面增加相应的大小
*/
int num =1;
num=num+1;
System.out.println(num);// num++;//相当于num=i+1
System.out.println(num); /*
* ++在前:先进行自增再运算
* ++在后:先运算再自增
*/
int a=1;
int b=1;
a++;
++b;
System.out.println(a);
System.out.println(b); int ra=1+ a++;
int rb=1+ ++b;
System.out.println(ra);
System.out.println(rb); /*
* 练习
*/
// int i=1;
// int result=i+ i++ + ++i + --i - i-- + i++; // int i=1;
// int r=i++;
// System.out.println(r);
}
}
2.关系运算符
package com.hgd.study2; /**
* 关系运算符
* == != > < >= <=
* 表达式的结果为布尔类型
* @author HuTiger
*
*/
public class RelationalOperator {
public static void main(String[] args) {
System.out.println(1==1);
System.out.println(2>3); int i=10;
System.out.println(i%3>4);
}
}
3.位运算符
package com.hgd.study2; /**
* 位运算符:
* 按位与运算符(&)
* 按位或运算符(|)
* 按位异或运算符(^)
* 按位取反运算符(~)
* 左移位运算符(<<)和右移位运算符(>>)
* 1.按位与运算符(&)
* 参与运算的两个值,如果两个相应的位都为1,则结果为1,否则为0.
* 即0&0=0,0&1=0,1&0=0,1&1=1
* 2.按位或运算符(|)
* 参与运算的两个值,如果两个相应的位都为0,则结果为0,否则为1.
* 即0&0=0,0&1=1,1&0=1,1&1=1
* 3.按位异或运算符(^)
* 参与运算的两个值,如果两个相应的位某一位是1,另一个是0,那么按位异域(^)在该位的结果为1 ,
* 也就是说如果两个相应位相同,输出位为0,否则为1.
* 即0&0=0,0&1=1,1&0=1,1&1=0
* 4.按位取反运算符(~)
* 按位取反运算符(~)属于一元运算符,他只对一个自变量进行操作(其他都是二元运算符)
* 按位取反生成与输入位的相反的值--若输入0,则输出1,若输入1则输出0
* 即:~0=1,~1=0
* 5.左移位运算符(<<)
* 运算符<<执行一个左移位。作左移位运算时,高位溢出,低位补0,右边的空位补0,在不产生溢出的情况下,数据左移1位相当于x2例如
* int a=64;
* b=a<<1 //b=128
* 6.右移位运算符(>>)
* 运算符<<执行一个右移位(带符号),操作数的构成二进制位右移若干位,低位溢出舍弃,高位补充原来高位的值(右移一位相当于除2取商)
* 例如 int a=16,b;
* b=a>>2; //b=4
*
* @author HuTiger
*
*/
public class BitwiseOperators { }
4.逻辑运算符
package com.hgd.study2; /**
* 逻辑运算符:& | ! ^ && ||
* 运算符两边的表达式的值为布尔值,运算的结果也是布尔值
* @author HuTiger
*
*/
public class LogicalConnective {
public static void main(String[] args) { /*
* 必须两者为true结果才为true 否则结果是false,是一个并且关系
*/
System.out.println(1<2&&2>3); /*
* || 或的关系 两者同为false 结果是false 其他都是true
*/ /*
* & 并且的关系 和&&的区别:本身表达式的结果没有区别,区别在于运算过程
*/
//短路现象:当表达式前者的计算结果已经决定了整个表达式结果的时候,后面的内容不再进行计算
System.out.println(1<2&&2>3);
System.out.println(1<2&2>3); /*
* |
*/
}
}
5.三元运算符
package com.hgd.study2; /**
* 三元运算符
* 结果=条件? 表达式1:表达式2;
* @author HuTiger
*
*/
public class TernaryOperator { public static void main(String[] args) { int i=10;
int result=i>=20?i:i+10;
System.out.println(result); /*
* 练习:
* 数据库的总条数是count
* 每页显示10条数据
* 需要计算出总页数??
*/
int count=121;
result=count%10==0 ? count/10:count/10+1;
System.out.println(result); /*
* 练习:
* 将一个5(score)分制分为 :
* 5分的评价等级A
* 4==B 3==C 其他是D
*/ int score=4;
String lv;
lv=score>2? score==3?"c":score==4?"b":"a" :"d";
System.out.println(lv); }
}
Java学习笔记之:java运算符的更多相关文章
- Java学习笔记五:Java中常用的运算符
Java中常用的运算符 运算符是一种“功能”符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 score 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作. Java ...
- Java学习笔记之—Java基础
将学习到的JAVA基础用xmind记录了下来,需要原件的可以私信
- Java学习笔记--通过java.net.URLConnection发送HTTP请求
http://www.cnblogs.com/nick-huang/p/3859353.html 使用Java API发送 get请求或post请求的步骤: 1. 通过统一资源定位器(java.net ...
- java 学习笔记1 java语言概述及开发环境
高级语言运行机制 高级语言按程序的执行方式分为编译型和解释型两种. java语言比较特殊,Java程序的执行必须经过先编译后解释的步骤. 1 编译生成字节码,只面向JVM(.class) 2Jvm执行 ...
- Java 学习笔记 (三) Java 日期类型
以下内容摘自: https://www.cnblogs.com/crazylqy/p/4172324.html import java.sql.Timestamp; import java.text ...
- JAVA学习笔记之JAVA 对象引用以及赋值
关于对象与引用之间的一些基本概念. 初学Java时,在很长一段时间里,总觉得基本概念很模糊.后来才知道,在许多Java书中,把对象和对象的引用混为一谈.可是,如果我分不清对象与对象引用, 那实在没 ...
- 8.4(Java学习笔记)java脚本引擎(Rhino)
一.java脚本引擎 java脚本引擎是沟通java和脚本语句之间的桥梁,可以通过对应的脚本引擎在java中调用各种脚本语言. 二.脚本引擎执行脚本代码 ScriptEngineManager:为Sc ...
- Java 学习笔记(4)——java 常见类
上次提前说了java中的面向对象,主要是为了使用这些常见类做打算,毕竟Java中一切都是对象,要使用一些系统提供的功能必须得通过类对象调用方法.其实Java相比于C来说强大的另一个原因是Java中提供 ...
- Java学习笔记三:运算符
1.算术运算符: GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/OperPrac01.java + - * / ...
- java学习笔记之位运算符
java的位运算符主要针对二进制数的位进行逻辑运算,主要包括以下几种的位运算符 1.与运算符(&) 与运算符的使用规律是两个操作数中位为1的时候结果为1,否则都是0,例如 3&5=1 ...
随机推荐
- centOS 一键php环境安装-php博弈
我是方少,闲着没事,感觉每次编译安装,再修改php,mysql,redis,nginx配置文件觉得把大好的青春时间都浪费掉了.如是想着,怎样一键安装 php环境和相关配置.于是拜读了一下lnmp的一键 ...
- Oracle表空间、段、区和块
数据块(Block) 数据块Block是Oracle存储数据信息的最小单位.注意,这里说的是Oracle环境下的最小单位.Oracle也就是通过数据块来屏蔽不同操作系统存储结构的差异.无论是Windo ...
- hadoop自动安装的脚本与步骤
最近要在10几台机器上安装hadoop.对于这种繁复而重复的工作,一步步的打命令行,对于程序员来说是一件不能忍的事情.所以我就琢磨着怎么写一个脚本来自动安装hadoop. 任务: 在10几台机器上中的 ...
- Java中的main()方法详解
在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...
- Python之回调魔法
Python中魔法(前后又下划线)会在对象的生命周期被回调. 借助这种回调, 可以实现AOP或者拦截器的思想. 在Python语言中提供了类似于C++的运算符重在功能:一下为Python运算符重在调用 ...
- asp.net 多个域名重定向,在web.Config中配置
一个网站有多个域名,但是需要在访问其中某个域名之后跳转到另一域名. Web.config 中配置 </system.webServer> <!--重定向 域名 开始--> &l ...
- Daily Scrum 11.12
摘要:本次会议继续讨论程序的问题以及单元测试和集成测试,本次测试为终审,并且本次得到的为alpha版本的最终版本.本次的Task列表如下: Task列表 出席人员 Today's Task Tomor ...
- Awesome (and Free) Data Science Books[转]
Post Date: September 3, 2014By: Stephanie Miller Marty Rose, Data Scientist in the Acxiom Product an ...
- OpenWrt编译到底脚本
在办公室编译OpenWrt,费时很久,原因有两个. 一是办公室网络环境比较糟糕,经常断线不说,很多技术网站间歇性的连不上,不是撞到404就是DNS解析失败等. 二是初次编译OpenWrt时需要从网上下 ...
- sql行转列和列转行(转)
行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...