Java的第三天--(变量与运算符)

Java的第三天–(变量与运算符)

Java变量

​ 变量是程序中最基本的存储单元,程序执行中数值是可变的

​ 本质上,变量其实是内存中的一小块区域,使用变量名来访问这块区域,因此,每一个变量使用前必须要先申请(声明),然后必须进行赋值(填充内容),才能使用。

​ 变量是通过使用变量名来访问这块区域的。

​ 要素:变量名变量类型

​ 语法:

【修饰符】 type varName【=value】【,varName【=value】…】

数据类型

​ 定义:明确了具体类型,使其在内存中分配不同大小合理的空间

​ 为什么要明确数据类型?

​ Java语言是一种强数据类型语言,每个数据必须指定其类型,使JVM为其分配空间。

​ 分类:

​ 基本数据类型(只有八种,便于使用)

​ 引用数据类型(除了基本类型之外的都为引用类型)

基本数据类型:
整型:

​ 默认为int型,1字节 = 8位(bit)

​ **byte:**1字节

​ **short:**2字节

​ **int:**4字节

​ **long:**8字节(声明long型时需要在后面加上“l”或“L”)

​ 二进制:在数前加上0B或0b;

​ 八进制:在数前加上0;

​ 十六进制:在数前加上0X或0x;

​ 示例:

//定义long型
	long  a  =   2000000L;
//0b与0B开头的都是二进制
	int u = 0b10;
//0开头的都是八进制
	int o = 010;
//0x与0X开头的都是十六进制
	int p = 0xbd;
浮点型:

​ 默认为double型

​ **float:**4字节(声明float型时需要在后面加上“f”或“F”)

​ **double:**8字节

​ 示例:

//定义float型
	float b  =  0.2F
//定义double型
    double c = 0.032
布尔型:(boolean)

​ 其逻辑值只能是true或false表示;

字符型:

​ **char:**2字节

注意:

​ 字符型是需要用单引号括起来的单个字符;

​ 为了让计算机识别字符,人定义了编码表;在不同的编码表上所对应的也不相同;最早为ASCII(只能表示英文)。

​ char进行算术运算时,将使用字符所对应的编码表中的整数进行算术运算。

基本数据类型的转换:

​ 8中基本数据类型中除了boolean型,其他类型都可以相互转换;

​ 数据储存容量大小顺序:(由小到大)

​ byte,short,char < int < long < float < double

默认转换:

​ 容量小的类型默认转换为容量大的类型;

强制转换:

​ 容量大的类型转换为容量小的类型

注意:

​ 容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出;

​ 示例:

/**
 * 数据类型转换
 */
    /*
    默认转换
    容量小的可以自动转换为容量大的
    容量大的可以包含下容量小的
    参与混合混合运算时,小容量会自动转为大容量
    */

    int a = 10;
    long b = a;
    float f = b;

    float f1 = a+b;
    /*
    强制类型转换
    容量大的转为容量小的
    
    会产生的问题有:
    	溢出:小的装不下大的
    	精度降低
    */
    int  x = 258;
//强制将int型的x转换为byte型的y
    byte y = (byte)x;

    float m = 10.5f;
    long n = (long)m;

运算符

​ Java 语言支持的运算符有:

​ 算术运算符: +,-,*,/,%,++,–

​ 关系(比较)运算符: >,<,>=,<=,==,!=

​ 逻辑运算符: !(逻辑非),&(逻辑与) , |(逻辑或) , &&(短路与),||(短路或),^(逻辑异或)

​ 赋值运算符: = ,+ =,- =,* =,/ =,%=

​ 条件运算符:(条件表达式)?a :b ,当条件表达式的结果为true时,输出a;结果为false时,输出b

​ 位运算符:<<,>>,>>>>,&,|,^,~

注意:

&(逻辑与)与&&(短路与)的区别:

​ & 遇到第一个false后面的表达式继续执行;

​ &&遇到第一个false后就短路了,后面的表达式也就不执行了.

|(逻辑或)与||(短路或)的区别:

​ | 遇到第一个true后,后面的表达式还会执行;
|| 遇到第一个true后就会短路,后面的表达式也将不会执行;

​ 示例:

//  &&(短路与) 遇到第一个false之后 &&后面的不进行运算
	/*int a = 1;
    int b = 2;
    int c = 3;
    System.out.println(a>b && ++a<c); // false && true  =   false
    System.out.println(a);// a==1
	System.out.println(a<b && ++a>c); // true &&  false  =   false
    System.out.println(a);// a==2*/
//  ||(短路或) 遇到第一个true之后 ||后面的不进行运算
	int a = 1;
    int b = 2;
    int c = 3;
	System.out.println(a<b || ++a>c); // true || false  =   true
    System.out.println(a);// a==1
    System.out.println(a>b || ++a<c); // false ||  true  =   true
    System.out.println(a);// a==2
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值