4.2.5 数据类型的转换
4.2.5.1 默认转换(从小的数据类型到大的数据类型)
- byte,short,char-int-long-float-double
- byte,short,char相互之间不转换,它们参与运算首先转换为int
4.2.5.2 强制转换(从大的数据类型到小的数据类型)
格式: 目标数据类型 变量 = (目标数据类型)被转换的数据
网络异常,图片无法展示
|
五、运算符
5.1 算术运算符
操作符 | 描述 | 例子 |
+ | 加法 - 相加运算符两侧的值 | A + B 等于 30 |
- | 减法 - 左操作数减去右操作数 | A – B 等于 -10 |
* | 乘法 - 相乘操作符两侧的值 | A * B等于200 |
/ 取商 | 除法 - 左操作数除以右操作数 | B / A等于2 |
% 取余数 | 取余 - 左操作数除以右操作数的余数 | B%A等于0 |
++ | 自增: 操作数的值增加1 | B++ 或 ++B 等于 21 |
-- | 自减: 操作数的值减少1 | B-- 或 --B 等于 19 |
5.2 赋值运算符
操作符 | 描述 | 例子 | |||
= | 简单的赋值运算符,将右操作数的值赋给左侧操作数 | C = A + B将把A + B得到的值赋给C | |||
+ = | 加和赋值操作符,它把左操作数和右操作数相加赋值给左操作数 | C + = A等价于C = C + A | |||
- = | 减和赋值操作符,它把左操作数和右操作数相减赋值给左操作数 | C - = A等价于C = C - A | |||
* = | 乘和赋值操作符,它把左操作数和右操作数相乘赋值给左操作数 | C * = A等价于C = C * A | |||
/ = | 除和赋值操作符,它把左操作数和右操作数相除赋值给左操作数 | C / = A,C 与 A 同类型时等价于 C = C / A | |||
(%)= | 取模和赋值操作符,它把左操作数和右操作数取模后赋值给左操作数 | C%= A等价于C = C%A | |||
<< = | 左移位赋值运算符 | C << = 2等价于C = C << 2 | |||
>> = | 右移位赋值运算符 | C >> = 2等价于C = C >> 2 | |||
&= | 按位与赋值运算符 | C&= 2等价于C = C&2 | |||
^ = | 按位异或赋值操作符 | C ^ = 2等价于C = C ^ 2 | |||
= | 按位或赋值操作符 | C | = 2等价于C = C | 2 |
5.3 比较运算符 (true 代表真,false 代表假)
运算符 | 描述 | 例子 |
== | 检查如果两个操作数的值是否相等,如果相等则条件为真。 | (A == B)为假。 |
!= | 检查如果两个操作数的值是否相等,如果值不相等则条件为真。 | (A != B) 为真。 |
检查左操作数的值是否大于右操作数的值,如果是那么条件为真。 | (A> B)为假。 | |
< | 检查左操作数的值是否小于右操作数的值,如果是那么条件为真。 | (A <B)为真。 |
>= | 检查左操作数的值是否大于或等于右操作数的值,如果是那么条件为真。 | (A> = B)为假。 |
<= | 检查左操作数的值是否小于或等于右操作数的值,如果是那么条件为真。 | (A <= B)为真。 |
5.4 逻辑运算符
操作符 | 描述 | 例子 | ||||
&& | 称为逻辑与运算符。当且仅当两个操作数都为真,条件才为真。 | (A && B)为假。 | ||||
称为逻辑或操作符。如果任何两个操作数任何一个为真,条件为真。 | (A | B)为真。 | ||||
! | 称为逻辑非运算符。用来反转操作数的逻辑状态。如果条件为true,则逻辑非运算符将得到false。 | !(A && B)为真。 |
5.5 位运算符
操作符 | 描述 | 例子 | ||
& | 如果相对应位都是1,则结果为1,否则为0 | (A&B),得到12,即0000 1100 | ||
如果相对应位都是 0,则结果为 0,否则为 1 | (A | B)得到61,即 0011 1101 | ||
如果相对应位值相同,则结果为0,否则为1 | (A ^ B)得到49,即 0011 0001 | |||
〜 | 按位取反运算符翻转操作数的每一位,即0变成1,1变成0。 | (〜A)得到-61,即1100 0011 | ||
<< | 按位左移运算符。左操作数按位左移右操作数指定的位数。 | A << 2得到240,即 1111 0000 | ||
>> | 按位右移运算符。左操作数按位右移右操作数指定的位数。 | A >> 2得到15即 1111 | ||
>>> | 按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 | A>>>2得到15即0000 1111 |
网络异常,图片无法展示
|
网络异常,图片无法展示
|
5.6 三目运算符
- 格式 (关系表达式)?表达式1:表达式2;
- 如果条件为true,运算后的结果是表达式1;
- 如果条件为false,运算后的结果是表达式2;
5.6.2 接收键盘输入数据
- 导入Scanner包 import java.util.Scanner;
- 创建对象 Scanner scanner = new Scanner(System.in);
- 接收数据: int data = scanner.netInt();
5.7 配套源码
Arithmetic.java
public class Arithmetic { public static void main(String[] args) { int num1 = 10; int num2 = 20; ///////////////////////// 算术运算符 ///////////////////// System.out.println("num1 + num2 = "+ (num1 + num2)); System.out.println("num1 - num2 = "+ (num1 - num2)); System.out.println("num1 * num2 = "+ (num1 * num2)); System.out.println("num1 / num2 = "+ (num1 / num2)); System.out.println("num1 % num2 = "+ (num1 % num2)); // ++ 在变量的前面,先计算结果后再输出 // ++ 在变量的后面,先输出在计算 System.out.println("num1++ = "+ (num1++)); // 10 System.out.println("++num1 = "+ (++num1)); // 12 // -- 在变量的前面,先计算结果后再输出 // -- 在变量的后面,先输出在计算 System.out.println("num2-- = "+ (num2--)); // 20 System.out.println("--num2 = "+ (--num2)); // 18 ///////////////////////// 赋值运算符 ///////////////////// // 赋值符:"=" int num3 = 25; System.out.println("num3+=4 =>"+(num3=num3+4)); // 29 System.out.println("num3 -=10 =>"+(num3=num3-10)); // 19 System.out.println("num3 *=2 =>"+(num3=num3*2)); // 38 System.out.println("num3 /=4 =>"+(num3=num3/4)); // 9 System.out.println("num3 %=2 =>"+(num3=num3%2)); // 1 System.out.println("num3 <<= 2 =>"+(num3=num3 << 2)); // 0001 => 0100 => 4 System.out.println("num3 >>= 2 =>"+(num3=num3 >> 2)); // 0100 => 0001 => 1 ///////////////////////// 比较运算符 ///////////////////// num1 = 60; num2 = 60; System.out.println("num1="+num1 + ", num2 =" + num2); System.out.println("num1 == num2 =>" +(num1 == num2)); System.out.println("num1 != num2 =>" +(num1 != num2)); System.out.println("num1 > num2 =>" +(num1 > num2)); System.out.println("num1 < num2 =>" +(num1 < num2)); System.out.println("num1 >= num2 =>" +(num1 >= num2)); System.out.println("num1 <= num2 =>" +(num1 <= num2)); ///////////////////////// 逻辑运算符 ///////////////////// // 总结: // 1、逻辑与: && 连接的每一个比较运算结果为true,结果才是真(true) // 2、逻辑或: || 连接的每一个比较运算的结果中有一个为true,结果就是真(true) // 3、逻辑非: ! 将整过比较运算的结果取反,就是运算结果为false,取反就是真(true) System.out.println("num1 <= num2 && num1 < num2=>" +(num1 <= num2 && num1 < num2)); System.out.println("num1 <= num2 || num1 < num2=>" +(num1 <= num2 || num1 < num2)); System.out.println("num1 <= num2 && num1 < num2=>" +(!(num1 <= num2 && num1 < num2))); /////////////////////////// 位移运算 //////////////////////// // &: 相对应位数为1,才为1,否则就是0 // | : 相对应位数是0才为0,否则都是1 // ^: 相对应位数是 0 1 或者 1 0 才是1,否则就是0 // ~: 对应位数的0变1,1变0 // <<: 向左移动实际就是在原有的数基础上乘以2多次幂的倍数, 7 << 3 => 7x 2 ^ 3 = 56 // >>: 向右移动实际就是在原理数的基础上除以2多少次幂的倍数 7 / (2^2) = 1 // >>>: 最高位的符号位,0表示正数,1代表负数, // >> 1000 1111 => 1000 0011 // >>> 1000 1111 => 0010 0011 int a = 5; int b = 7; int c = -9; System.out.println("a & b =>" +(a & b)); // System.out.println("a | b =>" +(a | b)); System.out.println("a ^ b =>" +(a^b)); System.out.println("~a=>" +(~a)); System.out.println("b << 3=>" +(b << 3)); System.out.println("b >> 2=>" +(b >> 2)); System.out.println("c >>> 2=>" +(c >>> 2)); ////////////////// 三目运算符 ///////////////////////// a = 10; System.out.println(a > 5 ? "a大于5" :"a小于5"); } } 复制代码
六、IDEA入门
6.1 使用IDEA新建一个项目
初始状态下,直接选择新建项目。
网络异常,图片无法展示
|
或者如果显示的不一样,可以在左上角进入创建项目。
网络异常,图片无法展示
|
网络异常,图片无法展示
|
6.2 使用IDEA新建一个Java代码文件
网络异常,图片无法展示
|
网络异常,图片无法展示
|
网络异常,图片无法展示
|
6.3 在IDEA内编写代码
网络异常,图片无法展示
|
6.4 在IDEA上编译执行程序
第一种:
网络异常,图片无法展示
|
第二种:
网络异常,图片无法展示
|
执行结果:
网络异常,图片无法展示
|
作者:Wesky2023
链接:https://juejin.cn/post/7200982129474682917
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。