这个社会很单纯,就是手里有技术就能选择生活,而没技术的只能选择生存。当然有人可以做到没技术没学历一样成功,但那都是小部分人。 希望大家和小编一起努力学习。未来能成功的人,他们都有一个共同点,他们很努力!
上节课我们学到了java的数据类型,我就不过多的说了,画一个流程图让大家回顾吧!!
小编画图技术不高,有些东西想写上 但不知道怎么操作,会学习的 下一次再画流程图一定会非常好看的。这次,,,有点low莫说莫说!!!
类型名 | 包装类 | 所占大小 |
---|---|---|
byte | Byte | 1 |
short | Short | 2 |
int | Integer | 4 |
long | Long | 8 |
char | Character | 2 |
float | Float | 4 |
double | Double | 8 |
boolean | Boolean | 没有规定明确大小 |
string 他不是基本数据类型 所以没有包装类。包装类是基本数据库类型仅有的、
大家要注意几点:
回顾的就这些咯,下面开始新课咯!!!
int a = 1;
int b = 2;
System.out.println(a / b);
// 结果为 0
整型除以整型结果还是整型 ,所以我们应该换成double 型来进行计算
int a = 1;
int b = 0;
System.out.println(a / b)
// 运行结果
Exception in thread "main" java.lang.ArithmeticException: / by zero
at Test.main(Test.java:5)
下面我来为大家着重介绍一下这个报错信息
不仅仅可以对 int 求模, 也能对 double 来求模
同时我来为大家查缺补漏一波:看下面的代码
System.out.println(11.5 % 2.0);
// 运行结果
//1.5
这个结果大家毫无疑问 !重点是不报错 语法没有任何问题,所以java可以用浮点数取余嗷
int a = 10;
a += 1; // 等价于 a = a + 1
System.out.println(a);
在这里小编建议大家 将a+1加上括号 比如下面的式子
x*=y+=a-=b;
x, y ,b,a均已经赋值; 如果不加括号再计算就会很上头
int a = 10;
int b = ++a;//等同于 a=a+1,b=a
System.out.println(b);
int c = a++;//等同于 c=a,a=a+1;
System.out.println(c);
前自增与后自增的区别要记住嗷!!
结论
关系运算符主要有留个 == , !=,<,>,<=,>=
int a = 10;
int b = 20;
System.out.println(a == b);
System.out.println(a != b);
System.out.println(a < b);
System.out.println(a > b);
System.out.println(a <= b);
System.out.println(a >= b);
关系运算符的表达式返回值都是 boolean 类型.只有 true 与false 两个结果;
逻辑运算符主要有三个:&&,||,!
注意:逻辑运算符的操作数(操作数往往是关系运算符的结果)和返回值都是 boolean
规则: 两个操作数都为 true, 结果为 true, 否则结果为 false.
短路问题:当前面操作数为false时必为假。后面没必要执行故而造成短路后面操作数不执行
int a = 10;
int b = 20;
int c = 30;
System.out.println(a < b && b < c);//输出结果为true
规则: 两个操作数都为 false, 结果为 false, 否则结果为 true
短路问题:当前面操作数为true时必为真时,后面没必要执行故而造成短路后面操作数不执行
int a = 10;
int b = 20;
int c = 30;
System.out.println(a < b || b < c);//返回了true
规则: 操作数为 true, 结果为 false; 操作数为 false, 结果为 true(这是个单目运算符, 只有一个操作数).
int a = 10;
int b = 20;
System.out.println(!a<b);//为false
大家看对吗?
错,这样写不对 因为逻辑非的操作数为布尔类型 a是整型 所以错误 将a<b加上括号 才能得到我们想要的结果!!!
& 和 | (不推荐使用)
& 和 | 如果操作数为 boolean 的时候, 也表示逻辑运算. 但是和 && 以及 || 相比, 它们不支持短路求值.
不推荐使用我就不过多介绍了嗷!
Java 中对数据的操作的最小单位不是字节, 而是二进制位.
位运算主要包括 & | ~ ^
如果两个二进制位都是 1, 则结果为 1, 否则结果为 0
int a = 10;//0000 1010
int b = 20;//0001 0100
System.out.println(a & b);//最终结果为0000 0000
如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.
int a = 10;//0000 1010
int b = 20;//0001 0100
System.out.println(a | b);//0001 1110
注意: 当 & 和 | 的操作数为整数(int, short, long, byte) 的时候, 表示按位运算, 当操作数为 boolean 的时候, 表示逻辑
运算.
如果该位为 0 则转为 1, 如果该位为 1 则转为 0
int a = 0xf;
System.out.printf("%x\n", ~a)
变0为1 变1 为0 这个很容易嗷。大家要计算计算这里我不写了
注意
相同为0 不同为1
int a = 0x1;//0000 0001
int b = 0x2;//0000 0010
System.out.printf("%x\n", a ^ b);//0000 0011
这里大家要记住一句话 相同的两个数异或为0 .与0异或的数 等于它本身。这个以后做题会用得到。我会慢慢给大家分享的
移位运算符有三个:
<< >> >>>
都是按照二进制位来运算.
最左侧位不要了, 最右侧补 0.
int a = 0x10;
System.out.printf("%x\n", a << 1);
// 运行结果(注意, 是按十六进制打印的) 20
最右侧位不要了, 最左侧补符号位(正数补0, 负数补1)
int a = 0x10;
System.out.printf("%x\n", a >> 1);
// 运行结果(注意, 是按十六进制打印的)
//8
int b = 0xffff0000;
System.out.printf("%x\n", b >> 1);
// 运行结果(注意, 是按十六进制打印的)
//ffff8000
最右侧位不要了, 最左侧补 0.
int a = 0xffffffff;
System.out.printf("%x\n", a >>> 1);
// 运行结果(注意, 是按十六进制打印的)
//7fffffff
注意:
5. 左移 1 位, 相当于原数字 * 2. 左移 N 位, 相当于原数字 * 2 的N次方.
6. 右移 1 位, 相当于原数字 / 2. 右移 N 位, 相当于原数字 / 2 的N次方.
7. 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.
8. 移动负数位或者移位位数过大都没有意义.
表达式1 ? 表达式2 : 表达式3
// 求两个整数的最大值
int a = 10;
int b = 20;
int max = a > b ? a : b;
这个就是一句话,别记 用得着的时候加括号!!!!!!!
小编是一名大一学生 一直跟着b站上的大博哥学习java
学校开设的课程是C++ 自己琢磨着 在学校先研究一遍c++回头再仔细研究这样会不很吃力。所以便开始了java学习。希望大家能从一开始学习。努努力,一起变强为了更好的明天奋斗!!!!
小编的QQ号是:2206730228
欢迎大家来骚扰 一起探讨编程的奥秘。
小编是个农村人 别来欺负小编啥都不懂嗷
人类以日新月异的速度刷新着科技的成果其中存储的发展历史尤其悠久堪称万年进化...
searchpage.htm ' 搜索页面 . html head title 千花飞舞之站内搜索引擎 /title /...
变量赋值与对象赋值对比 php // 声明一个变量并赋值 $a = 1; // 将数据类型的值 ...
什么是ajax Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 X...
生活中,你我一定都看到过这种「xx元爆改出租屋」,「爆改小汽车」之类的文章,...
1.相关基础知识介绍 在Vim中,有四个与编码有关的选项,它们是:fileencodings、...
js代码 $.ajax({ type : "POST", url : js_path + "/maintainAdd/add", data : J...
在Windows下使用VSCode编译运行,都出现中文乱码的问题,今天我就遇见了这种情况...
分析可能是: asp的一些保留字段导致,具体的大家可以参考这篇文章: ASP常见的...
本文介绍一下ASP.Net中对XML的用法,这里飞刀我只是展现了XML与DataSet相结合的...