网站首页 > java教程 正文
基本数据类型的转换
一、什么是类型转换
在赋值运算或者算数运算的时候,要求数据类型一致,就要进行类型的转换。
二、类型转换的种类
自动转换,强制转换
三、内存演示
四、代码
public class TestVar10{
public static void main(String[] args){
//类型转换的两种形式:
double d = 6;//int-->double 自动类型转换
System.out.println(d);
int i = (int)6.5;//double--->int 强制类型转换 (强转)
System.out.println(i);
//在同一个表达式中,有多个数据类型的时候,应该如何处理:
//多种数据类型参与运算的时候,整数类型,浮点类型,字符类型都可以参与运算,唯独布尔类型不可以参与运算。
//double d2 = 12+1294L+8.5F+3.81+'a'+true;
double d2 = 12+1294L+8.5F+3.81+'a';
System.out.println(d2);
/*
类型级别:(从低到高的)
byte,short,char-->int--->long--->float--->double
级别用来做什么?当一个表达式中有多种数据类型的时候,要找出当前表达式中级别最高的那个类型,然后
其余的类型都转换为当前表达式中级别最高的类型进行计算。
double d2 = 12+1294L+8.5F+3.81+'a';
= 12.0+1294.0+8.5+3.81+97.0
*/
int i2 = (int)(12+1294L+8.5F+3.81+'a');
System.out.println(i2);
/*
在进行运算的时候:
左=右 : 直接赋值
左<右 :强转
左>右 :直接自动转换
*/
//以下情况属于特殊情形:对于byte,short,char类型来说,只要在他们的表数范围中,赋值的时候就不需要进行
//强转了直接赋值即可。
byte b = 12;
System.out.println(b);
byte b2 = (byte)270;
System.out.println(b2);
}
}
五、练习:final,字符常量,Scanner的使用
import java.util.Scanner;//形象理解:在java.util下将Scanner拿过来用
public class TestVar11{
public static void main(String[] args){
//实现功能:求圆的周长和面积
//【1】提取变量:提取变量,就是为了一劳永逸,以后只要改变变量的值,下面只要用到这个变量的地方,取值也都发生变化了
//【2】一个变量被final修饰,这个变量就变成了一个常量,这个常量的值就不可变了
// 这个常量就是我们所说的 字符常量 ---》pi
// 约定俗成的规定:字符常量的名字全部大写
//【3】使用扫描器:Scanner的使用--》注意通过形象的理解去使用
final double PI = 3.14;
//拿来一个扫描器:
Scanner sc = new Scanner(System.in);
//给一个友好性的提示:
System.out.print("请录入一个半径:");
//让扫描器扫描键盘录入的int类型的数据:
int r = sc.nextInt();
//求周长:
double c = 2*PI*r;
System.out.println("周长为:"+c);
//求面积:
//PI = 9.29;报错:TestVar11.java:12: 错误: 无法为最终变量pi分配值
double s = PI*r*r;
System.out.println("面积为:"+s);
}
}
六、练习:加深对Scanner的使用
import java.util.Scanner;
public class TestVar12{
public static void main(String[] args){
//键盘录入学生的信息:年龄,身高,姓名,性别:
//键盘录入年龄:(接收int类型数据)
Scanner sc = new Scanner(System.in);
System.out.print("请录入年龄:");
int age = sc.nextInt();
//键盘录入身高:(接收double类型数据)
System.out.print("请录入身高:");
double height = sc.nextDouble();
//键盘录入姓名:(接收String类型数据--》字符串)
System.out.print("请录入姓名:");
String name = sc.next();
//键盘录入性别:(接受char类型)
System.out.print("请录入性别:");
String sexStr = sc.next();
char sex = sexStr.charAt(0);
//上面两句可以合为一句表示:char sex = sc.next().charAt(0);
System.out.println("该学生的信息为:姓名是:"+name+",年龄是:"+age+",身高为:"+height+",性别是:"+sex);
}
}
- 上一篇: java基本数据类型之间的转换
- 下一篇: java基本数据类型间的转换
猜你喜欢
- 2024-11-21 Java整数和浮点数类型转换
- 2024-11-21 JavaSE基础之多态的应用场景
- 2024-11-21 第二章:Java数据类型和运算符
- 2024-11-21 int强转为byte类型么?会产生什么问题?
- 2024-11-21 Java接口&异常处理&类型转换
- 2024-11-21 详解 Java 17 中的模式匹配(Pattern Matching)
- 2024-11-21 Java基本数据类型之间的转换规则
- 2024-11-21 关于Java String 类型转换时null的问题
- 2024-11-21 [JAVA冷知识]什么是逆变与协变?数组是否支持协变&逆变?泛型呢?
- 2024-11-21 看完后让你成为武松,手把手教你打死Java中的纸老虎
你 发表评论:
欢迎- 最近发表
-
- Java内存溢出紧急处理:10个必知的Linux命令快速定位OOM
- 面试常问的 25+ 个 Linux 命令(linux面试命令大全)
- Java堆外内存溢出紧急处理实战:Linux命令定位与Spring Boot解决
- java开发常用的Linux命令,高频的没你想象的多
- Java 应用 CPU 飙升?8 个 Linux 命令组合拳快速锁定异常线程
- Java 开发者线上问题排查常用的 15 个 Linux 命令
- Java程序员必备的Linux命令:让你的工作效率翻倍
- Java程序员必备的Linux命令全解析
- [超全整理] Java 程序员必备的 100 条 Linux 命令大全
- SAP ABAP资源导航(sap aatp)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)