Java运算符
一、变量
1.1 定义
- 内存中开辟的一片空间,需要执行数据的类型
1.2 定义变量
数据类型 变量名称 = 变量值;
int num = 99;
============
int num;
... ...
num = 99;
==============
int a=10,b=20,c;
二、数据类型
- 整型
- 字节
- byte
- 短整型
- short
- 整型
- int
- 长整型
- long
- 字节
- 浮点型
- 单精度
- float
- 双精度
- double
- 单精度
- 字符型
- char
- 布尔型
- boolean
| 类型 | type | size | round |
|---|---|---|---|
| 字节型 | byte | 1 | -128~127 |
| 短整型 | short | 2 | -215~215-1 |
| 整型 | int | 4 | -231~231-1 |
| 长整型 | long | 8 | -263~263-1 |
| 单精度 | float | 4 | -2128~2128 |
| 双精度 | double | 8 | -21024~21024 |
| 字符型 | char | 2 | 0~65535 |
| 布尔型 | boolean | 1 | true false |
class Demo03 {
public static void main(String[] args) {
/**
*
java基本数据类型
整数
字节型 byte 1 -128--127 -2^7--2^7-1
短整型 short 2 -32768--32767 -2^15--2^15-1
整型 int 4 -2^31 -- 2^31-1
长整型 long 8 -2^63---2^63-1
小数--浮点型
单精度 float 4
双精度 double 8
字符型
char 2
布尔型
boolean 1
引用数据类型
String
System
String[]
Object
*
*/
byte b = -110;
System.out.println("byte b = " + b);
short s = 32767;
System.out.println("short s = " + s);
int i = 2147483647;
System.out.println("int i = " + i);
long l = 21474836470L;
System.out.println("long l = " + l);
double d = 3.141592353589793;
System.out.println("double d = " + d);
// java中的小数默认的类型是double,定义float类型变量的时候,需要在值的后面加上F
float f = 3.141592353589793F;
System.out.println("float f = " + f);
// char类型数据的值必须是一个字符,不能多也不能少
char c = '\'';
System.out.println("char c = " + c);
boolean bb = true;
System.out.println("boolean bb = " + bb);
}
}
三、ASCII
3.1 定义
- 美国标准信息交换码
- 定义了128个基本的字符
3.2 Unicode
- 在ASCII码表的而基础上进行了扩展,包含了各国的基本字符
- 被称为万国码

