基本数据类型转换_常见运算符

本文详细介绍了Java中的基本数据类型转换规则,包括隐式转换和显式转换,以及boolean类型的特殊性。同时,展示了各种算术运算符、自增自减运算符、关系运算符和逻辑运算符的用法。此外,还涵盖了位运算符的使用,如按位与、按位或、按位异或等,并通过实例进行了演示。
摘要由CSDN通过智能技术生成

1.基本数据类型转换

基本数据类型[byte  short int long float  double  boolean char]
1.boolean是不能参与基本类型转换的
boolean类型的数据,不能被抓换成任何基本类型,其他的基本类型也不能转换成boolean
2.基本数据类型的精度排序[由低到高]
byte     short  char  int  long  float double
3.隐式数据类型转换----数据类型精度低的类型转换成数据类型精度高的类型
怎么转:直接赋值
【将数据类型精度低的类型的变量/具体数据值直接赋值给数据类型精度高的类型变量】
4.显式数据类型转换----数据类型精度高的类型转换成数据类型精度低的类型
显式数据类型转换也叫强制数据类型转换
怎么转:低类型  低变量=(低类型)高精度变量/数据值

//测试基本数据类型转换的java类
public  class  DataTypeSwitch{
	//程序的入口--主方法
	public  static  void  main(String args[]){
		//1.boolean是不能参与基本类型转换的
		//2.byte short  char  int  long  float double
		//3.隐式数据类型转换----数据类型精度低的类型转换成数据类型精度高的类型
		//将数据类型精度低的类型的变量/具体数据值直接赋值给数据类型精度高的类型变量
		//int  --  double
		int  intvalue = 12;
		double doublevalue = intvalue;
		System.out.println("doublevalue=="+doublevalue); //12.0		
		//没有使用变量保存的整数值,就是int型
		double  doublevalue2=123;
		System.out.println("doublevalue2=="+doublevalue2); //123.0

		//double -- int 
		//显式数据类型转换----数据类型精度高的类型转换成数据类型精度低的类型
	  	//显式数据类型转换也叫强制数据类型转换
	        //怎么转:低类型  低变量=(低类型)高精度变量/数据值
		double  doublevalue3=12.5;
		int  intvalue2=(int)doublevalue3;
		System.out.println("intvalue2=="+intvalue2); //12
		//没有使用变量保存的小数值,就是double型
		int intvalue3=(int)168.5;
		System.out.println("intvalue3=="+intvalue3); //168
	}
}

5.char字符型与int整数型之间的相互转换

char字符型--int整数型--隐式数据类型转换
int整数型---char字符型---显式数据类型转换也叫强制数据类型转换

//char字符型--int整数型--隐式数据类型转换
char charvalue='人';
int value1=charvalue;
System.out.println("value1=="+value1); //20154
//int整数型---char字符型---显式数据类型转换也叫强制数据类型转换
int value2=20154;
char charvalue2=(char)value2;
System.out.println("charvalue2==="+charvalue2);

2.赋值运算符与赋值表达式的说明和用法 

赋值运算符:= 
赋值表达式:变量  =  数据值
说明:= 是赋值运算符号 ,将“=”右边的数据,叫给“=”左边的变量来保存。
例如:int  num1 = 100;
注意:所赋予变量的数据值一定要和变量的数据类型一致。


3.算术运算符与算术表达式的说明和用法

算术运算符: + - * / %[求余] ++【自增】 --【自减】
算术运表达式:  100+10,12-8,23*5,10/2,10%3  
说明:将运算数据值使用算术运算符合连接组成一个可计算的数式

//测试基本的算术运算符
public  class  SuanShu{
	//主方法
	public static void  main(String  args[]){
		//基本的算术运算符
		//+ - * / %[求余]
		int num1=10;
		int num2=3;
		int  he=num1+num2; //使用“+”运算符
		int  cha=num1-num2; //使用“-”运算符
		int  ji=num1*num2; //使用“*”运算符
		int  shang=num1/num2; //使用“/”运算符
		int  yu=num1%num2; //使用“%”运算符
		System.out.println(num1+"+"+num2+"="+he);
		System.out.println(num1+"-"+num2+"="+cha);
		System.out.println(num1+"*"+num2+"="+ji);
		System.out.println(num1+"/"+num2+"="+shang);
		System.out.println(num1+"%"+num2+"="+yu);
	}
}

4.”++”与”--”的具体用法

【++】与【--】都是算术运算符号
++【自增】:自动加1
表现1:变量 ++  [先用后加]
先将变量原来的数据值取出使用,使用完毕以后自动加1,下一次使用这个变量的时候就是加1以后的数据值。
表现2:++ 变量  [先加后用]
先将变量原来的数据值取出加1,然后再去使用。

//测试++
int  number1=10;
//变量 ++  [先用后加]
//System.out.println("number1++----"+(number1++)); //10
//System.out.println("number1----"+number1);  //11
//++ 变量  [先加后用]
System.out.println("++number1----"+(++number1)); //11
System.out.println("number1----"+number1);  //11

--【自减】:自动减1
表现1:变量 --  [先用后减]
先将变量原来的数据值取出使用,使用完毕以后自动减1,下一次使用这个变量的时候就是减1以后的数据值。
表现2:-- 变量  [先减后用]
先将变量原来的数据值取出减1,然后再去使用。

//测试--
int  number2=10;
//变量 --  [先用后减]
//System.out.println("【number2--】----"+(number2--)); //10
//System.out.println("number2----"+number2);  //9
//-- 变量  [先减后用]
System.out.println("【--number2】----"+(--number2)); //9
System.out.println("number2----"+number2);  //9

5.关系运算符与关系表达式的说明和用法

