Java&Day04-运算符

运算符

注释

// 单行注释
/* 多行注释*/
/** 文档注释 */

关键字

系统赋予特定含义,在editplus是蓝色字体,全小写
public class

保留字

goto  const

关键字: 

  整数:byte short int long
  小数:float double
  字符:char
  逻辑:boolean   true  false

String 字符串,不是关键字,不是基本数据类型,是引用数据类型

标识符

public class HelloWorld{//类名

   public static void main(String[] args){
      int a=10;//变量名
    
   }

}

自己取名字的那个单词就是标识符

标识符规则:
    字母数字下划线美元符号组成、
    区分大小写
    不能使用关键字和保留字
    数字不能开头
    中文¥一般可以通过编译,开发禁用!
     
类在开发中规范:单词的首字母大写   HelloWorld

变量命名:第一个单词全小写,第二个单词开始首字符大写  getName

变量的四种写法(重点)

public class Hello{

 public static void main(String[] args){
     //第一种
     int i;
     i=1;
     //第二种
     int j=1;
     //第三种
     int a,b;
     a=1; b=2;
     //第四种
     int m=1,n=2;
 }

}

八种数据类型创建变量,需要注意什么问题(重点)

byte short int long float double char boolean

long m=10L;

float n=5f;

char a=97;//一般不这么写

char b='#';
---------------------------
int 

double 

String


类型转换(重点)

byte short(char) int long float double

自动类型转换
  byte a=10;
  int b=a;
  
  double a1=b;
  

强制类型转换
   int c=100;
   byte d=(byte)c;
  //溢出
  int f=200;
  byte a=(byte)f;
  //精度丢失
double t=10.9;
int t1=(int)t;

其他类型转换
  shortchar
  03万多
  
byte shrot char 只要参与运算,就首先提示为int类型

如果两个数据类型不同进行运算,结果一定是大的类型

一、print和println区别?


第一个区别:
println是先输出内容,然后换行(Enter)

print 不换行一行输出

第二个区别:
println()小括号可以什么都不写

print()小括号必须写内容,不写就报错

二、println()小括号可以写那些内容

package cn.E_106.JavaSe.day04.print02;

public class Demo {
    public static void main(String[] args){
        System.out.println("helloWorld...");//字符串字面值
        int a=10;
        System.out.println(a);//int字面值
        System.out.println("----------能输出的必定是某个数据类型的字面值-------------");
        System.out.println(110);
        System.out.println(3.14);//double字面值
        System.out.println('和');//字符类型char字面值
        System.out.println(true);//boolean类型字面值

       // System.out.println(b);

    }
}

三、算术运算符

+ - * /  %  ++ --
package cn.E_106.JavaSe.day04.arithmetic_operator;
public class Demo01 {
    public static void main(String[] args) {
        //+ 号 三种含义
        //1.运算
        int a=10;
        int b=20;
        int c=a+b;
        System.out.println(c);
      //2.数字的正负
        int d=+5;
        System.out.println(d);
      //3.连接符号
        //连接符号是一个字符串和其他数据相加,数据类型一定是字符串类型
        String name="小金";
        System.out.println("名字:"+name);
        System.out.println("年龄:"+18);
        System.out.println("性别:"+'男');
        // 写出3+5=8;
        int m=3,n=5;
        System.out.println(m+"+"+n+"="+(m+n)+";");

     //- 含义 1.计算,2.正负符号
        System.out.println(3-200);
        System.out.println(-125);

        //*乘号
        System.out.println(4*6);

        // 除号 /
        System.out.println(10/2);
        System.out.println(0/5);
        //System.out.println(7/0);
        //除不尽只会保留整数部分!
        System.out.println(7/3);

        //==============计算机无法精确计算所有的小数=====================
        System.out.println(2.0-1.1);
        // % 取模 求余数
        System.out.println(7%5);//7除以5的余数是?
        System.out.println(1%5);//1
        System.out.println(3%5);//3
        System.out.println(0%5);//0
        System.out.println(2%2);//0

    }
}

  • ++ –
