八大基本数据类型

在我们所学习的JAVA语言中,数据类型共分为两大类型,分别是基本数据类型和引用数据类型,
其中基本数据类型又称为原始数据类型,引用数据类型也可以成为自定义的数据类型,有无数种。
所以我们只要学会了基本数据类型,那么剩下的就都是引用数据类型了。

基本数据类型一共有八种分别是:byte、short、int、long、float、double、char、boolean
而这八中数据类型又可以分为四类:
整数类型:byte,short,int,long
浮点数类型:float,double
字符类型:char
布尔类型:boolean

四个整数类型:

byte: 字节类型,是计算机中最小的存储单元。
二进制:8位(位:bit)
数值范围:-128 ~ 127
幂表示: -2^7 ~ 2^7-1

short:短整形
二进制:16位
数值范围:-32768 ~ 32767
幂表示: -2^15 ~ 2^15-1

int: 整形
二进制:32位 00000000 00000000 00000000 00000001
数值范围:-2147483648 ~ 2147483647
幂表示: -2^31 ~ 2^31-1
注意:是int类型是java语言中整数的默认类型

long: 长整形
二进制:64位
数值范围:正负922亿亿
幂表示: -2^63 ~ 2^63-1
注意:使用long类型时,long类型的字面量必须添加 L或l。

两个浮点数类型

float:单精度浮点数类型,
二进制:32位 00000000 00000000 00000000 00000001
数值范围:正负3.14E38
注意:使用float类型时,float类型的字面量必须添加 F或f。

double:双精度浮点数类型
二进制:64位
数值范围:正负1.7E308

一个字符类型

char:二进制:16位
赋值特点:
1、可以使任意字符.
2、必须使用单引号,单引号内有且只有一个字符
3、也可以使0~65535之间的任意整数。

一个布尔类型

boolean:用于进行条件的判断
就两个值 true/false
true:表示条件成立
false:表示条件不成立

数据类型的转换

而数据类型的转换也分为两种:自动转换(隐式转换)和强制转换(显式转换)

1.自动转换(隐式转换)
当小范围类型的变量赋值给大范围类型的变量时,数字会自动转成对应的类型。
比如:
byte a = 2;// a里存储的是8位 2
short b = a;// 将a里的2存入16位的b中,
会自动在前面补全8个0.
注意:如果是负数,会自动补全1

byte a = 10;
  long b = a;//8位的10存储到64位的b中,自动补全56个0

  int c=10;
  double d = c;

2.强制转换(显式转换)
将大范围类型的变量赋值给小范围类型的变量,需要强制转换
注意:强制转换后,有可能出现精度损失。

强制转换的语法:

  小范围类型名 小范围变量=(小范围类型名)大范围变量

 例1  long a = 10;
      int  b = (int)a;

 例2  double c = 3.999;
      byte d = (byte)c;

 例3  int m = 128;
      byte n = m;

运算符的用法

任何运算都要遵守两个原则:
原则1:参与运算的类型都小于int时,一定会先自动转成int类型然后再计算。
原则2:参与运算的类型不一致时,一定会先自动转成较大类型的数据然后再计算。
封闭式运算:int,long

运算时:注意,两原一封原则

1.算术运算符:+,-,*,/,%,++,- -
++ - - :自增自减运算符,必须和变量一起使用,表示变量会自动进行加一或减一运算
m++:先打印m,然后再给m加1
++m:先将m加1后再打印
减号同理

int m = 1;
  int n = 5;
  m = m++  +  n--  +  --n  +  m  +  ++m;
  System.out.println(m);//14
  System.out.println(n);//3

2.关系运算符

> , >= , < , <= , == , !=

3.逻辑运算符,也叫短路运算符
通常都是用在1个或1个以上的关系运算中

&&  ,||  , !
 && (与): 全真为真,一假则假
 || (或):  全假为假,一真则真
 !(非):       非真即假,非假即真

使用逻辑运算符会出现短路现象:
当第一个条件能确定结果,不执行第二个条件
&&:第一个为假时,就不执行第二个了
||:第一个为真时,也不执行第二个了

4、赋值运算符

= : 将右边赋值给左边的变量
 扩展赋值运算符
 +=:a+=b,相当于a=a+b;
 -=:a-=b,相当于a=a-b;
 *=:.........
 /=: .........
 %=: .........

5、字符串拼接符:+
字符串类型名:String,赋值特点,0或0个以上的字符使用
双引号引起来

String name = "韩小二"

当+前后只要有一个是字符串类型的数据,就做无缝拼接操作,拼接后的结果是字符串类型。

int a = 5;
  int b = 1;
  String s = "2";
  s = a+b+s; //"62"
  s = a+s+b; //"521"
  s = s+a+b; //"251"
  s = s+(a+b);//"26"
  s = a+b+(a+b)+s+a+b;"12251"
  s = a+b+s+a*b ;"625"

6、三目运算符(三元运算符)
变量类型 变量名 = boolean表达式?值1:值2;

int m = 10,n = 15;
	String str =m>n?"你好":"我不好";
	System.out.println(str);
	int re = m<n?n:m;
	System.out.println(re);
	re = m<n?m:n;
	System.out.println(re);
	x = 50;
	y = 60;
	str = m<n&&x>y? "True":"False";
	System.out.println(str);