20260708-数据类型与运算符.md 7.3 KB

Java 基础学习笔记

日期:2026年7月8日 包名:com.lovecoding.day02


一、数据类型

1. 基本数据类型(8种)

类别 关键字 说明
整数 byte 字节型
整数 short 短整型
整数 int 整型(默认)
整数 long 长整型,值末尾加 L
浮点 float 单精度,值末尾加 F
浮点 double 双精度(默认)
字符 char 字符型,单引号,只能存1个字符
布尔 boolean 布尔型,取值 true / false

2. 引用数据类型

  • 最常用:String(字符串)
  • 引用数据类型特点:首字母大写
  • 字符串值需要用双引号括起来

3. 变量创建格式

数据类型 变量名 = 变量值;
int age = 25;

4. 示例代码

// 整数类型
byte a = 15;
short b = 16;

// 浮点类型
float c = 3.14F;    // float 变量值后面必须加 F

// 字符类型
char d = 'a';       // 单引号,只能存1个字符

// 布尔类型
boolean e = true;   // true 真 / false 假

// 字符串类型
String name = "张三";
String email = "12346@163.com";
long phone = 13636363366L;

二、标识符命名规则与规范

规则(必须遵守)

  1. 只能使用:字母(a-z, A-Z)、数字(0-9)、符号($_
  2. 不能以数字开头1abc 不行,abc1 可以)
  3. 不能使用 Java 关键字或保留字,但可以包含关键字

关键字是 Java 规定的固定单词(如 intbyteshort 等),IDEA 中显示为蓝色小写字母。

规范(建议遵守)

驼峰式命名:

类型 规则 示例
大驼峰(类名) 所有单词首字母大写 StringStringBufferStringBuilder
小驼峰(变量名) 第一个单词首字母小写,其余首字母大写 myClassstudentNamestudentAge

蛇形命名:

  • 所有单词字母小写,单词之间使用下划线分隔
  • 示例:student_namestudent_age

注意: Java 严格区分大小写。命名要有含义,不要使用 abx 这种无意义命名。


三、算术运算符

运算符 含义 说明
+
-
*
/ 两边都是整数,运算结果为整数(直接砍掉小数)
% 取余(模) 10 % 3 = 1
++ 自增 为原数增加 1
-- 自减 为原数减少 1

++ 前置与后置的区别

形式 执行顺序
++i(前置) 先自增,再做其他操作(输出、赋值等)
i++(后置) 先做其他操作(输出、赋值等),再自增
int x = 1, y = 1;
System.out.println(x++);   // 输出 1,然后 x 变为 2
System.out.println(x);      // 输出 2
System.out.println(++y);    // y 先变成 2,然后输出 2

复杂示例

int z = 1;
System.out.println(z++ + z + z++ + z);
// 运算过程:
// z++ (1, z变为2) + z (2) + z++ (2, z变为3) + z (3)
// = 1 + 2 + 2 + 3 = 8

四、比较运算符

运算符 含义
> 大于
< 小于
== 等于
>= 大于等于
<= 小于等于
!= 不等于

注意: 比较运算符的运算结果一定是布尔类型true / false)。

int a = 10, b = 5;
System.out.println(a > b);   // true
System.out.println(a < b);   // false
System.out.println(a == b);  // false
System.out.println(a >= b);  // true
System.out.println(a <= b);  // false
System.out.println(a != b);  // true

五、逻辑运算符

运算符 名称 规则
& 与(AND) 两边同时为 true,结果才为 true
\| 或(OR) 两边同时为 false,结果才为 false
! 非(NOT) 取反
&& 短路与 左边为 false,右边不运算,直接返回 false
\|\| 短路或 左边为 true,右边不运算,直接返回 true
^ 异或(XOR) 两边相同返回 false,不同返回 true

真值表

a b a & b a | b a ^ b
true true true true false
true false false true true
false true false true true
false false false false false

示例代码

// & 与
boolean b1 = 15 > 3 & 7 == 6;   // true & false = false

// | 或
boolean b2 = 15 > 3 | 7 == 6;   // true | false = true

// ! 非
boolean b3 = !(15 > 3);          // !true = false

// ^ 异或
System.out.println(true ^ true);    // false
System.out.println(true ^ false);   // true

六、三目(三元)运算符

语法

布尔表达式 ? 表达式1 : 表达式2
  • 如果布尔表达式为 true,执行表达式1
  • 如果布尔表达式为 false,执行表达式2

运算符分类

类型 说明 示例
单目运算符 只有一个操作数 ++--
双目运算符 左右两侧各有一个操作数 +-*/
三目运算符 有三个操作数 ?:

示例

// 嵌套三目
System.out.println(15 > 3 ? 3 > 6 ? 17 : 15 : "假");
// 第一个条件 15>3 为 true,执行 3>6?17:15
// 3>6 为 false,结果为 15

七、课后练习题

  1. 定义两个整数 a 和 b,使用算术运算符计算并输出 a + ba - ba * ba / ba % b
  2. 定义一个整数,使用三目运算符判断它是奇数还是偶数,输出"奇数"或"偶数"。
  3. 定义三个整数,使用三目运算符找出并输出其中的最大值。
  4. 定义一个年份,使用逻辑运算符判断是否为闰年(能被4整除且不能被100整除,或能被400整除),输出 truefalse
  5. 定义一个整数 score(0-100),使用嵌套三目运算符输出等级:score >= 90 为 "A",score >= 60 为 "B",否则为 "C"。
  6. 定义一个整数,使用逻辑运算符判断它是否满足:大于10 小于100,输出 truefalse
  7. 定义一个字符,使用比较运算符判断它是否为大写英文字母('A' 到 'Z' 之间),输出 truefalse
  8. 已知 int a = 5; int b = 5; 分别执行 int x = a++;int y = ++b; 后,输出 xayb 的值,并说明前置和后置自增的区别。
  9. 定义一个三位正整数,使用算术运算符拆分出它的个位、十位、百位,按格式输出。
  10. 定义三个边长 a、b、c,使用比较运算符和逻辑运算符判断能否构成三角形(任意两边之和大于第三边),输出 truefalse

八、变量类型选择参考

名词 推荐类型
成绩 int / double
年龄 int
性别 char
学生编号 int / String
身高 double
体重 double
姓名 String
手机号 long / String
邮箱 String
地址 String
工龄 int
月薪 double
税率 double
折扣 double
数量 int
单价 double
总分 int / double
排名 int
是否激活 boolean
余额 double
利率 double
有效天数 int
体温 double
是否毕业 boolean