Java基础(二)——数据类型转换、算数、赋值、比较、逻辑运算符、三元运算符、运算符优先级

第一章 变量

 

1.1变量的概述

变量是内存中装载数据的小空间。

 

1.2计算机存储单元

内存是程序运行时临时存储的场地。

计算机存储设备的最小信息单元为“位”,用“b”表示,也称为“比特位”

计算机最小的存储单元为“字节”,用“B”表示,字节是由8个比特位组成的。

  • 1B   =  8bit
  • 1KB =  1024B 
  • 1MB  = 1024KB
  • 1GB  =  1024MB
  • 1TB  =  1024GB
  • 1PB  =  1024TB

 

1.3基本类型之4类8种

变量必须要有明确的类型,什么类型的变量装载什么类型的数据。

java的基本类型有4类,将这4类展开共有8种基本类型,以后编程用的就是这8种类型,并且其指定了范围。

double比float表示的小数点后的位数更多,因此更精确。

 

1.4常量与类型

java中默认的整数类型为int型。

当一个值超出int的范围,则需要在其后面添加“L”,否则就会报错,认为其超过了默认int的范围,例如12345678901L(小写“l”也行,但建议大写)。

java中默认的浮点类型是float类型。

若想写为float类型,数字后面加“F”

 

1.5定义变量

创建变量需要:类型、变量名、数据(例如:int   m =  23;)

变量名是为了在内存中方便寻找。(例如内存4GB,一个int型变量为4B,要寻找其犹如大海捞针)

String属于引用类型,定义方式与基本类型相同。

 

1.6变量使用的注意事项

  • 变量定义后可以不赋值,使用时再赋值。不赋值不能使用。
  • 变量是有作用域的,只在所定义的大括号内有效。
  • 变量不能重复定义

 

1.7 数据类型转换(自动转换与强制转换)

不同类型的变量是否可以一起运算?回答是可以,但先需要进行类型转换再运算。

转换原则:

范围小的可以转为范围大的。

范围大的不能转为范围小的。

将各种数据类型按照数据范围从小到大排列:

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

自动转换:
例如:

 double d = 1000; //将int型转为double

强制类型转换

将数据范围大的转为范围小的(会丢数据)

int  i = (int)6.718;   //i的值为6
byte a = (byte)210;    //a为-46

 

第二章 运算符

 

2.1算数运算符

  1. 除法“/”当两边为整数时,取整数部分,舍余数。当其中一边为浮点型时,按正常规则相除。
  2. 当“+”遇到字符串,起连接作用,将一个字符串和其他数据连接起来。
  3.  任何类型只要和字符串+, 所有的数据都变成了字符串。
 System.out.println("5+5="+5+5); // + 遇到字符串,变成连接符号,输出结果为:5+5=55

 

2.2 算数运算符++、--的使用

  1. ++运算符,会在原有值的基础上自增1;
  2. --运算符,会在原有值的基础上自减1。
  3. ++a与a++有区别,++a是先加再运算,a++是先运算后加。
int a = 3;
int b;
b = a++ + 10;
System.out.println(a);
System.out.println(b);    //输出a为4,b为13

 

 2.3 赋值运算符

j+=6是一步操作,j=j+6是两步操作(先加再赋值),优先使用+=

// += 赋值运算符
int j = 5;
j+=6; // 与j=j+6同,但j+=6是一步操作,j=j+6是两步操作(先加再赋值)
System.out.println(j);

		
byte b = 1;
/*如果不强行转换会报错,因为常量1默认为4字节的int类型,而b为1字节的byte类型,计算时将byte自动转换为int,其计算结果也是int类型,但无法将int类型的数据存至byte类型的b变量中  */
b = (byte)(b + 1);  
System.out.println(b);


byte x = 10;
x += 20;// 相当于 x = (byte)(x+20);

 

2.4比较运算符(关系运算符)

比较运算符,又叫关系运算符,它是用来判断两个操作数的大小关系及是否相等关系的,结果是布尔值true或者false。

  • 赋值运算符的 = 符号,是用来将 = 符号右边的值,赋值给 = 符号左边的变量;
  • 比较运算符的 == 符号,是用来判断 == 符号 左右变量的值是否相等的。 

 

2.5 逻辑运算符

  •     & : 一边是false,运算结果就是false, 见了false,就是false
  •     | : 一边是true,运算结果就是true,见了true,就是true
  •     ^ : 两边相同为false,不同为true
  •     ! : 取反 !true = false  !false=true
  •     && : 短路与 , 一边是false,另一边不运行,从左往右运行
  •     || : 短路或 , 一边是true,另一边不运行,从左往右运行
  • 当使用“ &&或 ||” 时,只要能判断出结果则后边的部分就不再判断。则&&比&的运算效率高。
int i = 3;
int j = 4;
System.out.println(3>4 && ++j>2);
System.out.println(j);    //输出结果j为4,因为3>4为false则后面的不执行

 

2.6三元运算符

(条件表达式)?表达式1:表达式2;

若条件表达式成立,则运行表达式1,否则运行表达式2。

 

2.7运算符优先级

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值