java基础知识:数据类型转换 变量 运算符

数据类型转换

自动转换:

​ 小转大 由精度低的自动转换为精度高的

​ byte char short int long float double

​ byte与char char与short不能自动转换 因为char没有负数的范围

​ boolean不能与其他7种类型转换

​ 特例:

byte b=12;

​ 表达式结果的类型是表达式中最高的精度类型,如:

double d='A'+4+4.8;//结果也为double类型

强制转换:

​ 大转小

​ 格式:数据类型 变量名 = (数据类型)值或变量;

float f = (float)2.9;

常量

​ 固定不变的值:

​ 整型常量 浮点数常量 字符常量 布尔常量 字符串常量

变量

官方描述:计算机分配一块用来存储数据的内存地址
通俗描述:存放数据的容器
分类:按照 作用域 作用范围 声明的位置

​ 1.成员变量:

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

​ 2.局部变量:

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

​ 注:如果成员变量与局部变量重名的时候 取值采取就近原则

​ static作用:jvm优先加载

声明方式:

​ 1.声明同时赋值

int a=99

​ 2.先声明后赋值

int a;
a=99

​ 3.同时声明多个同种类型的变量

int a=1;b=2,c=3;

表达式

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

double a = 1.8+1+'aaa';

​ 注:括号可以提高优先级

运算符

算术运算符

取模(求余数)
+-*/%

注:如果是整数用来相除 不会保留小数 10/3=3

赋值运算符

=+=-=*=/=%=
a=1;a+=1;//a=a+1a-=1;//a=a-1a*=1;//a=a*1a/=1;//a=a/1a%=1;//a=a%1

比较运算符

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

等于不等于大于等于小于等于小于大于
==!=>=<=<>

逻辑运算符

用来计算两个布尔类型的值或者表达式 结果也为布尔类型

​ | || 两个表达式中 由一个为true 逻辑运算为true

​ & && 两个表达式 同时为true的时候 逻辑运算为true

​ ! 取反

​ ^ 两个表达式不同的情况才为true

||或者&&都具有短路,即:如果前面的结果可以确定整体的结果,则后面的不在执行

位运算

& | ^ ~ << >>>>>

位运算就是 二进制的位进行运算。

示例:比如计算 125+176 ,从数学的角度是怎么计算的?

同理,位运算也类似,比如 3&4

可以把1看成是true,把0看成是false

\1. & :与 位运算,两边为1,结果为1

\2. | :或 位运算,有一个为1,结果为1

\3. ^ : 异或,两边不一样,就为1,否则为0

\4. ~ : 取反,1变成0 ,0 变成1 ~(-5)结果4

\5. << : 向左位移动,例如1<<3 结果8

\6. >>: 向右位移动,例如8>>2

\7. >>>: 无符号向右移动

三目运算符

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

​ X为布尔类型的值或者表达式

​ 如果X为true 三目运算的结果为Y

​ 如果X为false 三目运算的结果为Z

​ Y和Z最好同种类型

自增自减

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

​ 语法: i++ 或 ++i

​ i++ 或 ++i是一个表达式 是一个整体

​ 1.都会对i的值增加1

​ 2.表达式的值

​ i++这种变量名在++的前面 i++表达式的值等于i自增之前的值

++i这种变量名在++的后面  ++i表达式的值等于i自增之后的值	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值