package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo02 {
    public static void main(String[] args){
        //++
        //++表示自增1
        int a=10;
        a++;
        System.out.println(a);
        int b=10;
        ++b;
        System.out.println(b);


    }

}

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo03 {
    public static void main(String[] args){
        // 规律:如果++在变量之前,先自增1,然后再做其它操作(赋值)
        //        如果++在变量之后,先做其它操作(赋值),然后再自增1
        int a=5;
        int b=++a;//先计算++a 然后再赋值给b
        System.out.println("a:"+a);
        System.out.println("b:"+b);
        System.out.println("-------------------");
        int c=5;
        int d=c++;//先把c赋值给d,然后c自增1
        System.out.println("c:"+c);
        System.out.println("d:"+d);

    }
}

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo04 {
    public static void main(String[] args){
        int a=5;
        System.out.println((a++));//++在变量之后,先输出a再自增1
        System.out.println(++a);


    }
}

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo05 {
    public static void main(String[] args) {
        int a=5;
          a=a++;
        System.out.println(a);
    }
}

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo06 {
    public static void main(String[] args) {
        //-- 以此类推
        int a=5;
        System.out.println(a--);//5
        System.out.println(++a);//5
        
        
    }
}

补充

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo07 {
    public static void main(String[] args) {
        int i=3;
        int j=2;
        //int x=i+++j---i+--j-++i+j-i;
        // 测试!!!
        //不知道i++  +j  还是 i+ ++j的问题?
        //做实验,测试!
        int x=i+++j;
        //假设,i++  +j 它的结果应该是什么呢?
        // i+j之后,i再自增1
        //x=5   i=4    j=2
        //----------------------------------------
        //假设,i+   ++j
        //j=3   3+3=6   x=6  i=3
        System.out.println("i:"+i);
        System.out.println("j:"+j);
        System.out.println("x:"+x);


    }
}

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo08 {

    public static void main(String[] args) {
        int i=3;
        int j=2;
        int x=i+++j---i+--j-++i+j-i;
        /*
           (i++)+(j--)
        * i+j  i自增1  j自减1
        *  5   i=4  j=1
        *  -i
        *  1   i=4  j=1
        *  +(--j)
        *  j先自减1  然后 结果再加 j
        *  1  i=4 j=0
        *   -(++i)
        *  i先自增1 然后 结果减去i
        * -4  i=5  j=0
        *  +j-i
        *
        *  -4 +0 -5
        *
        *  -9  i=5  j=0
        *
        * */
        System.out.println("x:"+x);
        System.out.println("i:"+i);
        System.out.println("j:"+j);

    }
}

四、赋值运算符

= += -= /= *= %=
package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo01 {
    public static void main(String[] args) {
        // =
        int a=10;
        //a看成a代表的数据10
             a=a;
        System.out.println(a);
        //+=
        int b=5;
        b+=2;//b=b+2;
        System.out.println(b);

        byte m=3;
        m+=2;//m=m+2;
        //m=(byte)(m+2);
        System.out.println(m);
        m=+3;
        System.out.println(m);
       //以此类推
        int i=2;
        System.out.println(i-=1);
        System.out.println(i*=3);//i=i*3
        System.out.println(i/=2);//i=i/2
        System.out.println(i%=5);//i=i%5;


    }
}

五、比较运算符

>  <  >= <=  == !=
5>3-->成立 true
5>20-->不成立 false
比较运算符的结果一定是boolean类型的字面值
package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo01 {
    public static void main(String[] args) {
        //>  <  >= <=  == !=
        System.out.println(5>3);//true
        System.out.println(5<3);//false
        System.out.println(5>=5);//true
        System.out.println(6<=6);//true
        // == 是比较  = 是赋值
        System.out.println(7==8);//false
        System.out.println(9==9);//true
        System.out.println(5!=5);//false
  //不同类型的比较  byte short(char) int long float double 
        int a=20;
        double b=20.0;
        System.out.println(a==b);
        byte c=100;
        System.out.println(a>c);
    }
}

