类型转换与键盘输入
1.自动类型装换
自动类型转换指的是容量小的数据类型可以自动装换为容量大的数据类型。如图2-6所示,黑色实线表示的是无数据丢失的
//容量小的可以自动向容量大的转化
//可以将整型常量赋值给byte/short/char等变量,而不需要强制类型转换,只要不超出其表示范围即可。
public class demo3 {
public static void main(String[] args) {
int a = 324;
long b = a;
double d = b;
//a = b;long类型的不能转化为int类型
float f = 232334L;
System.out.println(a);
System.out.println(b);
System.out.println(d);
System.out.println(f);
}
}
2.强制类型转换
package day3;
/*
-
强制类型转换,又被称为造型,用于显示的转换一个数值的类型。在有可能丢失信息的情况下进行的转换是通过造型来完成的,但可能造成精度降低或溢出。
-
语法格式:(type)var
-
运算符中的type表示将值var想要转换成的目标数据类型。
-
*/
public class demo4 {
public static void main(String[] args) {
double x = 3.14;
int nx = (int)x;//值为3
char c = 'a';
int d = c + 1;//d = 98
System.out.println(nx);
System.out.println(d);
System.out.println((char)d);
}
}
3 基本类型常见错误 -
溢出;如果超出int可表示的范围,会导致数字显示发生错误。
-
L尽量用大写,小写l与数字1容易混淆;long a = 232222L;
4.测试输入输出
package day3;
import java.util.Scanner;
/测试键盘输入/
public class demo6 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入名字: ");
String name = scanner.nextLine();
System.out.println("请输入你的爱好:");
String favor = scanner.nextLine();
System.out.println("请输入你的年龄:");
int age = scanner.nextInt();
System.out.println("**************");
System.out.println(name);
System.out.println(favor);
System.out.println("来到地球的天数:"+age*365);
System.out.println("离开地球的天数:"+(80-age)*365);
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?