Java基础语法精讲:类型转换、常用运算符与用户输入处理引言
Java作为一门面向对象的编程语言,其基础语法是每位开发者的必备技能。本文将从 类型转换、运算符 和 用户输入处理 三个核心模块展开,结合代码示例与底层原理,带你深入理解这些基础但关键的知识点。
一、类型转换
1. 自动类型转换
规则:小范围类型的变量可直接赋值给大范围类型的变量。
原理:计算机自动扩展位数,补足高位符号位。
byte a = 10; // byte范围:-128 ~ 127
int b = a; // 自动转换为int类型
System.out.println(b); // 输出:10
支持自动转换的类型顺序:
byte → short → int → long → float → double
char → int
(char为无符号类型)。
2. 强制类型转换
规则:将大范围类型强制转换为小范围类型,需显式声明,可能导致数据溢出或精度丢失。
int a = 1500;
byte b = (byte) a; // 强制转换为byte
System.out.println(b); // 输出:-36(溢出)
注意事项:
-
浮点型转整型时,直接截断小数部分。
-
数据溢出时,结果不可预测。
3. 表达式中的类型转换
规则:表达式的最终类型由最高范围的类型决定,且 byte
、short
、char
会先提升为 int
。
byte a = 10;
short b = 20;
int c = a + b; // a和b均转为int后再计算
二、运算符详解
1. 算术运算符
-
+
可作为连接符:与字符串相连时结果为字符串。
System.out.println("结果:" + 5 + 5); // 输出:结果:55
System.out.println(5 + 5 + "结果"); // 输出:10结果
-
除法
/
:整数相除结果仍为整数(取商)。 -
取余
%
:结果的符号与被除数一致。
2. 自增自减运算符
-
前缀形式(
++a
):先自增,后使用。 -
后缀形式(
a++
):先使用,后自增。
int a = 10;
int b = a++ + ++a; // 10 + 12 = 22
System.out.println(b); // 输出:22
3. 逻辑运算符
-
短路特性:
&&
和||
若左表达式已确定结果,则右表达式不执行。
int a = 10;
if (a > 5 || a++ < 20) { // 右侧a++不执行
System.out.println(a); // 输出:10
}
4. 三元运算符
语法:条件表达式 ? 值1 : 值2
int score = 75;
String result = score >= 60 ? "通过" : "不通过";
System.out.println(result); // 输出:通过
三、用户输入处理:Scanner类
使用步骤
-
导包:
import java.util.Scanner;
-
创建Scanner对象:
Scanner sc = new Scanner(System.in);
-
接收输入:
System.out.print("请输入年龄:");
int age = sc.nextInt(); // 接收整数
System.out.print("请输入姓名:");
String name = sc.next(); // 接收字符串
System.out.println("姓名:" + name + ", 年龄:" + age);
注意事项:
-
nextInt()
和next()
会忽略空格后的输入,若需读取整行,使用nextLine()
。
四、底层原理补充
1. 数据存储与二进制
-
最小存储单元:字节(1 Byte = 8 bit)。
-
字符存储:ASCII编码(如
'A'
对应65
)。 -
图片与音视频:以二进制形式存储像素或波形数据。
2. 进制转换
-
十进制转二进制:除二取余法。
// 计算13的二进制 13 ÷ 2 = 6 余 1 ↑ 6 ÷ 2 = 3 余 0 ↑ 3 ÷ 2 = 1 余 1 ↑ 1 ÷ 2 = 0 余 1 ↑ 结果:1101(从下往上读)
五、总结
-
类型转换:注意自动转换的范围顺序和强制转换的风险。
-
运算符:掌握算术、逻辑、自增自减的特性,避免优先级错误。
-
用户输入:熟练使用Scanner类,注意不同方法的区别。
理解这些基础概念后,可通过实际编码练习巩固知识。例如,尝试编写一个“数值拆分器”(将三位数拆分为个位、十位、百位),或实现一个简单的用户登录交互程序。