Java基础---运算符以及语句

变量--可以为是一个程序执行的最小单位

变量的格式:数据类型  变量名称=初始值;

1.基本数据类型的转换

   1.boolean不参与基本数据类型转换的。

   2.基本数据类型精度的排序

      byte  short  char  int  long  float  double

   3.隐式数据类型转换【自动数据类型转换】

      数据类型精度低的转换成数据类型精度高的过程就是隐式数据类型的转换

      低---->高 隐式数据类型转换【自动数据类型转换】 

   4..显式数据类型转换【强制数据类型转换】

      数据类型精度高的转换成数据类型精度低的过程就是显式数据类型的转换

      高---->低 显式数据类型转换【强制数据类型转换】

     格式:低类型  变量名称=(低)高[值/变量]

       例如:

public class DataType{
               public static void main (String args[]){
                      //低---->高 隐式数据类型转换【自动数据类型转换】
                      int numint1=100;//整数类型的变量占4个字节
                      double numdou1=numint1;//int被隐式转换成double
                      double numdou2=45;//整数常量默认是int
                             System.out.println("numdou1=="+numdou1+",numdou2=="+numdou2);
                       //高--->低 显式数据类型转换【强制数据类型转换】
                       //小数常量默认为double
                       //格式: 低类型  变量名称 = (低类型)高[值/变量];
                       //double/float--->int
                       double dounum3=12.5;
                       int intnum1=(int)dounum3;
                       int intnum2=(int)28.3f;
                             System.out.println("intnum1=="+intnum1+",intnum1=="+intnum1);
                       //char与int转换
                       //char--->int 隐式数据类型转换【自动数据类型转换】
                       char cha1='家';
                       int intnum3=cha1;
                       System.out.println("intnum3=="+intnum3);
                       //int--->char  显式数据类型转换【强制数据类型转换】
                       int intnum4=23457;
                       char cha2=(char)intnum4;
                       System.out.println("cha2=="+cha2);
                       //byte转换成int---隐式数据类型转换【自动数据类型转换】
                       byte bytenum1=120;
                       int intnum5=bytenum1;
                       System.out.println("intnum5=="+intnum5);
                       //int转换成byte---显式数据类型转换【强制数据类型转换】
                       int intnum6=129;
                       byte bytenum2=(byte)intnum6;
                       System.out.println("bytenum2=="+bytenum2);
                       int intnum7=-130;
                       byte bytenum3=(byte)intnum7;
                       System.out.println("bytenum3=="+bytenum3);
                    }
}

   5.int转换成byte

      byte转换成int----隐式数据类型转换【自动数据类型转换】

      int转换成byte----显式数据类型转换【强制数据类型转换】

           1.当整数int转换成byte时,int取值正数超过byte范围以后,会从byte最小值向前推进

           2.当整数int转换成byte时,int取值负数超过byte范围以后,会从byte最大值向后推进

如下图所示:

2. java中的运算符

 1.赋值运算符  =

 2.算术运算符  【+ - * / %{求余} ++{自动加1}  --{自动减1} 】

 3.比较运算符   【>  <  >=  <=  ==  !=】 

 4.逻辑运算符  【||  &&  ! {位运算符  |  &  !  ~  ^  >>  << }

 5.{位运算符  |  &  !  ~  ^  >>  << }

  位运算符需要将数据转换成2进制【00101010】数据进行运算

  掌握10进制转2进制 :短除法[笨]  8421码转化法

                             1024  512  256  128  64  32  16  8  4   2   1

      7=4+2+1—        0       0      0      0     0    0    0   0   1   1   1---- 00000111 

      13=8+4+1—      0       0      0      0     0    0    0   1   1   0   1---- 00001101

     负数的二进制:实质上用补码表示【正数的补码是本身】【负数的补码是反码+1】

     反码的表示方法是:正数的反码是其本身【原码】

                                   负数的反码是在其原码的基础上, 符号位不变,其余各个位取反

     原码就是符号位加上真值的绝对值,即用第一位表示符号, 其余位表示值

      -7--7的2进制--00000111--[-7的源码]10000111---[-7的反码]11111000--[-7的补码]11111001

     | 按位或---相同位只要一个为1即1。【7  | -7】  【01--1  10--1  11-1】,如下所示:

         00000111

         11111001

         11111111

     & 按位与---相同位相同为1,不同为0。【7  & -7】  【11--1  00--1  01-0  10-0】,如下所示:

         00000111

         11111001

         00000001

     ^ 按位异或---相同位相同为0,不同为1。【7  ^ -7】  【01--1  10--1 11--0 00--0】,如下所示:

         00000111

         11111001

         11111110

     ~取反  0和1全部取反

     <<左位移 2进制整体向左移动指定位数

     >>右位移 2进制整体向右移动指定位数

 6.三元运算符【(判断)? 数据值1:数据值2】

     先判断,判断结果为true,整运算表达式的结果取数据值1

                   判断结果为false,整运算表达式的结果取数据值2

