网站首页 > 精选教程 正文
基本数据类型的转换
一、什么是类型转换
在赋值运算或者算数运算的时候,要求数据类型一致,就要进行类型的转换。
二、类型转换的种类
自动转换,强制转换
三、内存演示
四、代码
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);
}
}
猜你喜欢
- 2024-11-10 为什么28岁不能学java? 28岁开始学编程晚吗
- 2024-11-10 gc的年龄信息存储在什么地方? 年龄信息用什么数据类型存储
- 2024-11-10 JVM基础学习 jvm入门到精通
- 2024-11-10 Java-对象到底占多少个字节?计算规则是什么?
- 2024-11-10 浅谈JAVA中的基本变量 java常用变量
- 2024-11-10 Java码农35岁之后只能送外卖? 我的世界java
- 2024-11-10 这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)
- 2024-11-10 2021-01-03:java中,描述一下什么情况下,...
- 2024-11-10 零基础学Java之数据类型与变量(上集)
- 2024-11-10 JAVA基础总结:变量和数据类型 java入门变量与数据类型第一关
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)