Java数据类型转换&变量&运算符

Java数据类型转换 变量 运算符

一、数据类型转换(掌握)

boolean类型与所有其他7种类型(byte、short、int、long、float、double、char)都不能进行转换

(一)自动类转换

小数据类型转大数据类型

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

  1. 如果2个操作数有byte、short、char、int,都将会转换为int类型

  2. 表达式的结果的类型为表达式中最高的精度类型

  3. char不能与short和byte相互自动转换,因为char没有负数范围

  4. char类型向int转换时,会转换为对应的ASCII码值

    65 - 90:A - Z 97 - 122:a - z

    char  a  ='A';
    int  b  =  a;//65
    
  5. 特例:只看类型不看值

    1. int a = 129;
       byte b = (byte)a;//编译器只看容器不看值
       System.out.println(b);//结果为-127
    2. byte  b  =  100//int转byte类型
    
(二)强制类转换

大数据类型转小数据类型

数据类型 变量名 = (数据类型)值或变量;

float  a  =float6.4

二、常量(掌握)

固定不变的值,可以直接放在打印语句中打印

分类

​ 整数常量 例如:100 、200、 600L

​ 小数常量 例如:1.3 、2.5 、2.1F

​ 字符串常量 例如:”你好” 、“我也是醉了”

​ 字符常量 例如: ‘A’ 、‘a’

​ 布尔常量 例如:true 、false

三、转义字符

\r 相当于按下了回车键

\n 表示换行

\ \表示一个斜杠\

\t 表示相当于Table键制表符

四、变量(掌握)

计算机分配一块用来存储数据的内存地址,通俗一点就是存放数据的容器

声明方式

定义的同时赋值 数据类型 变量名 = 值;

先定义后赋值 数据类型 变量名;

​ 变量名 = 值;

同时赋多个值 数据类型 变量名1 = 值;变量名2 = 值;变量名3 = 值;

(一)成员变量

声明在类中,整个类中都可以使用,有默认值

整数类型默认值:0
小数默认值:0.0
字符默认值:空(’\u0000’)
布尔类型默认值:false
引用数据类型默认值:NULL

(二)局部变量

1.声明在方法或代码块中 ,作用在声明的方法或者代码块中 ,没有默认值 ,使用之前需要赋予初始值

2.如果成员变量与局部变量重名的时候,取值采取就近原则

static int i = 36;
public static void main(String[] args){
	int i = 58;
	System.out.println(i);//58
}

3.static作用:jvm优先加载

五、表达式(掌握)

由常量、变量、运算符、括号组成的按照一定规则得到一定结果

括号可以提高优先级

六、运算符

1.算术运算符(掌握)

加法(+) 减法(-) 乘法 (*) 除法(/) 取模(取余)(%)

如果是整数用来相除不会保留小数

System.out.println(10/3);//3
2.自增自减(掌握)

自增是表示对变量在原来的基础之上增加1

语法: i++ 或 ++i

1)i++ 或 ++i 是一个表达式,是一个整体,都会对i的值增加1

2) i++这种变量名在++的前面,i++表达式的值等于i自增之前的值,即 i++ = i;

3)++i这种变量名在++的后面,++i表达式的值等于i自增之后的值,即 ++i = i+1;

3.位运算(了解)

二进制的运算

4.赋值运算(掌握)

= += -= *= /= %=

int  i  =  2;
i  +=  3//相当于i  =  i  +  3 = 2 + 3 = 5

赋值运算有可能涉及到隐式的自动转换

5.比较运算符(掌握)

== !=(不等于) > < >= <=

用来比较两个常量或者变量,结果为布尔类型

6.逻辑运算符(掌握)

1)| || 单或 双或 两个表达式中有一个为true,逻辑运算为true,||具有短路(如果第一个表达式为true,就不 用判断第二个表达式,直接逻辑运算为true)

2)& && 双与 双与 两个表达式同时为true,逻辑运算为true,&&具有短路(如果第一个表达式为false,就不 用判断第二个表达式,直接逻辑运算为false)

3)! 取反

4)^ 异或 两个表达式不同的情况才为true

7.位运算符(了解)

二进制的运算

8.三目运算符(掌握)

由?和:分割的三个表达式组成 X?Y:Z;

X 为true,就是 Y 的结果值

X为false,就是 Z 的结果值

X :布尔类型的值或者结果为布尔类型的表达式

Y、Z :一般来说数据类型相同的值或者表达式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以Java语言在设计时,没有为该操作设计语法,而是由JVM自动完成。 转换规则 从存储范围小的类型到存储范围大的类型。 具体规则为: byte→short(char)→int→long→float→double 也就是说byte类型的变量可以自动转换为short类型,示例代码: byte b = 10; short sh = b; 这里在赋值时,JVM首先将b的值转换为short类型,然后再赋值给sh。 在类型转换时可以跳跃。示例代码: byte b1 = 100; int n = b1; l 注意问题 在整数之间进行类型转换时,数值不发生改变,而,特将整数类型别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在数据精度的损失。 强制类型转换,也称显式类型转换,是指必须书写代码才能完成的类型转换。该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种损失时才进行该类型的转换转换规则 从存储范围大的类型到存储范围小的类型。 具体规则为: double→float→long→int→short(char)→byte 语法格式为: (转换到的类型)需要转换的值 示例代码: double d = 3.10; int n = (int)d; 这里将double类型的变量d强制转换成int类型,然后赋值给变量n。需要说明的是小数强制转换为整数,采用的是“去1法”,也就是无条件的舍弃小数点的所有数字,则以上转换出的结果是3。整数强制转换为整数时取数字的低位,例如int类型的变量转换为byte类型时,则只去int类型的低8位(也就是最后一个字节)的值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值