首页
关于
友链
Search
1
java project 客户管理信息软件
131 阅读
2
java学习笔记10
120 阅读
3
java学习笔记12
113 阅读
4
java学习笔记1
108 阅读
5
java学习笔记11
103 阅读
默认分类
程序设计
java
vue前端
java学习笔记
java练习
java工程
登录
Search
标签搜索
java
java基础
学习笔记
练习
类
java进阶
数组
循环
vue
工程
helloworld
注释
关键字
变量
基本数据类型
选择
String
进制
运算符
Scanner
bandao
累计撰写
19
篇文章
累计收到
1
条评论
首页
栏目
默认分类
程序设计
java
vue前端
java学习笔记
java练习
java工程
页面
关于
友链
搜索到
1
篇与
的结果
2021-11-21
java学习笔记4
{music id="1817839113" color="#1989fa" /}一. 运算符算术运算符 赋值运算符 比较运算符(关系运算符) 逻辑运算符 位运算符 三元运算符1. 算术运算符1. 常用的算术运算符运算符运算范例结果+正号+33-负号b=4; -b-4+加5+510-减6-42*乘3*412/除5/51%取模(取余)7%52++自增(前):先运算后取值a=2;b=++a;a=3;b=3++自增(后):先取值后运算a=2;b=a++;a=3;b=2- -自减(前):先运算后取值a=2;b=- -aa=1;b=1- -自减(后):先取值后运算a=2;b=a- -a=1;b=2+字符串连接“He”+”llo”“Hello2. 除法运算 /java代码public class AriTest { public static void main(String[] args) { int num1 = 12; int num2 = 5; int result1 = num1 / num2; System.out.println(result1); //2 int result2 = num1 / num2 * num2; System.out.println(result2); //10 double result3 = num1 / num2; System.out.println(result3); //2.0 double result4 = num1 / (num2 + 0.0); //2.4 System.out.println(result4); double result5 = (double) num1 / num2; //2.4 System.out.println(result5); } }2. 取余运算 %1. java代码public class AriTest { public static void main(String[] args) { //取余运算 % System.out.println("12 % 5 = " + 12 % 5); //2 System.out.println("-12 % 5 = " + -12 % 5); //-2 System.out.println("12 % -5 = " + 12 % -5); //2 System.out.println("-12 % -5 = " + -12 % -5); //-2 } }2. Tip结果的符号与被模数(前面那个)的符号相同。经常使用%来判断能否被除尽的情况。3. 前后自增(减) ++ --1.运算规则(前)++ :先自增1,后运算 (后)++ :先运算,后自增1 (前)-- :先自减1,后运算 (后)-- :先运算,后自减1 自增1不会改变本身的数据类型2. java代码public class AriTest { public static void main(String[] args) { //a++ ++a int a1 = 10; int b1 = ++a1; System.out.println("a1 = " + a1 + ",b1 = " + b1);//11 11 int a2 = 10; int b2 = a1++; System.out.println("a2 = " + a2 + ",b2 = " + b2);//10 11 int a3 = 10; //这样子两个都是一样的 ++a3;//a3++; short s1 = 10; s1 = (short) (s1 + 1); //这个是可以的 System.out.println(s1); //11 s1++; //自增1不会改变本身的数据类型 System.out.println(s1); //12 //--a a-- int a4 = 10; int b4 = --a4; System.out.println("a4 = " + a4 + ",b4 = " + b4); //9 9 } }2. 赋值运算符1. java代码public class SetValueTest { public static void main(String[] args) { int i1 = 10; int j1 = 10; int i2 = 10, j2 = 20; //int i3 = j3 = 10; 这个不行 int i3, j3; //连续赋值 i3 = j3 = 10; int num1 = 10; num1 += 2; System.out.println(num1); //12 short s1 = 10; //s1 = s1 + 2;//编译失败 s1 += 2;//结论:不会改变变量本身的数据类型 System.out.println(s1); //12 int n1 = 10; n1 += (n1++) + (++n1);//n1 = n1 + (n1++) + (++n1); System.out.println(n1);//32 } }2. Tip支持连续赋值。 扩展赋值运算符: +=, -=, *=, /=, %= 不会改变变量本身的数据类型3. 比较运算符1. 常用的比较运算符运算符运算范例结果==相等于4==3false!=不等于4!=3true<小于4<3false>大于4>3true<=小于等于4<=3false>=大于等于4>=3trueinstanceof检查是否是类的对象“Hello” instanceof Stringtrue2. java代码public class CompareTest { public static void main(String[] args) { int i = 10; int j = 20; System.out.println(i == j); //false System.out.println(i = j); //20 boolean b1 = true; boolean b2 = false; System.out.println(b2 == b1); //false System.out.println(b2 = b1); //true } }3. Tip比较运算符的结果是boolean类型 区分 == 和 =4.逻辑运算符1. 常用的逻辑运算符& —逻辑与 | —逻辑或 ! —逻辑非 && —短路与 || —短路或 ^ —逻辑异或2.运算规则aba&ba&&ba|ba||b!aa^btruetruetruetruetruetruefalsefalsetruefalsefalsefalsetruetruefalsetruefalsetruefalsefalsetruetruetruetruefalsefalsefalsefalsefalsefalsetruefalse3.结论与:一假则假或:有真则真非:取反异或:一样则假,不一样则真4. java代码public class LogicTest { public static void main(String[] args) { //相同点:& 与 && 的运算结果相同 //当符号左边是true时,二者都会执行符号右边的运算 //当符号左边是false时,&继续执行符号右边的运算。&&不再执行符号右边的运算。 //开发中,推荐使用&& boolean b1 = true; b1 = false; int num1 = 10; if(b1 & (num1++ > 0)){ System.out.println("我现在在北京"); }else{ System.out.println("我现在在南京"); //这个 } System.out.println("num1 = " + num1); //11 boolean b2 = true; b2 = false; int num2 = 10; if(b2 && (num2++ > 0)){ System.out.println("我现在在北京"); }else{ System.out.println("我现在在南京"); //这个 } System.out.println("num2 = " + num2); //10 //相同点:| 与 || 的运算结果相同 //当符号左边是false时,二者都会执行符号右边的运算 //当符号左边是true时,|继续执行符号右边的运算,而||不再执行符号右边的运算 //开发中,推荐使用|| boolean b3 = false; b3 = true; int num3 = 10; if(b3 | (num3++ > 0)){ System.out.println("我现在在北京"); //这个 }else{ System.out.println("我现在在南京"); } System.out.println("num3 = " + num3); //11 boolean b4 = false; b4 = true; int num4 = 10; if(b4 || (num4++ > 0)){ System.out.println("我现在在北京"); //这个 }else{ System.out.println("我现在在南京"); } System.out.println("num4 = " + num4); //10 } }5. Tip逻辑运算符操作的都是boolean类型的变量5. 位运算符(直接对整数的二进制进行的运算)1. 常见的位运算符运算符运算范例<<左移3 << 2 = 12 --> 322=12>>右移3 >> 1 = 1 --> 3/2=1>>>无符号右移3 >>> 1 = 1 --> 3/2=1&与运算6 & 3 = 2|或运算6 | 3 = 7^异或运算6 ^ 3 = 5~取反运算~6 = -72. 位运算符的细节位运算符细节<<空位补0,被移除的高位丢弃,空缺位补0。>>被移位的二进制最高位是0,右移后,空缺位补0;最高位是1,空缺位补1。>>>被移位二进制最高位无论是0或者是1,空缺位都用0补。&二进制位进行&运算,只有1&1时结果是1,否则是0;|二进制位进行 | 运算,只有0 | 0时结果是0,否则是1;^相同二进制位进行 ^ 运算,结果是0;1^1=0 , 0^0=0 。 不相同二进制位 ^ 运算结果是1。1^0=1 , 0^1=1~正数取反,各二进制码按补码各位取反。负数取反,各二进制码按补码各位取反3. java代码public class BitTest { public static void main(String[] args) { int i = 21; //i = -21; System.out.println("i << 2 :" + (i << 2)); System.out.println("i << 3 :" + (i << 3)); System.out.println("i << 27 :" + (i << 27)); int m = 12; int n = 5; //写成二进制,1表示true,表示false System.out.println("m & n :" + (m & n)); //4 System.out.println("m | n :" + (m | n)); //13 System.out.println("m ^ n :" + (m ^ n)); //9 System.out.println("~m:" + (~m)); //-13 符号位也取反 } }4. Tip位运算符操作的都是整型的数据<< :在一定范围内,每向左移1位,相当于 * 2\>> :在一定范围内,每向右移1位,相当于 / 26. 三元运算符1. 结构:(条件表达式)? 表达式1 : 表达式22.java代码public class SanYuanTest { public static void main(String[] args) { //取最大值 int m = 12; int n = 5; int max = (m > n) ? m : n; //12 System.out.println(max); double num = (m > n)? 2 : 1.0; //(m > n)? 2 : "n大";//编译错误 n = 12; String maxStr = (m > n)? "m大" : ((m == n)? "m和n相等" : "n大"); System.out.println(maxStr); //获取三个的最大值 int n1 = 12; int n2 = 30; int n3 = -43; int max1 = (n1 > n2)? n1 : n2; int max2 = (max1 > n3)? max1 : n3; System.out.println("三个数中的最大值为:" + max2); } }3. Tip条件表达式的结果为boolean类型.根据条件表达式真或假,true则表达式1,false则表达式2.表达式1 和表达式2 数据类型.要求是一致的。三元运算符可以嵌套使用.可以使用三元运算符的地方,都可以改写为if-else,不能反过来.如果既可以三元运算符,又可以if-else结构,那么优先三元运算符。原因:简洁、执行效率高。2. 运算符优先级(从上到下由高到低) .() {} ; ,R—>L++ -- ~ !(data type)L—>R* / %L—>R+ -L—>R<< >> >>>L—>R< > <= >= instanceofL—>R== !=L—>R&L—>R^L—>R|L—>R&&L—>R||R—>L? :R—>L= *= /= %= += -= <<= >>= >>>= &= ^= |=优先用括号只有单目运算符、三元运算符、赋值运算符是从右向左运算的。
2021年11月21日
78 阅读
0 评论
0 点赞