首页 > 其他分享 >数据类型转换以及变量常量

数据类型转换以及变量常量

时间:2023-09-25 19:15:17浏览次数:31  
标签:类型转换 常量 int money System println out 变量

数据类型转换

由于java是强类型的语言,所以有些运算时要进行类型转换
运算时,不同类型的数据先转换为同一类型,然后再进行运算
容量大小 byte,short,char -> int -> long -> float -> double
float 没有 lang 长但是在后面是因为小数的优先级要高

强制转换的注意点
1. 不能对Boolean值进行转换
2.不能把对象类型转换为不相干的类型
3.再把大容量转换为低容量的时候要进行强制转换,反之则 不用
4.转换的时候可能会存在内存溢出或者精度问题

int i = 128;
byte a = (byte)i;

System.out.println(i);
System.out.println(a); //输出为-128 因为byte最大为-128-127内存溢出了
int money = 10_0000_0000;
System.out.println(money);  //1000000000
int money = 10_0000_0000;
int years = 20;
int total1 = money*years;
System.out.println(total1);//-1474836480  计算的时候溢出了
long total2 = money*years;  //默认是int,在转换之前是int类型运算完已经溢出了
System.out.println(total2); //-1474836480
long total3 = (long) money*years;   //在运算前先把其中的一个数转换为lang类型即可
System.out.println(total3);//20000000000

变量(Variable)

实例变量如不进行赋值 这个类型的默认值是 0 /0.0布尔值默认是false 除了基本类型其余默认值的都是null

常量(Constant)

常量(Constant) 初始化后不能改变值 也不允许改变,常量名一般使用大写

标签:类型转换,常量,int,money,System,println,out,变量
From: https://www.cnblogs.com/LiuWTaoRecord/p/17728632.html

相关文章

  • 局部变量、全局变量和静态变量的含义
    局部变量、全局变量和静态变量是在程序中用于存储数据的不同类型的变量,它们的作用域和生命周期不同。局部变量:局部变量是在函数内部声明的变量,只能在声明它们的函数内部访问。它们的作用域仅限于声明它们的函数内部,函数执行完毕后会被销毁。局部变量存储在栈上,因此它们的生......
  • 那些惊为天人的变量名,真是奇葩!
    来源:麦叔编程作者:小K前言一个好的变量名能让读代码的人(包括写的人),身心舒畅,但一个“奇葩”的变量名可能会逼疯一个程序员。今天是奇葩变量名大赏!正文注:以下素材均采集自网络先上场的是某企业机房的门牌:我猜这个主任可能是个胡建人。推荐一个开源免费的SpringBoot......
  • 在idea的控制台使用命令报错XXX无法识别为命令或改变了环境变量后idea环境未同步更新
    报错XXX无法识别为命令是当前环境中不存在XXX配置,当前环境不是说电脑的系统环境,比如使用的idea那当前环境就是idea的配置环境:打开设置(ctrl+alt+s) 在Value中添加XXX对应的路径,记得加分号(;)。 ......
  • #define 定义的明示变量就是在预处理阶段用标识符后面的值替换标识符,因此不会占据内存
    1.常考:预处理阶段只进行文本替换,不进行运算对于最后一条,预处理指令定义的标识符都不会占据内存。预处理指令也称预编译指令,即在编译之前进行一些处理,而预处理做的其实就是文本替换,这个过程也叫做宏展开,即用宏定义后面的替换体将程序中出现宏的地方替换掉。例如,#define定义的明示......
  • CMake项目,将CMakeList.txt中的变量传递到代码中。
    有些时候,代码中可能需要获取CMakeList中的变量。常见的就是路径之类的。在CMake项目中,有一个参数可以将变量传递到代码中:CMakeList.txt中:#1.声明定义变量set(CMAKE_VAR"CMAKEMESSAGE123123")#2.传递变量#使用target_compile_definitions#将CMAKE_VAR变量赋值给MY_VAR......
  • core文件里的全局变量偏移了16字节
    源代码里面有这个几张表:126staticstructavl_table*l2_addr_tree;127staticstructavl_table*casa_neighbor_table;128staticstructavl_table*casa_ecmp_table;129staticstructavl_table*casa_neighbor6_table;130staticstructavl_table*casa_nh_rout......
  • sv 变量赋值,参数传递
    systemverilog变量赋值,参数传递1、变量类型systemverilog中的变量可以分为两种,一种普通变量类型,一种是句柄变量类型。普遍变量跟C/C++中的普通变量一样,而句柄变量则与C/C++中的指针变量或者引用变量类似。内置类型,比如int,bit,这些类型定义的变量都是普通变量。自定义的cla......
  • proto3中设置变量
    转自:https://blog.csdn.net/xiaxiazls/article/details/50118161https://blog.csdn.net/swartz_lubel/article/details/79193291,这里举的例子不错。1、介绍针对一个复杂对象类型,set_allocated_answer(*),是需要传入一个手动new的对象,而不是一个局部变量。 inlinevoidPlayer......
  • PostgreSQL教程:单引号和双引号的使用、数据类型转换
    单引号和双引号在PGSQL中,写SQL语句时,单引号用来标识实际的值。双引号用来标识一个关键字,比如表名,字段名。--单引号写具体的值,双引号类似MySQL的``标记,用来填充关键字--下面的葡萄牙会报错,因为葡萄牙不是关键字select1.414,'卡塔尔',"葡萄牙";数据类型转换第一种方式:只需要在值......
  • bool布尔变量取反的一个陷阱
    最近工作上被一个小问题耽误了一些时间,在此记录一下。问题出在对一个布尔变量的取反上。我的本意是想检查一个结构体中某1bit是0还是1,我直接进行取反“~”操作,运行是结果跟预想的不一致。才发现这个取反操作是一个坑。且看下面测试程序:#defineuint32_tunsignedintt......