例如:

                      System.out.println(num1+"%"+num2+"="+(num1%num2));
                      //++{自动加1}
                      //变量++【先用后加1】
                      System.out.println(num2++); //12
                      System.out.println(num2);      //13
                      //++变量【先加1后用】
                      //System.out.println(++num1);   //21
                      //System.out.println(num1);        //21
                      //变量--{自动减1}
                      //变量++【先用后减1】
                      //System.out.println(num1--);   //20
                      //System.out.println(num1);      //19
                      //--变量【先减1再用】
                      System.out.println(--num1); //19
                      System.out.println(num1);    //19
                      
                      //比较运算符【> <  >=  <=  != 】运算结果为boolean
                      int a=15;
                      int b=20;
                     System.out.println(a+">"+b+"=="+(a>b)); //false
                     System.out.println(a+"<"+b+"=="+(a<b)); //true
                     System.out.println(a+">="+b+"=="+(a>=b)); //false
                     System.out.println(a+"<="+b+"=="+(a<=b)); //true
                     System.out.println(a+"!="+b+"=="+(a!=b)); //true
                     System.out.println(a+"=="+b+"=="+(a==b)); //false
                     //4.逻辑运算符  【||  &&  ! 】使用逻辑运算符的数据是boolean值
                     //[短路或]||  运算符号的左边结果为true时,右边不需要计算,结果为true
                     System.out.println((a<b) || (7/0)>1);//true
                     //[短路与]&& 运算符号的左边结果为false时,右边不需要计算,结果为false
                     System.out.println((a>b) && (7/0)>1);
                     // [! 求反]
                     System.out.println(!(a>b));
                     //位运算符  |  &  !  ~  ^  >>  << 
                     System.out.println(7 | -7);//-1
                     System.out.println(7 & -7);//1
                     System.out.println(7 ^ -7);//-2
                     System.out.println(7 >>2);//1
                     System.out.println(7 << 2);//28
                     //(判断)? 数据值1 :数据值2  [2选1]
                     char cha1=(a<b)? 'T':'F';
                     System.out.println("cha1=="+cha1); //T
          }
}

3.java中的语句 

    1.顺序结构 【写好的代码从上往下一行一行的逐个执行】

    2.选择结构【if语句  switch语句】

        例如:if语句

public  class  IfSentence{
	public  static void  main(String  args[]){
		//if(判断条件){java代码} 【只选对的】
		//先执行判断,true时执行{java代码},false时不执行
                                int num1=70;
                                if(num1>=60){
                                      System.out.println("及格");
                                 }
                                //if(判断条件){java代码1}else{Java代码2}
                                //先执行判断,true时{Java代码1},false时执行{Java代码2}
                                int num2=59;
                                if(num2>=60){
                                    System.out.println("及格");
                                }else{
                                     System.out.println("不及格");
                                }
                                //if(判断条件1){Java代码1}else if(判断条件2){Java代码2}......else{Java代码3}
                               //先执行判断1为true时执行{java代码1},判断1为false时判断条件2,判断2位true时执行{Java代码2},所有条件都为false时执行{Java代码3}
                                int num3=70;
                                if(num3>=60 && num3<79){
                                       System.out.println("及格");
                                }else if(num3>=80 && num3<90){
                                        System.out.println("良好");
                                }else if(num3>=90 && num3<=100){
                                        System.out.println("优秀");
                                }else{
                                         System.out.println("不及格/成绩有误");
                                }

                     
	             /*	if(判断1){
			if(判断2){
					java代码1
				}else{
					java代码2
			}
		}else{
			if(判断3){
					java代码3
				}else{
					java代码4
			}
		} */
		//if语句的嵌套                                
                                //判断1位true时执行判断2,判断2为true时执行Java代码1,判断2为false时执行java代码2
                                //判断1为false时执行判断3,判断2为true时执行java代码3,判断3为false时执行Java代码4
                                int num4=90;
                                if(num4>=60){
                                             if(num4>=80){
                                                  System.out.println("优秀");    
                                               }else{
                                                  System.out.println("良好");
                                               }
                                    }else{
                                             if( num4>=0){
                                                  System.out.println("不及格");
                                                 }else{
                                                    System.out.println("成绩有误");
                                                 }
                                           }
	}
}

例如:switch语句

public  class   SwitchSentence{
	public  static  void  main(String  args[]){
		//switch语句
		/*
		switch(表达式){
	   	   	case  常量值1: java代码1;[break;]
	      		case  常量值2: java代码2;[break;]
        		                case  常量值3: java代码3;[break;]
           		                                            ......
         		                case  常量值n: java代码n;[break;]
         	                default:java代码;[break;]
		}
		先执行表达式,表达式的结果与case后面的常量值匹配,
		如果匹配结果相等,执行对应case后面的java代码,
		 如果有break就结束switch语句的执行。
		  如果没有break,那么执行下一个case对应的java代码,直到有break,结束
		表达式的结果与所有case后面的常量值都不匹配,那么执行default后面的代码
		注意1:表达式的类型可以是byte  short  char  int  long String[jdk8.0],枚举
		注意2:有没有break,有break就结束执行,
		 没有break执行下一个case对应的java代码,直到有break*/
		int num1=20;
		int num2=9;
		char ch='+';
		switch(ch){
		        case  '+':System.out.println(num1+"+"+num2+"="+(num1+num2));
		        case  '-':System.out.println(num1+"-"+num2+"="+(num1-num2));break;
		        case  '*':System.out.println(num1+"*"+num2+"="+(num1*num2));
		        case  '/':System.out.println(num1+"/"+num2+"="+(num1/num2));
                                 default:System.out.println("运算有误!");
		}
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值