当前位置: 首页 > news >正文

【Java学习笔记】数据类型转换

数据类型转换(重要!!!

类型一:自动类型转换


具体代码示例解释

//自动类型转换细节
public class AutoConvertDetail {//编写一个main方法public static void main(String[] args) {//细节1: 有多种类型的数据混合运算时,//系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算int n1 = 10; //ok//float d1 = n1 + 1.1;//错误 n1 + 1.1 => 结果类型是 double//double d1 = n1 + 1.1;//对 n1 + 1.1 => 结果类型是 doublefloat d1 = n1 + 1.1F;//对 n1 + 1.1 => 结果类型是 float//细节2: 当我们把精度(容量)大 的数据类型赋值给精度(容量)小 的数据类型时,//就会报错,反之就会进行自动类型转换。////int n2 = 1.1;//错误 double -> int//细节3: (byte, short) 和 char之间不会相互自动转换//当把具体数赋给 byte 时,(1)先判断该数是否在byte范围内,如果是就可以byte b1 = 10; //对  , -128-127// int n2 = 1; //n2 是int// byte b2 = n2; //错误,原因: 如果是变量赋值,判断类型//// char c1 = b1; //错误, 原因 byte 不能自动转成 char//////细节4: byte,short,char  他们三者可以计算,在计算时首先转换为int类型byte b2 = 1;byte b3 = 2;short s1 = 1;//short s2 = b2 + s1;//错, b2 + s1 => intint s2 = b2 + s1;//对, b2 + s1 => int//byte b4 = b2 + b3; //错误: b2 + b3 => int////boolean 不参与转换boolean pass = true;//int num100 = pass;// boolean 不参与类型的自动转换//自动提升原则: 表达式结果的类型自动提升为 操作数中最大的类型//看一道题byte b4 = 1;short s3 = 100;int num200 = 1;float num300 = 1.1F;double num500 = b4 + s3 + num200 + num300; //float -> double}
}

类型二:强制类型转换


类型三:字符串类型转换

一、所有数据类型转字符串

System.out.println((数据)+ "")

如何理解?其实就是和空字符进行了拼接,而+本身就表示字符串的拼接,结果必然是字符串

二、字符串转不同类型数据

注意:用到了类和方法,不好理解,直接上代码理解+记忆


public class StringToBasic {//编写一个main方法public static void main(String[] args) {//基本数据类型->Stringint n1 = 100;float f1 = 1.1F;double d1 = 4.5;boolean b1 = true;String s1 = n1 + "";String s2 = f1 + "";String s3 = d1 + "";String s4 = b1 + "";System.out.println(s1 + " " + s2 + " " + s3 + " " + s4);//String->对应的基本数据类型String s5 = "123";//会在OOP 讲对象和方法的时候回详细//解读 使用 基本数据类型对应的包装类的相应方法,得到基本数据类型int num1 = Integer.parseInt(s5);double num2 = Double.parseDouble(s5);float num3 = Float.parseFloat(s5);long num4 = Long.parseLong(s5);byte num5 = Byte.parseByte(s5);boolean b = Boolean.parseBoolean("true");short num6 = Short.parseShort(s5);System.out.println(num1);//123System.out.println(num2);//123.0System.out.println(num3);//123.0System.out.println(num4);//123System.out.println(num5);//123System.out.println(num6);//123System.out.println(b);//true//怎么把字符串转成字符char -> 含义是指 把字符串的第一个字符得到//解读  s5.charAt(0) 得到 s5字符串的第一个字符 '1'System.out.println(s5.charAt(0));}
}

运行结果

100 1.1 4.5 true
123
123.0
123.0
123
123
123
true
1

注意点


小练习巩固

判断是否能够通过编译


http://www.mrgr.cn/news/98737.html

相关文章:

  • Linux-ftp tftp vsftpd区别
  • 11-算法打卡-链表-删除链表的倒数第N个节点-leetcode(19)-第十一天
  • Redis高频面试题(含答案)
  • uniapp-商城-27-vuex 通用方法
  • MGR实现mysql高可用性
  • 4G/5G模组----概念+驱动+调试
  • 【八股】计算机网络
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(5):できます 完成了等 しか。。。ない 只有
  • 什么是进程?
  • 【回眸】Tessy集成测试软件使用指南(一)新手使用篇
  • 【开源项目】Excel手撕AI算法深入理解(三):时序(RNN、mamba)
  • 使用cursor进行原型图设计
  • 概念实践极速入门 - 常用的设计模式 - 简单生活例子
  • Flutter:图片在弹窗外部的UI布局
  • 一文掌握RK3568开发板Android13挂载Windows共享目录
  • vue3获取defineOptions的值;vue3获取组件实例;vue3页面获取defineOptions的name
  • 分布式热点网络
  • AI大模型学习九:‌Sealos cloud+k8s云操作系统私有化一键安装脚本部署完美教程
  • 集群搭建Weblogic服务器!
  • 《Against The Achilles’ Heel: A Survey on Red Teaming for Generative Models》全文阅读