Day_02 类型转换和运算符

基本数据类型变量的类型转换
    基本数据类型的类型转换:
        前提 : double > float > long > int > char,short,byte
        自动提升 : 大类型的变量接收小类型的变量/值

        强制转换 :
            小的数据类型 变量名 = (小的数据类型)大类型的值/变量;

        原理: 数据类型所占字节数

        数据是什么类型就拿什么类型的变量进行接收,不要轻易的做类型转换!! 会导致精度损失!
进制
进制 : 进位的制度

二进制 :21 -> 0 1 	10->2
八进制:81 -> 0 1 2 3 4 5 6 7   10 -> 8
十进制 :101 ->  0 1 2 3 4 5 6 7 8 9   10 -> 10
十六进制 :161 ->  0 1 2 3 4 5 6 7 8 9 A B C D E F 	10 -> 16
    
进制的转换: 请用计算器算!!
    
代码中的运算全都是转换成二进制进行运算!!
    原码 : 原来的二进制码
    反码 : 10 01
    补码 : 在反码的基础上做+1
所有的二进制运算全都是拿着补码在运算!!
    正数的原反补是一样的!!  255: 1111 1111  原反补都是 1111 1111
    负数的原反补就必须要算!!    
运算符
算术运算符
赋值运算符
关系运算符
逻辑运算符
三元运算符
算术运算符
算术运算符 : + , - , * , / , % , ++/--
    
    % :2个数相除的余数
        //当被除数小于除数的时候取余的结果就是被除数本身!

   注意:
    1. 整数做运算结果一定是整数,若想得到小数必须有小数参与运算
    2. 不同类型的值/变量在做运算的时候,结果一定是大类型
        .var : 自动接收
        .castvar : 强转接收    
字符类型的数据做运算
计算机设计者让计算机中的每一个符号,字母.... 对应着一个数字!!十进制的数值可以转换成二进制!!
    
    如何对应 ?  编码表 字符和数字的对应表
    
    ASCII : 美国标准信息交换码表
    
    0: 48 a: 97 A: 65
        
     字符类型的数据做运算的时候,会去对应的编码表中找到其对应的数值进行运算!!       
字符串类型的数据做加法运算
字符串类型 : String  --> 引用数据类型之一

String 类型的对象是字符串 --> 字符串对象就是双引号引起来的内容 --> "Hello"
    
 注意事项:   
        1. 本质是做字符串的连接
        2. 字符串做加法结果一定是字符串类型
        3. 字符串和字符做加法的时候,字符不会变成对应的数值,而是直接拼接    
++/–运算符
++/--运算符 : 自增/自减 运算符

注意 : 自增/自减运算符必须和变量一起用!!  
    ++ : 变量值+1,并把新的值赋值给原变量
    -- : 变量值-1,并把新的值赋值给原变量  
    
单独使用: 不管++/--在变量的前后,变量做自增自减;   

++/-- 在参与运算的情况下:
        ++/-- 在变量的前面 : 先自增/自减, 再参与运算
        ++/-- 在变量的后面 : 先参与运算, 再自增/自减
        
    ++/--的运算百分95以上的情况都是单独使用!!   
赋值运算符
= : 赋值运算符

代码:
	int num = 10; ->10赋值给int类型的变量num;

拓展的赋值运算符:
	+=,-=,*=,/=,%=
        
    拓展的赋值运算符隐含了强制类型转换:
        short s = 10;
        s += 20; 
        --> 展开式 : s = (short)(s + 20);   

short s1 = 7;
short s2 = 8;

//byte,short,char类型的变量在做运算的时候会自动提升至int类型再运算
short result1 = s1 + s2;//
short result2 = 7 + 8;
关系运算符
关系运算符 : ==,!=,>,<,>=,<=
    
    1. 被关系运算符连接起来的式子叫 关系表达式
    2. 关系表达式的结果一定是 boolean 类型
    3. 不要把 == 写成了 =     
逻辑运算符
逻辑运算符 : 用来连接关系表达式的
	数学中 : 0 < a < 10;  //代码中不允许
	代码中 : a > 0 & a < 10;

	数学中 : a > 5 或者 a < 3
    代码中 : a > 5 | a < 3
        
逻辑表达式的结果也一定是boolean类型的!        
	
逻辑运算符 :
	& : 逻辑与 -> 并且 "严格的丈母娘"
		运算法则:false则为false
		
	| : 逻辑或 -> 或者 "和蔼的丈母娘"
		运算法则:true则为true
		
	^ : 逻辑异或 中国的领结婚证关系
		运算法则: 相同则为false,不同则为true
		
	! : 逻辑非 -> 取反 
		运算法则: truefalse,falsetrue
		
		
带有短路效果的逻辑运算符:		
	&& : 逻辑双与
    	运算法则:false则为false
    	短路效果: &&左边的关系表达式结果为false,右边的表达式 不执行!!
    	
    || : 逻辑双或
    	运算法则:true则为true
    	短路效果: ||左边的关系表达式结果为true,右边的表达式 不执行!!
            
 只要用逻辑&和逻辑| 就直接使用逻辑双与和逻辑双或!!           
三元运算符
: 元素

一元运算符 : ++/--
二元运算符 : +,-,* /,%.....
    
三元运算符 :
	格式:
		结果的数据类型 变量名 = 结果为boolean类型的式子 ? 结果1 : 结果2;

	执行流程:
		1. 计算 结果为boolean类型的式子
		2. 若结果是true,那么三元运算符的结果是 结果1;
		3. 若结果是false,那么三元运算符的结果是 结果2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值