Java基础 3. 运算符

Java基础 3. 运算符

目标

  • 掌握数据类型转换
  • 掌握算术运算符、赋值运算符
  • 掌握逻辑运算符
  • 掌握关系运算符、条件运算符

一、数据类型转换

//Demo1.java

public class Demo1 {
    public static void main(String[] args) {
        //按照数值非数值分类
        //数据类型:数值(整型int 浮点型float、double)
        //非数值(字符串String,字符char,布尔boolean(true、false))

        //按照基本引用数据类型
        //引用数据类型String 其他为基本

        int num1 = 10;
        //浮点数默认是double
        double num2 = 1.0;
        float num3 = 5.6f;
        System.out.println(num3);
        //当表达式中有一个是double类型时。整个结果是double
        //强制类型转换 double -> int
        //强制去掉小数部分9.8 -> 8
        //会造成精度丢失
        int num4 = num1 - (int)num2;
        System.out.println(num4);

        //自动类型转换
        //int -> double
        num2 = 100;

    }
}

二、转换规则

自动类型转换规则

规则1. 如果一个操作数为double类型,则整个表达式类型提升为double类型

规则2. 满足自动类型转换的条件

  • 两种类型兼容

    • 数值类型(整型和浮点型)互相兼容
  • 目标类型大于源类型
    • 例如:double类型大于int类型

    强制类型转换

int num4 = num1 - (int)num2; 

三、赋值运算符

public class ChangeNumber {
    public static void main(String[] args) {
        int num1 = 1;
        int num2 = 2;
        System.out.println("before\tchange:"+ "num1 = "+num1+"\t num2 = "+num2);

        int temp = 0;
        temp = num1;
        num1 = num2;
        num2 = temp;

        System.out.println("after\tchange:"+ "num1 = "+num1+"\t num2 = "+num2);
    }

}

四、算术运算符

+ - * /  % ++ --
+=  -=  *=  /=  %=

五、算术运算符综合应用

import java.util.Scanner;

public class num {
    public static void main(String[] args) {
        @SuppressWarnings("resource")
        Scanner inputScanner = new Scanner(System.in);
        System.out.println("Please input a number:");
    int no = inputScanner.nextInt();

    System.out.println("num is : "+no);
    System.out.println(no%10);
    System.out.println(no/10%10);
    System.out.println(no/100%10);

    }

}

六、 关系运算符

== != > < >= <=

七、 逻辑运算符

&& 与
|| 或
! 非
优先级别:!  >  &&   >   ||
public class luoji {
    public static void main(String[] args) {

/*      int x = 8;
        int y = 9;
        System.out.println((++x==y)&&(++x!=y));//true
        System.out.println(x);//10
*/
        int x = 8;
        int y = 9;
        System.out.println((++x!=y)&&(++x==y));//false
        System.out.println(x);//9

    }

}

八、 条件运算符

三目运算符

 ? : 
import java.util.Scanner;

public class Tiaojian {
    public static void main(String[] args) {

        //判断一个数是否为偶数(能被2整除的数)
        Scanner input = new Scanner(System.in);
        System.out.println("请输入一个非零数字");
        int num = input.nextInt();

        String result = (num%2==0)?"偶数":"奇数";
        System.out.println(num + "是" + result);
    }

}

九、 运算符优先级

  • 单目运算符包括! ++ -- 优先级别 高
  • 优先级别最低的是赋值运算符
  • 可以通过()控制表达式的运算顺序,()优先级最高
  • 从右向左结合性的只有赋值运算符、三目运算符和单目运算符
  • 算术运算符>关系运算符>逻辑运算符

原文地址:https://www.cnblogs.com/adeepbluesky/p/12232877.html

时间: 2024-10-08 10:45:27

Java基础 3. 运算符的相关文章

从0开始学大数据-Java基础-三元运算符/键盘录入(4)

我们从零开始学习大数据技术,从java基础,到Linux技术涉猎,再深入到大数据技术的Hadoop.Spark.Storm技术,最后到大数据企业平台的搭建,层层递进,由点到面!希望技术大牛能过来指导学习. 上一节了解Java运算符,其中三元运算符没有做讲解,本节我们开始学习Java基础-三元运算符/键盘录入,将会围绕以下几个知识点进行展开学习: 三元运算符 键盘录入数据 一.运算符 1.三元运算符 接着上一节的话题运算符,本节讲三元运算符,在讲三元运算符之前,可能会有很多朋友会问,是不是有一元运