四、转义字符
4.1 定义
- 转变字符原有的含义
- \字符
| 转义字符 | 含义 |
|---|---|
| \t | 制表符tab |
| \n | 换行newLine |
| \\ | 斜线 |
| \" | 单个双引号 |
五、数据类型转换
5.1 自动类型转换
- 向上转型
- 范围小的转换成范围大的
class Demo06 {
public static void main(String[] args) {
// 定义变量b,赋值110
byte b = 110;
// 定义变量c,赋值变量b,执行的占用2个字节的b中的110
short c = b;
System.out.println("short c = " + c);
short cc = 7985;
byte bb = (byte)cc;
// 0000 0000
// 0000 0000 0000 0000
// 0011 0001
System.out.println("byte bb = " + bb);
}
}
5.2 强制类型转换
- 向下转型
- 范围大的转换成范围小的
class Demo07 {
public static void main(String[] args) {
// 强转无损失
int i = 110;
byte b = (byte)i;
System.out.println("byte b = " + b);
// 强转有损失
int ii = 7985;
byte bb = (byte)ii;
System.out.println("byte bb = " + bb);
// 小数转整数
double d = 3.9;
int id = (int)d;
System.out.println("int id = " + id);
// 字符和数字转换
int ic = 65;
char c = (char)ic;
System.out.println("char c = " + c);
}
}
六、算术运算符
| 名称 | 符号 | 案例 |
|---|---|---|
| 加 | + | a+b |
| 减 | - | a-b |
| 乘 | × | a×b |
| 除 | / | a/b |
| 取余数 | % | a%b |
| 自增 | ++ | a++ |
| 自减 | -- | a-- |
class Demo08 {
public static void main(String[] args) {
int a = 15;
int b = 20;
System.out.println("Hello World!");
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 / b = " + (a / b));
System.out.println("10.0 / 3 = " + (10.0 / 3));
// 比如10除以3,结果是3,余数是1,取模就是取余数
System.out.println("a % b = " + (a % b));
System.out.println("18.4 % 4 = " + (18.4 % 4));
// 字符串的拼接
System.out.println("a + b = " + a + b + true);
}
}
class Demo09 {
public static void main(String[] args) {
int a = 15;
int b = 20;
// ++ --难点
a++;
System.out.println("a = " + a);
++b;
System.out.println("b = " + b);
int c = 15;
int d = 20;
// ++在后,先把自己的值赋给e,再自增
int e = c++; // c++ === c = c+1
// ++在前,先自增,再把自己的值赋给e
int f = ++d;
System.out.println("c = " + c);
System.out.println("d = " + d);
System.out.println("e = " + e);
System.out.println("f = " + f);
}
}
七、赋值运算符
| 名称 | 符号 | 案例 |
|---|---|---|
| 赋值 | = | |
| 加法赋值 | += | |
| 减法赋值 | -= | |
| 乘法赋值 | *= | |
| 除法赋值 | /= | |
| 取余赋值 | %= |
class Demo10 {
public static void main(String[] args) {
// 赋值运算符
int a = 10;
int b = 15;
a+=b; // a = a + b
System.out.println("a += b === " + a);
a-=b; // a = a - b
System.out.println("a -= b === " + a);
a*=b; // a = a * b
System.out.println("a *= b === " + a);
a/=b; // a = a / b
System.out.println("a /= b === " + a);
a%=b; // a = a % b
System.out.println("a %= b === " + a);
}
}
八、关系运算符
| 名称 | 符号 | 案例 |
|---|---|---|
| 大于 | > | |
| 小于 | < | |
| 等于 | == | |
| 不等于 | != | |
| 大于等于 | >= | |
| 小于等于 | <= |
class Demo11 {
public static void main(String[] args) {
// 关系运算符====比较运算符
int a = 10;
int b = 15;
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 != b ? " + (a != b));
System.out.println("a >= b ? " + (a >= b));
System.out.println("a <= b ? " + (a <= b));
}
}
九、逻辑运算符
| 名称 | 符号 | 案例 |
|---|---|---|
| 逻辑与 | & | |
| 短路与 | && | |
| 逻辑或 | | | |
| 短路或 | || | |
| 取反 | ! |
class Demo12 {
public static void main(String[] args) {
/**
性别不同
并且年龄符合条件
逻辑与 只有两边的条件都是true,结果才是true
true & true === true
true & false === false
false & true === false
false & false === fasle
遇到false结果就是false
&&,短路与,只要遇到一个false,就返回false,后面的内容将不再执行
yAge >= 22 & xAge >= 20
*/
int yAge = 22;
int xAge = 20;
boolean result = yAge >= 22 & xAge >= 20;
System.out.println("符合办证的条件吗?" + result);
// 没有车票 或者 有没有违禁物品
int ticket = 1;
boolean isSafe = false;
// 逻辑或,有一个条件是true,结果就是true
/*
true | true === true
true | false === true
false | true === true
false | fales === false
遇到true,结果就是true
|| 短路或,只要遇到一个true,后面的内容将不再执行,直接返回true
*/
result = (ticket < 1) | (isSafe == false);
System.out.println("会不会无法进站 ?" + result);
System.out.println("!true == " + (!true));
System.out.println("!false == " + (!false));
}
}
十、三元运算符(三元表达式)
判断语句/布尔值 ? 条件成立的时候返回的结果 : 条件不成立返回的结果;
class Demo13 {
public static void main(String[] args) {
int ticket = 0;
String result = ticket >= 1 ? "检票成功,请经过安检" : "请先去购买车票";
System.out.println(result);
int a = 10;
int b = 30;
int max = a > b ? a : b;
System.out.println("比较大的数字是:" + max);
// 不引入第三个变量,交换a和b的值---作业
int a0 = 15;
int b0 = 20;
// 35
int temp = a0 + b0;
a0 = temp - a0;
b0 = temp - b0;
}
}
十一、键盘录入--人机交互
11.1 定义
-
获取用户输入的内容
-
使用到Scanner
11.1 使用过程
1、导入Scanner
2、创建Scanner对象
3、提示输入内容
4、获取对应类型的内容
5、使用获取到的内容
// import java.util.Scanner;
import java.util.*;
class Demo15 {
public static void main(String[] args) {
/*
1、导入Scanner
2、创建Scanner的对象
3、提示用户输入name
4、获取用户输入的name
5、提示用户输入age
6、获取用户输入的age
7、输出用户输入的name和age
*/
// 2、创建Scanner的对象
Scanner sc = new Scanner(System.in);
// 3、提示用户输入name
System.out.println("请输入名字:");
// 4、获取用户输入的name
String name = sc.nextLine();
// 5、提示用户输入age
System.out.println("请输入年龄:");
// 6、获取用户输入的age
int age = sc.nextInt();
// 7、输出用户输入的name和age
System.out.println("我的名字是:" + name + ",今年:" + age);
}
}
十二、进制
- 二进制
- 0b
- 八进制
- 0
- 十进制
- 十六进制
- 0x
class Demo16 {
public static void main(String[] args) {
System.out.println("Hello World!");
/*
1Byte
0000 0000
1111 1111
0011 1100
123 为什么是一百二十三
100 + 20 + 3 为什么是这样
3 = 3 * 1 = 3 * 10^(1-1)
20 = 2 * 10 = 2 * 10^(2-1)
100 = 1 * 100 = 1 * 10^(3-1)
0011 1100
0 * 2^0 = 0 * 1 = 0
0 * 2^1 = 0 * 2 = 0
1 * 2^2 = 1 * 4 = 4
1 * 2^3 = 1 * 8 = 8
1 * 2^4 = 1 * 16 = 16
1 * 2^5 = 1 * 32 = 32
========================
4 + 8 + 16 + 32 == 60
2684 0000 0000
000 == 0
111 == 7
一个八进制位范围是0--7
00 111 100
0 7 4
0011 1100
3 C
二进制快速转换成十进制
1 1 1 1 1 1 1 1
128 64 32 16 8 4 2 1
0 0 32 0 8 0 2 0
0 0 1 0 1 0 1 0
十进制快速转换成二进制===》计算器===》除积倒取余
*/
}
}
不论未来如何,请保持微笑

浙公网安备 33010602011771号