数据类型转换-运算符

##基本数据类型转换

- 默认顺序是

* byte->short->int->long->float->double

- 自动提升规则(针对二元操作符)

* 所有的byte,short,char型会自动提升为int型

* 若一个操作数是long类型,则另一个操作数也会转换为long类型,计算的结果类型也是long类型

* float类型,double类型跟long类型的提升规则一样

- 注意

* 默认浮点型是double类型,默认整型是int类型

* 举例说明:

```

float f1=4.4;//编译会报错;因为4.4默认是double类型;可以强制转换解决问题

float f2=4.4f;//定义float型时要加f

long d1=100;//默认转型:100将会由int转换为long类型

long d2=100L;//定义long类型时加L

```

## 理解代码 i=i++

```

int i=1;

i=i++;

System.out.println("i="+i)//i=1;

分析:i=i++;

1.首先在内存中定义一个临时变量temp存储i的值

int temp=i;//temp=1;

2.执行i++;

i++;//i=2;

3.再将临时变量temp值赋值给i

i=temp;//i=1

总结:是先存储i,再执行i++,最后执行赋值操作

练习:i= i+++++i; //i=4;

```

##数据类型补充的小问题:

- 1: 在定义Long或者Float类型变量的时候,要加L或者f。

整数默认是int类型,浮点数默认是double。

- 2   byte,short在定义的时候,他们接收的其实是一个int类型的值。

这个是自己做了一个数据检测的,如果不再它们的范围内,就报错。

2:byte值的问题

byte b1 = 127;

byte b2 = (byte)128; //-128(从-128~127一直循环)128-127=1;即从第一个 -128 开始循环

byte b3 = (byte)129; //-127

byte b4 = (byte)130; //-126

byte的范围:-128 ~ 127

128:10000000

-128:10000000 (这里的1即是符号位,也是数值位)

- 3:数据类型转换之默认转换

byte,short,char -- int -- long -- float -- double

long: 8个字节

float:4个字节

A:它们底层的存储结构不同。

B:float表示的数据范围比long的范围要大

long:2^63-1

float:3.4*10^38 > 2*10^38 > 2*8^38 = 2*2^3^38 = 2*2^114 > 2^63-1

4:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?

可以。因为java语言中的字符占用两个字节。

Java语言采用的是Unicode编码。

时间: 2024-08-26 03:37:44

数据类型转换-运算符的相关文章

数据类型 数据类型转换 运算符

鉴别空对象看齐能否进行属性操作. 双等会进行隐式类型转换,==两侧数据类型不一样时,会转换成一样的在进行比较. 1 若等号一侧为 布尔值 就都转换成布尔值进行比较. NaN和任何内容比较结果都为false onchange检测内容(在表单中):1 在单选和复选框中,检测checked值是否发生变化(检测是否勾选或取消勾选) 2在其他表单控件中,检测value值发生变化. 3 表单控件(input textareea selecter)要获取他们的值获取的是value. 在js中只有nan类型的数

C#变量/数据类型转换/运算符使用

1.变量 命名规则: a 只能是字母(a-z),数字(0-9),下划线(_)b 不能用数字开头c 不能是C#中的关键字 命名规范: a 简短,有语义的单词或组合b 骆驼命名法(从第二个单词开始,首字母大写)myName 使用步骤: a 声明并赋值(例:int age=18)b 使用(输入输出.判断.运算等...)* 先赋值再使用 2.数据类型 整形和非整形:整形:sbyte(有符号的-128~127) byte(0~255 )一个字节8位short(-32768~32767)ushort(0~6

数据类型转换&运算符

基本数据类型注意事项 整型类型:long>int>short>byte java默认类型为int型 long a = 123 表示将int类型的数值赋给更大范围的long类型,当数据超过long类型时,必须声明long变量,且必须加l,声明为改数据为long型 long a = 2147483648L 浮点类型:double>float java默认类型为double型 在java中声明float类型 将整数赋值给float型不加F float b = 1; 将小数赋给float需

简谈-Python的输入、输出、运算符、数据类型转换

输出: 格式化输出: 看到了 % 这样的操作符,这就是Python中格式化输出. 换行输出: 在输出的时候,如果有 \n 那么,此时 \n 后的内容会在另外一行显示 输入: 在python2.7当中,使用:raw_input(),在python3中不能使用.Python3只有input() 在python2中的input()把用户输入的东西当成式子(字符)了.所以在python2中一般用raw_input() python3中的input与python2中的raw_input()功能一样 运算符

JS运算符及部分数据类型转换

运算符 %(小数不能用,正数%负数=正数.负数%正数=负数) ==(等于,判断值是否一样) ===(判断值和数据类型是否一样) !(取反) !=(不等于) "qa">"a"(字符串之间比较大小根据他们的ASCII码来比较大小) 判断语句?表达式1:表达式2(判断语句为真时执行表达式1,为假时执行表达式2) ||(或,2||1=2,从左往右,遇true则先输出true的值) &&(且,) 7.运算符优先级 逻辑非 算术 逻辑与.逻辑或 条件操作符

C#2 (数值类型及调用、引用类型及调用、装拆箱、常量、变量、数据类型转换、算术运算符、赋值运算符、关系运算符、逻辑运算符、字符串的常用方法)

一.数值类型及其调用原理 名称 说明 所占字节 范围 byte 字节型 1 -27~27-1 short 短整型 2 -215~215-1 int 整型 4 -231~231-1 long 长整型 8 -263~263-1 char 字符型 1 0~65535 float 单精度型 4 ±1.5*10-45~±3.4*1038 double 双精度型 8 ±5.0*10-324~±1.7*10308 bool 布尔型 1 只有true和false两个值 static void Main(stri

17.2015.08.04第十八节课 C#2 (数值类型及调用、引用类型及调用、装拆箱、常量、变量、数据类型转换、算术运算符、赋值运算符、关系运算符、逻辑运算符、字符串的常用方法)

一.数值类型及其调用原理 名称 说明 所占字节 范围 byte 字节型 1 -27~27-1 short 短整型 2 -215~215-1 int 整型 4 -231~231-1 long 长整型 8 -263~263-1 char 字符型 1 0~65535 float 单精度型 4 ±1.5*10-45~±3.4*1038 double 双精度型 8 ±5.0*10-324~±1.7*10308 bool 布尔型 1 只有true和false两个值 static void Main(stri

JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)

Java基础语法(变量.常量.数据类型.运算符与数据类型转换) 1.变量 Java中,用户可以通过指定数据类型和标识符来声明变量,其基本语法为: DataType identifier; 或 DataType identifier = value; 其中,DataType是变量类型,如int/string/char/double/boolean等:identifier是变量名称,即标识符:value就是声明变量的值. 注: a.标识符由数字0-9.大小写字母.下划线.美元符号.人民币符号以及所有

java===java基础学习(3)---数据类型转换,运算符级别,枚举类型

数据类型转换: 有的时候,程序需要将数据类型,比如 int + float ,结果是float, 这里的int就被转换为float类型,属于合法转换. Java中的合法转换如下图: 红色表示无信息丢失的转换,橙色表示可能有进度损失的转换. package testbotoo; public class shuzhileixingzhuanhuan { public static void main(String[] args){ int n = 123456789; float f = n; /