re0:从零开始的Java学习生活02(连载)

数据运算符

一、数值型的表现形式

1、整型:

进制: 满几进一

二进制 : 只能有0,1组成 java中通过0b开头表示 数学写法后面加B

八进制 : 只能0~7组成 java中通过0开头表示 数学写法后面加O

十进制 : 默认 数学写法后面加D或不加

十六进制 : 由0~F组成 java中通过0x开头表示 数学写法后面加H

进制的转换:

其他进制转为十进制:

从右往左,每一位的数值*进制数^次方从0开始,每次+1 ,最后求和就是对应的十进制数据

十进制转为其他进制:

使用当前 的十进制数据,不停的除以要转为的进制数,得到结果为0就不除了,得到最终的余数,从下往上看结果

PS:二进制对八进制及十六进制的快捷转换:

从最末尾一位开始,三位二进制数代表一位八进制数

例:111010101(B)-->725(O)

从最末尾一位开始,四位二进制数代表一位十六进制数

例:111010101(B)-->1D5(H)

2、浮点型

浮点型: 0.5->.5 0可以省略 科学计数法 : e|E-> 10 1.3E3-->1.3*10^3

二、常量

java程序执行过程中,值不会发生改变的量

1、自定义常量

final关键字修饰的变量为常量

final int X=100;(此后不能给X重新赋值)

注意: 驼峰命名规范

2、字面值常量

整数常量 : 1 -5 100.. ​ 小数常量 : 1.1 -0.5 .. ​ 布尔常量 : false true ​ 字符常量 : 'a' '1' '中' ' ' ​ 字符串常量 : " " "abc"

三、数据类型的转换

boolean 类型不参与类型转换

1、自动类型提升

大范围数据类型 变量 = 小范围类型的数据;

2、强制类型转换

小范围数据类型 变量 = (小范围数据类型)大范围数据数据;

注:多种数据类型的数据参与运算,最终的结果为参与运算中的最大数据类型

如果运算后最大的类型小于int类型,会自动提升成为int

数据的范围关系:

byte<short<int<long<float<double

如果为byte,short,char类型赋值的时候,只要在其范围内的常量就能成功赋值

四、运算符

1、算术运算符

=赋值
+
-
*
/
%取模

自增与自减

i++:先使用后自增

++i:先自增后使用

i--:先使用后自减

--i:先自减后使用

扩展赋值运算符

+=

-=

*=

/=

%=

2、条件运算符

运算符作用
>大于
<小于
>=大于等于
<=小于等于
!=不等于
==等于

3、逻辑运算符

& 与: 同true为true,有false为false

| 或: 同false为false,有true为true

!非: 取反

^异或: 不同为false,相同为true

短路与 &&: 左边为false时结果确定为false,不执行右边的语句

短路或 ||: 左边为true时结果确定为true,不执行右边的语句

4、条件运算符(三目运算符)

(条件语句)?a语句:b语句;//当条件语句为true时执行a语句,为false时执行b语句

五、位运算符

1、位且:&

在两边都是数值的情况下:将数值转化为二进制,进行位运算(全1为1,有0为0),然后转化为十进制,得到结果

2、位或:|

在两边都是数值的情况下:将数值转化为二进制,进行位运算(全0为0,有1为1),然后转化为十进制,得到结果

3、位异或;^

在两边都是数值的情况下:将数值转化为二进制,进行位运算(不同为1,相同为0),然后转化为十进制,得到结果

4、右移:>>和左移:<<

将数值转化为二进制数,向右或者向左移动指定位数,然后转化为十进制,得到结果

PS: 左移n位相当于除以2的n次幂,右移n位相当于乘以2的n次幂;计算机执行位运算效率更高

PS: 8421码可以将多种权限职能的有无情况用唯一的数字表示

六、Scanner

//1、调用包
import java.util.Scanner;
//2、创建
Scanner sc=new Scanner(System.in);
//3、使用
byte b=sc.nextByte();
short s=sc.nextShort();
int i=sc.nextInt();
long l=sc.nextLong();
float f=sc.nextFloat();
double d=sc.nextDouble();
//字符串
String str=sc.next();
//注:以上这些系列的next功能,都是从有效字符开始接收,遇到空格就停止接收,直到遇到enter功能结束
//sc.nextLine()接收用户输入的一整行的数据,直到遇到enter结束
//当nextLine功能的上面存在系列的next功能时候,注意处理之前的系列的next遗留的enter问题
sc.nextLine();
String str=sc.nextLine();

七、Random

//1、调用包
import java.util.Random;
//2、创建
Random r=new Random();
//3、使用
r.nextInt(); //生成一个int类型范围内的随机数
r.nextInt(整数n); //生成一个 [0,n) 之间的随机整数
r.nextDouble(); //生成一个 double 类型的随机小数->[0.0,1.0)
r.nextInt(max-min+1)+min; //[min,max] 随机整数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值