1. 关键字的概念与特征
2. 标识符
3. 常量
字符串常量
整数常量
浮点数常量
字符常量
布尔常量
空常量
public class Demo01Const {
public static void main(String[] args) {
// 字符串常量
System.out.println("ABC");
System.out.println("");
System.out.println("XYZ");
// 整数常量
System.out.println(30);
System.out.println(-500);
// 浮点数常量(小数)
System.out.println('A');
System.out.println('6');
// System.out.println(''); // 两个单引号中间必须有且仅有一个字符,没有不行
// System.out.println('AB'); // 两个单引号中间必须有且仅有一个字符,有两个不行
// 布尔常量
System.out.println(true);
System.out.println(false);
// 空常量。空常量不能直接用来打印输出。
// System.out.println(null);
}
}
4. 基本数据类型
整数型 byte short int long
浮点型 float double
字符型 char
布尔型 boolean
5. 变量
public class Demo02Variable {
public static void main(String[] args) {
int num1;
num1 = 10;
System.out.println(num1);
num1 = 20;
System.out.println(num1);
int num2 = 20;
System.out.println(num2);
num2 = 35;
System.out.println(num2);
System.out.println("==========");
byte num3 = 30;
System.out.println(num3);
short num5 = 50;
System.out.println(num5);
long num6 = 3000000000L;
System.out.println(num6);
float num7 = 2.5F;
System.out.println(num7);
double num8 = 1.2;
System.out.println(num8);
char zifu1 = 'A';
System.out.println(zifu1);
zifu1 = '中';
System.out.println(zifu1);
boolean var1 = true;
System.out.println(var1);
var1 = false;
System.out.println(var1);
boolean var2 = var1;
System.out.println(var2);
}
}
6. 变量注意事项
7. 数据类型转换_自动转换
8. 数据类型转换_强制转换
public class Demo03DataType {
public static void main(String[] args) {
int num = (int)100L; // 强制类型转换
System.out.println(num);
}
}
public class Demo03DataType {
public static void main(String[] args) {
int num = (int)100L; // 强制类型转换
System.out.println(num);
// int num2 = 6000000000; // int 类型最多2100000000
int num2 = (int)6000000000L; // 强制类型转换
System.out.println(num2);
int num3 = (int)3.99;
System.out.println(num3); // 不是四舍五入,所有小数都会被舍弃
// byte/short/char这三种类型在运算的时候,都会被首先提生成int类型,然后再计算
char zifu1 = 'A'; // 这是一个字符型变量,里面是大写字母A
System.out.println(zifu1 + 1); // 66,大写字母A被当作65进行处理
// 计算机底层会用一个数字(二进制)来代表字符A,就是65
// 一旦char类型进行了数学运算,那么字符就会按照一定规则翻译成为一个数字
byte num4 = 40;
byte num5 = 50;
// byte + byte --> int + int --> int
// byte result1 = num4 + num5; // 会发生数据溢出,出现不兼容、结果会有损失的报错
int result1 = num4 + num5;
System.out.println(result1);
short num6 = 60;
// byte + short --> int + int --> int
// int result2 = num4 + num6;
// int强制转换为short;注意必须保证逻辑上真实大小本来就没有超过short范围,否则会发生数据溢出
short result2 = (short)(num4 + num6);
System.out.println(result2);
// boolean数据类型不能发生数据类型转换
}
}
9. ASCII编码表
public class Demo04DataTypeChar {
public static void main(String[] args) {
char zifu1 = '1';
System.out.println(zifu1 + 0); // 输出数字49
char zifu2 = 'A';
char zifu3 = 'c';
// char --> int ,确实是从小到大,发生了自动类型转换
int num = zifu3;
System.out.println(num); //99
char zifu4 = '中';
System.out.println(zifu4 + 0);
/*
数字和字符的对照关系表(编码表):
ASCII码表:American Standard Code for Information Interchange,美国信息交换标准代码
Unicode码表:万国码。也是数字和符号的对照关系,开头0-127部分和ASCII完全一样,但是从128开始包含更多字符。
48 - '0'
65 - 'A'
97 - 'a'
*/
}
}
10. 算术运算符_四则与取模运算
public class Demo05Operator {
public static void main(String[] args) {
System.out.println(20 +30);
int a = 20;
int b = 30;
System.out.println(a + b); // -10
System.out.println(a * 10);
int x = 10;
int y = 3;
int result1 = x/y;
System.out.println(result1); // 3
int result2 = x % y;
System.out.println(result2); // 1
double result3 = x + 2.5;
System.out.println(result3); // 12.5
/*
注意:
1. 一旦运算当中有不同类型的数据,那么结果将会是数据类范围大的那个。
*/
}
}
11. 算术运算符_加号的多种用法
public class Demo06Plus {
public static void main(String[] args) {
String str1 = "hello";
System.out.println(str1); // hello
System.out.println("hello" + "world"); // helloworld
String str2 = "Java";
System.out.println(str2 + 20); // Java20
System.out.println(str2 + 20 + 30); // Java2030
System.out.println(str2 + (20 + 30)); // Java50
}
}
12. 算术运算符_自增自减运算符
public class Demo05Operator {
public static void main(String[] args) {
int num1 = 10;
System.out.println(num1);
// 单独使用
++num1;
System.out.println(num1);
num1++;
System.out.println(num1);
System.out.println("==========");
// 与打印操作混合
int num2 = 20;
System.out.println(++num2); // 21
System.out.println(num2); // 21
System.out.println("==========");
int num3 = 30;
System.out.println(num3++); // 打印30,实际上num3变为31
System.out.println(num3);
int num4 = 40;
// 和赋值操作混合
int result1 = --num4; //混合使用,前--,变量立刻马上变成39,然后将结果39赋值给result1
System.out.println(result1); // 39
System.out.println(num4); // 39
System.out.println("==========");
int num5 = 50;
int result2 = num5--;
System.out.println(result2); // 50
System.out.println(num5); // 49
int x = 10;
int y = 20;
int result3 = ++x + y--;
System.out.println(result3); //11 + 20 = 31
System.out.println(x); //11
System.out.println(y); //19
// 30++; // 错误写法,英文常量不可变
}
}
13. 赋值运算符
public class Demo07Operator {
public static void main(String[] args) {
int a = 10;
a += 5;
System.out.println(a); // 15
int x = 10;
x %= 3;
System.out.println(x); // 1
// 50 = 30; //常量不能进行赋值运算
byte num = 30;
// num = num + int
// num = byte + int
// num = int + int
// num = int
// num = (byte) int
num += 5;
System.out.println(num); // 35
// 只有变量才能使用赋值运算,常量不能进行赋值
}
}
14. 比较运算符
public class Demo08Operator {
public static void main(String[] args) {
System.out.println(10 > 5);
int num1 = 10;
int num2 = 12;
System.out.println(num1 < num2); // true
System.out.println(num2 >= 100);
System.out.println(num2 <= 100);
System.out.println(num2 <= 12);
System.out.println("==========");
System.out.println(10 == 10);
System.out.println(20 != 25);
System.out.println(20 != 20);
int x = 2;
// System.out.println(1 < x < 3); // 错误写法!编译报错!不能连着写
}
}
15. 逻辑运算符
16. 三元运算符