JAVA学习第三天

JAVA学习第三天

本文内容为本人学习内容,仅供参考,如内容有误,请斧正,谢谢!

表达式自动提升类型

在程序中出现直接写出来的数字,如果是整数、默认为int类型,如果是小数、默认为double类型。

一个表达式包含多种数据类型时,结果的数据类型会自动提升。规则如下。

  • byte、short、

字面量(直接量)

在代码中直接出现的数字或者字符串,叫作字面量。

 int m = 20;//20是字面量
 float f5 = 3.14f//3.14是字面量
 String str = "字符串"//字符串 是字面量

自动装箱和自动拆箱

每种基本类型,都对应一种包装类型(类),基本类型与包装类型之间,可以自动转换。

从基本类型转为包装类型、称为自动装箱。

从包装类型转为基本类型称为自动拆箱。

基本类型包装器类型
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
charCharacter
booleanBoolean
        int i =10;
        Integer integer = i;//基本类型直接复赋值给包装类型,就是自动装箱
        int i1 = integer;// 包装类型直接赋值给基本类型,就是自动拆箱

        //包装类型的常用方法
        String str = "314";
        Integer value = Integer.valueOf(str);//把字符串转为整型
        System.out.println(value+1);
        int i2 = Integer.parseInt(str);
        System.out.println(i2+2);//把字符串转为int类型

java里面的数据类型

在这里插入图片描述

运算符

运算符是一种特殊的符号,用于数据计算,赋值和比较,运算符将多个操作数连接在一起,就成为了表达式。

java运算符包含:

  • 算术运算符
  • 赋值运算符
  • 比较运算符
  • 逻辑运算符
  • 位运算符
  • 三目运算符
算术运算符

java里面的算术运算符包含: “ + ”、“ - ”、“ / ”、“ * ”、“ % ”

  • “ + ” 运算符除了数学的相加外,还能作用于字符串的拼接。
int sum1 = 50+48;
        String str1 = "sum1的值是"+sum1;//+用于字符串,自动把后面的intint类型的数字转为字符串。
        System.out.println(str1);

        String str2 = "事实是" + true;//字符串可以和任意类型拼接
        System.out.println(str2);
  • “ - ” 减法运算
  • “ * ” 乘法运算
  • “ / ” 除法运算
 //除法
        int res1 = 8/4;
        System.out.println(res1);
        res1 = 8/3;
        System.out.println(res1);
        //两个整数相除,得到的结果是整数,舍弃小数部分。
        /*
        res1 = 8/0;
        System.out.println(res1);
        //整数的除法里面不能用0作为除数,程序将会抛出异常。结束程序
        */
        
        double res2 = 8/2.5;
        System.out.println(res2);
        //只要有一个操作数为小数,那结果就是一个小数。
        res2 = 5.0 / 0 ;
        System.out.println(res2);
        //小数作为除浮点数可以除以0,但得到的结果是Infiniti(无限大)
  • “ % ” 模运算(取余)

    得到除法的余数

    整数取模,除数不能为0

    小数取模,除数可以为0,得到的结果是NaN(Not a Number)

     //模运算
            res1 = 5 % 3;
            System.out.println(res1);
            /*
            res1 = 5 % 0;
            System.out.println(res1);
            //模运算也不能用0作为除数,会抛出异常
            */
            res2 = 5.0 % 3;
            System.out.println(res2);
            //得到的结果也是一个浮点数。一般不会用浮点数取余。
    
  • “ ++ ” 单目运算(自加1),可以放在操作数的左边或者右边。

     //++运算
            int i = 1;
            int j = 1;
            int res4 = 5 + i++;//变量i先参与运算,再自加1。
            System.out.println(res4);
            int res3 = 5 + ++j;//变量i先自加1,在参与运算。
            System.out.println(res3);
    
  • " – " 弹幕运算符,自减1,可以放在操作数的左边或右边(与++相同)。

赋值运算符
  • “ = ” 赋值运算 ,把=左边的数值,赋值给右边的变量。
  //赋值运算
        int m = 5;//将5赋值给m
        m = 3+3;
        m = i - j;
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输出一个数");
        int n = scanner.nextInt();//将输入的值,赋值给n。
        System.out.println(n+5);
  • 扩展(组合)的赋值运算符。

    		n += 2;//n = n + 2;
            m -= 2;//m = m - 2;
            m *= 2;//m = m * 2;
            m /= 2;//m = m / 2;
            m %= 2;//m = m % 2;
    
比较运算符

用于判断两个操作数的大小,是否相等。包含:

“ > ” 大于

" < " 小于

" == " 等于

" <= " 小于等于

" >= " 大于等于

" ! =" 不等于

        System.out.println(3>2);//true
        System.out.println(3<2);//false
        System.out.println(3 == 3);//true
        System.out.println(3 != 3);//false
逻辑运算符
  • “ & ” 与

  • " && " 短路与

  • “ | ” 或

  • “ || ” 短路或

  • “ ! ” 非

  • " ^ " 异或

//逻辑运算符
        System.out.println(true & true);
        System.out.println(true & false);
        System.out.println(true && true);
        System.out.println(true && false);
        //两个操作数都为true,结果才为true,否则为false
        int q = 1;
        System.out.println(true && (2 == ++q));
        System.out.println(q);
        System.out.println(false && (2 == ++q));
        System.out.println(q);
		//第一个操作数是false,所以后面的表达式不会被执行。

        System.out.println(true | true);
        System.out.println(true | false);
        System.out.println(false | false);
        System.out.println(true || true);
        System.out.println(true || false);
        System.out.println(false || false);
		//" | " " || " 只要有一个为true,就返回true

        System.out.println(!true);//false
        System.out.println(true ^ false);//true
        System.out.println(true ^ true);//false
        System.out.println(false ^ false);//false
        //相同返回true,不同返回false
位运算符
  • “&” 按位与
  • "|"按位或
  • "~"按位非
  • "^"按位异或
  • "<<"向左移位
  • " >> "向右移位
  • " >>> "无符号游戏
//位运算符
        int a = 5;//101
        int b = 7;//111
        System.out.println(a & b);
        //          101(5)
        System.out.println(a | b);
        //          111(7)
        System.out.println(~a);//符号位变为1,结果为负
        System.out.println(a ^ b);
        //          010(2)

        a = 2;
        System.out.println(a << 3);//16,二进制的10,左移三位得到10000(16)
        System.out.println(5 >> 2);//101=>1
		 System.out.println(-5 >>> 2);
三目运算符

用于两分支的判断,等效于if else语句

语法结构:条件表达式 ? 为真的值 : 为假的值

     int i = 5;
        int j = 6;
        int rest = i<j ? i : j;
        //  用一个变量接返回的值 = 条件表达式 ? 为真时返回 : 为假时返回
        System.out.println(rest);

练习

从控制台输入两个数,打印较大的数

        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入一个数");
        int m = scanner.nextInt();
        System.out.println("请在输入一个数");
        int n = scanner.nextInt();
        int big = m<n ? n : m;
        System.out.println(m+"与"+n+"相比,"+big+"更大");
运算符的优先级

括号>单目运算符>算术运算>比较运算符>逻辑运算符>三目运算符>赋值运算符

在这里插入图片描述

条件语句

单分支条件判断

if(条件表达式){

​ //条件为真时执行的语句

}

int i =10;
if (i == 10){
    System.out.println(i);
}
双分支判断

if(条件表达式){

​ //条件为真时执行的语句

}else{

​ //条件为假时执行的语句

}

多分支判断

if(条件表达式){

​ //条件为真时执行的语句

}else if(条件表达式){

​ //条件为假时执行的语句

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值