关系运算符:  > <  >=  <= !=
关系表达式:  100>10,12<8,23>=5,10<=2,10!=3  
关系运算符也叫比较运算符,它的运算结果是boolean类型

//测试基本的比较运算符
public  class  BiJiao{
	//主方法
	public static void  main(String  args[]){
		//基本的比较运算符
		//> <  >=  <= !=
		//关系运算符也叫比较运算符,它的运算结果是boolean类型
		int  num1=10;
		int  num2=3;
		boolean dayu=num1 > num2; //使用“>”比较运算符
		boolean xiaoyu=num1 < num2; //使用“<”比较运算符
		boolean dayudengyu=num1 >= num2; //使用“>=”比较运算符
		boolean xiaoyudengyu=num1 <= num2; //使用“<=”比较运算符
		boolean budengyu=num1 != num2; //使用“!=”比较运算符
		System.out.println(num1+">"+num2+"-----"+dayu);
		System.out.println(num1+"<"+num2+"-----"+xiaoyu);
		System.out.println(num1+">="+num2+"-----"+dayudengyu);
		System.out.println(num1+"<="+num2+"-----"+xiaoyudengyu);
		System.out.println(num1+"!="+num2+"-----"+budengyu);
	}
}

6.逻辑运算符与逻辑表达式的说明和用法

常见的逻辑运算符:或【||】  与【&&】 非[取反]【!】
逻辑表达式:  true || false ,(10>3) && (12<5) , !(100<5)
参与逻辑运算的数据值和逻辑运算的结果都是boolean类型

//测试基本的逻辑运算符
public  class  LuoJi{
	//主方法
	public static void  main(String  args[]){
		//基本的逻辑运算符
		// ||  &&  !
		//参与逻辑运算的数据值和逻辑运算的结果都是boolean类型
		int  num1=10;
		int  num2=3;
		boolean huo=(num1>num2) || (num1<num2); //使用“||”逻辑运算符
		boolean yu=(num1<num2) && (num2<num1); //使用“&&”逻辑运算符
		boolean fei=!((num1<num2) && (num2<num1)); //使用“!”逻辑运算符
		System.out.println("||[或]---"+huo); //true || false -- true
		System.out.println("&&[与]---"+yu); //false && true --  false
		System.out.println("![非]---"+fei); //!false---true
	}
}

7.短路或和短路与

我们将逻辑或也叫短路或,将逻辑与也叫短路与。
短路的意思就是逻辑运算符合的左右两边,有一边不需要计算
逻辑或也叫短路或
true ||  false --- true   
true ||  true  --- true
false ||  true --- true
false ||  false ---false
逻辑或的左边为true,右边不需要计算,其结果一定是true
逻辑与也叫短路与
true &&  false --- false   
true &&  true  --- true
false &&  true --- false
false &&  false ---false
逻辑与的左边为false,右边不需要计算,其结果一定是false

//测试短路运算符
public  class  DuanLu{
	//主方法
	public static void  main(String  args[]){
		//System.out.println(10/0); //java.lang.ArithmeticException: / by zero
		//测试短路或
		//左边为true,右边不需要计算,其结果一定是true
		System.out.println(true || ((10/0)>1)); //true
		//测试短路与
		//左边为false,右边不需要计算,其结果一定是false
		System.out.println(false && ((10/0)>1)); //false
	}
}

8.位运算符的用法

位运算符    :将参与运算的数据转换成2进制【010101】,逐一进行运算。
常见的位运算符:&[按位与],|[按位或],^[按位异或],~[按位反],<<[左移位],>>[右移位]
&[按位与]:两个二进位均为1时,结果位才为1 ,否则为0
           1&1=1  1&0=0 0&1=0 0&0=0
|[按位或]:两个二进位有一个为1时,结果位就为1
           1|1=1  1|0=1 0|1=1 0&0=0
^[按位异或]:两个二进位相异时,结果为1。
            1^1=0  1^0=1 0^1=1 0^0=0
~[按位反]: 逐位取反
<<[左移位]:向左移动指定位数
2---左移2位    0000 0010
                      0000 1000--8    
>>[右移位]:向右移动指定位数
2---右移2位    0000 0010
                      0000 0000--0

//测试位运算符
public  class  WeiYunSuan{
	//主方法
	public static void  main(String  args[]){
	//位运算符	:将参与运算的数据转换成2进制【010101】,逐一进行运算。
	//常见的位运算符:&[按位与],|[按位或],^[按位异或],~[按位反],<<[左移位],>>[右移位]
	int num1=7;
	int num2=3;
	//&[按位与]:两个二进位均为1时,结果位才为1 ,否则为0
	//	   1&1=1  1&0=0 0&1=0 0&0=0
	System.out.println(num1+"-&[按位与]-"+num2+"==="+(num1&num2)); //3
	//|[按位或]:两个二进位有一个为1时,结果位就为1
	//	   1|1=1  1|0=1 0|1=1 0&0=0
	System.out.println(num1+"-|[按位或]-"+num2+"==="+(num1|num2)); //7
	//^[按位异或]:两个二进位相异时,结果为1。
	//	    1^1=0  1^0=1 0^1=1 0^0=0
	System.out.println(num1+"-^[按位异或]-"+num2+"==="+(num1^num2)); //4
	//~[按位反]: 逐位取反
	System.out.println(num1+"-^[按位取反]-"+"==="+(~num1)); //-8
	//<<[左移位]:向左移动指定位数
	System.out.println(num1+"<<2"+"==="+(num1<<2)); //28
	//>>[右移位]:向右移动指定位数
	System.out.println(num1+">>2"+"==="+(num1>>2)); //1
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值