六、逻辑运算符

| 或者  & 并且 ^异或 !非  ||短路或  &&短路与

比较的结果都是boolean类型的字面值

  int a=10;
 
  20>a>5
  在java中没有,需要使用上面的连接,主要目的进行多个条件判断
  
  

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo01 {
    public static void main(String[] args) {
// | 或者  & 并且 ^异或 !非  ||短路或  &&短路与
//        int a=10;
//        System.out.println(20>a & a>5);

        //   | 或者   左边一个条件,右边一条,只要有一个条件成立,结果就是true
        //            两个条件都不成立,结果是false
        System.out.println(false | true);//true
        System.out.println(3>1 | 5<2);//true
        System.out.println(1>5 | 2>7 | 3>1);

        // & 并且,与  左边一个条件,右边一个条件,只要有一个不成立,结果就false
        //             两个条件都成立,结果是true
        System.out.println(true & true);//true
        System.out.println(1>1 & 2>0);//false
        System.out.println(1>5 & 2>7 & 3>1);//false

        // ^ 异或  左边一个条件,右边一个条件,两个条件的结果不同,最终结果true
        //  两个条件结果相同,最终结果一定是false
        System.out.println(true ^ true);//false
        System.out.println(false ^ false);//false
        System.out.println(true ^ false);//true
        System.out.println(1>1 ^ 2>0);//true
        System.out.println(1>5 ^ 2>7 ^ 3>10);//false

        // !  非  不去连接多个条件,把一个条件的结果反向
        System.out.println(!true);//false
        System.out.println(!!!!!!!true);//false
        System.out.println(!(1>5));//false



    }
}

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo02 {
    public static void main(String[] args) {
        //  || 短路或
        //  短路或和或  比较的结果是一样的,只是执行过程不同
        // || 第一个条件已经能判断最终的结果,后面条件都不会再执行
        // |  第一个条件即使能判断出最终结果,后面条件也需要一个一个判断

        // | 或
        int a=5;
        System.out.println(a>2 | (a=a+2)>5 );
        System.out.println(a);//7
        // || 短路或
        int a1=5;
        System.out.println(a1>2 || (a1=a1+2)>5 );
        System.out.println(a1);//5

        // & 并且,与
        int m=5;
        System.out.println(m>100 & (m=m*2)>3);
        System.out.println(m);
        // && 短路与
        int n=5;
        System.out.println(n>100 && (n=n*2)>3);
        System.out.println(n);




    }
}

练习


package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Test {
    public static void main(String[] args) {
        int a=5;
        int b=10;
        System.out.println(b>a && a++>5);//false---- a=6
        a=5;
        System.out.println(b>a && ++a>5);//true ----a=6
        System.out.println(a);
    }
}

七、三目运算符

三目更像一个表达式

语法: 数据类型  变量名 = 条件表达式 ? 字面值1 :字面值2;
        int      a   =   3>2 ?  1 : 2;
        
含义:如果条件表达式结果是true 那么 a的值是1
     如果条件表达式结果是false 那么 a的值是2
注意: 语法需要记忆,字面值必须跟数据类型匹配       

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo01 {
    public static void main(String[] args) {
        //数据类型   变量名 =  条件表达式?字面值1:字面值2;
        //如果考试成绩及格,吃腰子,如果不及格,去洗脚!
        double score=69.9;//score变量表示考试分数!
        String rs = score>=60 ? "吃腰子" : "去洗脚!";
        System.out.println(rs);
       // System.out.println(score>=60 ? "吃腰子" : "去洗脚!");
    }
}

练习题

求两个变量的最大值?

package cn.E_106.JavaSe.day04.arithmetic_operator;

public class Demo02 {
    public static void main(String[] args) {
        //求两个数的最大值?
        int a=10,b=20;
        int max=a>b ? a:b;
        System.out.println(max);
        //求三个数的最大值?
        int x=10,y=20,z=30;
        int max2=x>y ? x:y;
       int  max3=max2>z ? max2:z;
        System.out.println(max3);
    }
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值