Java基础-位运算符Bitwise Operators

Java基础-位运算符Bitwise Operators 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 原文地址:https://www.cnblogs.com/yinzhengjie/p/8689059.html

Java基础(运算符)

---恢复内容开始--- Java中的运算符: 算术运算符:+  -  *  /   %    ++     -- %运算符叫取模:它就是取余的例如:43%7=1 其他的都是和数学里的运算符一样(不过在字符串中如果是两个字符串相加那么就是拼接了) ++和--它们的作用是自增,自减 单独使用:a++与++a没什么区别 操作使用:System.out.println(a++)这是先打印后运算System.out.println(++a)这是先运算后打印. 赋值运算符:=,+=,-=,/=,%=(这是

java基础总结-运算符

[变量的赋值与计算都离不开表达式,表达式的运算依赖于变量.常量和运算符.本节课讨论Java的表达式的构成.常量的定义.运算符的分类及应用.通过本课的学习你将掌握运用表达式和运算符完成变量赋值.条件判断.数学运算.逻辑运算等功能操作] 在讲述课程内容之前,先看一个求圆面积的问题.求圆面积的公式为: 其中S为圆面积,π为圆周率,r为半径. 假设用程序来计算圆的面积,S.π.r均为变量,省略的乘号为运算符,r的2次方可以描述为r*r.则上面的公式即为求圆面积的表达式. 结合上面的案例,本节课程分为三个

再回首,Java温故知新(七):Java基础之运算符

常规算数运算符 包括+.-.*./.%分别对应着加.减.乘.除.取余,算数运算符所处理的两个数字必须为同种类型,如果是不同类型且无法进行自动类型转换的话必须进行强制类型转换,不过强制类型转换可能会丢失一些信息,另外还有简写方法+=之类,如下: int i = i + 1; //上下两个算式其实是一样的 //相应的其他运算符也有此种简写,例如*=int i += 1; 自增自减 有编程基础的应该知道,在程序中对变量进行加一减一操作是非常常见的,而自增自减运算符就是简化了此种操作,此部分的难点在于自

JAVA基础知识——运算符

1.整数被0除会产生一个异常,而浮点数被0除将会得到无穷大或NaN的结果 2.例如: double w = x * y /z   JAVA是注重可移植的语言,但是在进行计算的时候,由于64位存储一个double值和80位浮点寄存器存储一个double值是不一样的,很多Intel处理器都是一步一计算的(这样计算的结果更精确),最后结果再截断为64位,这就和64位的机器计算的结果有所不同(直接结算,没有中间过程),一次运算一储存,有可能出现溢出或者计算速度慢的情况,JAVA程序设计语言承认了最优性能

java基础:运算符的基本用法

运算符: 就是对常量和变量进行操作的符号. 算数运算符: A:+,-,*,/,%,++,-- B:+的用法 a:加法 b:正号 c:字符串连接符 C:/和%的区别 数据做除法操作的时候,/取得是商,%取得是余数 D:++和--的用法 a:他们的作用是自增或者自减 b:使用 **单独使用 放在操作数据的前面和后面效果一样. a++或者++a效果一样. **参与操作使用 放在操作数的前面:先自增或者自减,再参与操作 int a = 10; int b = ++a; 放在操作数的后面:先参与操作,再自

java基础2_运算符,选择语句

算数运算符 +    相加  字符串的连接  正数 -    相减  负数 *    相乘 /    相除    10 / 3 ==> 3  两个操作数中精度最高的是int 结果也是int %    取模(求余) ++ 自增 -- 自减 ++ 和 -- 只能够用在变量上面,不能够用在常量 a = i++:先将i的值赋给a,再自增1      a = ++i;先自增1,再将i的值赋值给a 特殊:1/0        报异常(运行报错) 1/0.0      infinity(无限大)在java中0

黑马程序员----java基础之运算符、键盘录入、if switch语句、附相关面试题

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- 1:运算符(掌握) (1)算术运算符 A:+,-,*,/,%,++,-- 注意事项:整数相除只能得到整数,如果想得到小数,必须先把数据变化为浮点数类型.如3/4结果为0,3*0.1/4=0.75 B:+的用法 a:加法 b:正号 c:字符