Java 笔记 之 运算符
来源:互联网 发布:python 爬虫 二手房 编辑:程序博客网 时间:2024/06/05 07:44
运算符的概述
- 对常量和变量进行操作的符号称为运算符,即 : 加 + ,减 - ,乘 * ,除 / ;
- 表达式的概述
- 用运算符把常量或者变量链接起来符合Java语法的式子称为表达式 . 不同运算符连接的式子体现的是不同类型的表达式 .
- 例 : 定义两个int类型的变量 a,b,做加法,即 a+b;
常见的运算符
算数运算符
(+ ,- , * ,/) 的基本用法
public class Demo01 { public static void main(String[] args) { // 定义两个变量 int a = 3; int b = 4; System.out.println(a + b); System.out.println(a - b); System.out.println(a * b); System.out.println(a / b); // 整数相除只能得到整数,想要得到小数,就必须有浮点数参与运算 System.out.println(3 / 4.0); System.out.println(3.0 / 4); }}
% 的用法
- 得到的是两个相除数据的余数
用处 : 判断两个数据是可可以整除
public class Demo02Operator { public static void main(String[] args) { int a = 5; int b = 3; System.out.println(a / b);//1 System.out.println(a % b);//2 }}
+的多种用法
- 数字相加
- 字符相加 : 用字符计算机中底层储存对应的数据值来参与运算
字符串相加 : 这里的 + 其实不是加法,而是字符串连接符;字符串和其他类型的数据做拼接,结果是字符串类型 .
public class Demo03 { public static void main(String[] args) { //1.整数的加法 int a = 10; int b = 20; System.out.println(a + b); System.out.println("------------------"); //2.字符参与加法操作 char c = '0'; char c2 = 'a'; System.out.println(a + c); System.out.println(a + c2); System.out.println("------------------"); //3.字符串参与加法操作 System.out.println("hello" + a); System.out.println("hello" + a + b); //"hello"+10="hello10",然后再和b进行拼接 System.out.println(a + b + "hello");//从左到右依次计算,先求和,在连接 }}
++和- -的用法
- ++,- - 运算符 : 对变量做加 1 或者减 1 操作
- ++,- - 既可以写在变量的后面,也可以写在变量的前面
- 单独使用 : ++,- - 无论是写在变量的前面还是后面,结果都是一样的
- 和其它操作混合使用 : 如果++,- - 卸载变量后面,先拿变量本来的值参加与操作,结束后变量做++,- -
public class Demo04 { public static void main(String[] args) { int a = 10; System.out.println("a:" + a); // 单独使用 // a++; // ++a; // System.out.println("a:" + a); // 参与操作使用 // int b = a++; int b = ++a; System.out.println("a:" + a); System.out.println("b:" + b); }}
赋值运算符
- 基本的赋值运算符 : =
- 把右边的值赋值给左边
扩展的赋值运算符 : += ,-+ ,*= ,/= ,%=
- 把左边和右边的运算结果赋值给左边
- 注意 : 左边不能是常量
隐含了一个强制类型转换
public class Demo05 { public static void main(String[] args) { // 把10赋值给int类型的变量a int a = 10; // += 把左边和右边的数据进行运算,最后赋值给左边,左边的只能是变量 a += 10;// 相当于a = a + 10 System.out.println("a:" + a); System.out.println("----------------------"); short s = 10; // s += 20; // 相当于 s = s + 20; s = (short) (s + 20); System.out.println("s:" + s); }}
- 基本的赋值运算符 : =
关系运算符
- == , != , > , < , >= , <=
- 关系运算符的结果都是boolean 型,也就是说,要么是true,要么是false
注意事项 : 关系运算符”==”不能误写成”=”
public class Demo06 { public static void main(String[] args) { int a = 10; int b = 20; int c = 10; System.out.println(a == b); System.out.println(a == c); System.out.println("-----------------"); System.out.println(a != b); System.out.println(a != c); System.out.println("-----------------"); System.out.println(a > b); System.out.println(a > c); System.out.println("-----------------"); System.out.println(a >= b); System.out.println(a >= c); System.out.println("-----------------"); int x = 3; int y = 4; // System.out.println(x == y); // System.out.println(x = y);// 把y赋值给x,把x的值输出 boolean bb = (x == y); // 报错 // boolean cc = (x = y); int cc = (x = y); }}
逻辑运算符
- 作用 : 逻辑运算符用于链接布尔型表达式,在Java中不可以写成 3 < x < 6 , 应该写成 x>3 && x<6 .
基本使用: &(与),|(或),^(异或),!(非)
- 与 : & 有false则false
- 或 : | 有则true,无则true
- 异或 : ^ 相同则false,不同则true
非 : ! true则false , false则true
public class Demo07 { public static void main(String[] args) { int a = 10; int b = 20; int c = 30; System.out.println((a > b) & (a > c));// false & false System.out.println((a < b) & (a > c)); // true & false System.out.println((a > b) & (a < c)); // false & true System.out.println((a < b) & (a < c)); // true & true System.out.println("---------------"); System.out.println((a > b) | (a > c));// false | false System.out.println((a < b) | (a > c)); // true | false System.out.println((a > b) | (a < c)); // false | true System.out.println((a < b) | (a < c)); // true | true System.out.println("---------------"); System.out.println((a > b) ^ (a > c));// false ^ false System.out.println((a < b) ^ (a > c)); // true ^ false System.out.println((a > b) ^ (a < c)); // false ^ true System.out.println((a < b) ^ (a < c)); // true ^ true System.out.println("---------------"); System.out.println((a > b)); // false System.out.println(!(a > b)); // !false System.out.println(!!(a > b)); // !!false }}
&和&&的区别
- 单&时,左边无论是真假,右边都进行运算;
- 双&时,如果左边为真,右边参与运算,如果左边为假,那么右边不参与运算
- 判断一个字符串补位null并且不是空字符串”“时,必须使用&&,否则会报空指针异常
“|”和”||”的区别同理,双或时,左边为真,右边不参与运算
public class Demo08 { public static void main(String[] args) { int a = 10; int b = 20; int c = 30; System.out.println((a > b) && (a > c));// false && false System.out.println((a < b) && (a > c)); // true && false System.out.println((a > b) && (a < c)); // false && true System.out.println((a < b) && (a < c)); // true && true System.out.println("---------------"); System.out.println((a > b) || (a > c));// false || false System.out.println((a < b) || (a > c)); // true || false System.out.println((a > b) || (a < c)); // false || true System.out.println((a < b) || (a < c)); // true || true System.out.println("---------------"); int x = 3; int y = 4; // System.out.println((x++ > 4) & (y++ > 5)); // false & false System.out.println((x++ > 4) && (y++ > 5)); // false && false System.out.println("x:" + x); System.out.println("y:" + y); }}
public class Dome09 { public static void main(String[] args) { String string = null; System.out.println(string == null & string.equals(""));//空指针异常,解决方法:用&& }}
三元运算符
- 格式 : (关系表达式)?表达式1:表达式2;
- 如果条件为true,运算后的结果是表达式1;
- 如果条件为false,运算后的结果是表达式2;
示例 :
获取两个数中较大的数
int x = 3;
int y = 4;
int z;
z = (x>y)?x:y;
z变量储存的就是两个数中较大的数public class Demo10 { public static void main(String[] args) { int a = 10; int b = 20; int c = (a > b) ? a : b; System.out.println("c:" + c); }}
- 格式 : (关系表达式)?表达式1:表达式2;
阅读全文
0 0
- java笔记之运算符
- Java 笔记 之 运算符
- Java自学笔记之运算符
- JAVA学习笔记之运算符
- 牛客网笔记之JAVA运算符
- java 学习笔记之位移运算符
- Java核心技术学习笔记之二:Java运算符
- JAVA学习笔记二之(5)运算符①
- JAVA学习笔记二之(6)运算符②
- JAVA学习笔记之运算符和流程控制结构
- Java笔记之算数运算符++--的使用
- Java4Android笔记之Java中的运算符与表达式
- java之运算符
- Java之运算符
- Java运算符之&、|、&&、||、!
- Java 运算符之 & | ~ ^
- java之运算符
- java运算符之++、--
- Slim研读笔记五之依赖注入容器(上)
- 编译原理-翻译布尔表达式
- How to Install WeChat Desktop Client in Ubuntu Linux
- Linux 操作系统常用指令
- SVN本地搭建
- Java 笔记 之 运算符
- github+hexo搭建个人博客(1.简单搭建)
- CAD中的选择集过滤----有条件选择AutoCAD实体
- AUTOSAR中的高速任务调度
- Android中跳转到系统一些设置界面的方法
- 2017-12-05 Xilinx U471-IOB文档学习&总结(3):ILOGIC/OLOGIC Resources
- POJ 1077 八数码(康托展开+暴力bfs)
- 图的拓扑排序及其应用
- Ubuntu终端常用的快捷键 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作更得心应手。在Ubuntu中打开终端的快捷键是Ctrl+Alt+T。其他的一些常用