JAVA Day1总结 基本数据类型

1.基本数据类型 四类八种

boolean         1位
byte            1字节
short   char    2字节
int  float      4字节
long  double    8字节

2.为什么byte 占一个字节是 -128到127

能够表示的最小二进制是10000000。但是注意,这是一个补码,
我们需要根据规则反向求出它本身的原码,首先减去1,得到01111111,
然后在求反,得到10000000,换算成十进制就是128,加上符号,即-128

3.隐式转换:

 大  =  小 + 大

4.强制转换

 小  =  (小的类型)(小  + 大)

5.变量相加和常量相加的区别

byte b1 = 3;
byte b2 = 4;
byte b3 = b1 + b2;
	* 从两方面去回答这个题
	* b1和b2是两个变量,变量里面存储的值都是变化的,所以在程序运行中JVM是无法判断里面具体的值
	* byte类型的变量在进行运算的时候,会自动类型提升为int类型
byte b4 = 3 + 4;
	* 3和4都是常量,java有常量优化机制,就是在编译的的时候直接把3和4的结果赋值给b4了

6.进行混合运算的时候,byte,short,char不会相互转换,都会自动类型提升为int类型

  其他类型进行混合运算的是小的数据类型提升为大的

在这里插入图片描述


7.字符和字符串参与运算

  • 任何类型的东西和String相加都会变成字符串类型~
  • 字符是基本数据类型,因此字符和int运算会提升至int类型进行计算~

//        * 记住三个值:
//		 * '0'  48
//        * 'A'  65
//        * 'a'  97
        System.out.println("hello" + 1 + 'a');
        // hello1a
        System.out.println(1+ 'a'+ "hello");
        //98hello     先将a的级别提升至int  然后与一相加
        System.out.println("hello" + (1 + 'a'));
        // hello98    小括号  优先

8.char数据类型

* A:char c = 97;	0到65535   因为不存在负数
* B:Java语言中的字符char可以存储一个中文汉字吗?为什么呢?
	* 可以。因为Java语言采用的是Unicode编码。Unicode编码中的每个字符占用两个字节。中文也是占的两个字节
	* 所以,Java中的字符可以存储一个中文汉字
	* 不可以存两个,因为char类型只能存储一个字符,包括汉子

算术运算符的基本用法

  • b:整数相除只能得到整数。如果想得到小数,必须把数据变化为浮点数类型
float a  = 10/ 3f;     //3.0
float a  = 10/ 3.0f;   //3.333333
* c:/获取的是除法操作的商,%获取的是除法操作的余数
* %运算符
	* 当左边的绝对值小于右边绝对值时,结果是左边
	* 当左边的绝对值等于右边或是右边的倍数时,结果是0
	* 当左边的绝对值大于右边绝对值时,结果是余数
	* %运算符结果的符号只和左边有关系,与右边无关
	* 任何一个正整数%2结果不是0就是1可以用来当作切换条件 
 	   System.out.println(6%-5);      //1
        System.out.println(-796%-5);  //-1
        System.out.println(-796%5);   //-1

9.算术运算符++和–

* a:单独使用:
	* 放在操作数的前面和后面效果一样。(这种用法是我们比较常见的)
* b:参与运算使用:
	* 放在操作数的前面,先自增或者自减,然后再参与运算。
	* 放在操作数的后面,先参与运算,再自增或者自减。

在这里插入图片描述

在这里插入图片描述

10.赋值运算符的基本用法

  • a:基本的赋值运算符:=
    * 把=右边的数据赋值给左边。

    • b:扩展的赋值运算符:+=,-=,*=,/=,%=
      • += 把左边和右边做加法,然后赋值给左边。
        *在这里插入图片描述
        注意区分 a= a+1 和 a += 1
        如上题 a =a + 4 是错误的 , a = a + 4 : a+4先转换成int类型进行计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值