输入输出和运算符表达式

输入输出

编写控制台的应用程序:

输入input(将数据从外部的设备传递到程序中

键盘输入,鼠标操作,读取文件,读取网络的信息

用户在运行程序时,通过控制台输入一定的数据,由程序进行采集

常用类:Scanner(JDK提供的输入的扫描器))

输出output(将数据从程序传递到外部设备

显示器显示,打印,保存到文件中,传递到网络中

System.out.println();

package com.situ.demo;

import java.util.Scanner;

import javax.sound.midi.Soundbank;

public class Demo01 {
     
	
	public static void main(String[] args) {
     
		//输入
		//输入两个整数,计算他们的和
		//1.创建一个Scanner类的对象,必须引入Scanner这个类,Scanner位于java.util.Scanner类
		Scanner scanner = new Scanner(System.in);
		
		//2.通过Scanner的next方法获取用户在控制台中输入的字符
		/*
		 * 对于字符串的获取,可以使用next();方法,返回值是String类型
		 * 对于8中基本数据类型,都提供了nextXXX();方法
		 * 如:scanner.nextInt();采集一个int类型的值
		 * scanner.nextDouble();采集一个Double类型的值
		 */
		System.out.println("请输入一个整数:");
		int a = scanner.nextInt();
		System.out.println("您输入的数字是:"+a);
		
		System.out.println("请再输入一个整数:");
		int b = scanner.nextInt();
		System.out.println("您又输入的数字是:"+b);
		
		System.out.println("您输入的两个数字的和是:"+(a+b));
		System.out.println("计算公式是:"+a+"+"+b+"="+(a+b));
		
		//输出一个值不换行
		System.out.print("不换行");
		System.out.print("也不换行");
		//不输出任何内容,只进行换行操作
		System.out.println();
		System.out.println();
		System.out.println();
		System.out.print("上面有三个空行");
	}

}

运算符和表达式

表达式:通常是由运算符,变量,常量,方法调用组成,对变量常量进行一定的运算的操作。

算式

  1. 算数运算符

    数学上的算数运算:

    ​ 加法运算

    ​ 正号

    ​ 字符串的拼接

    ​ 减法运算

    ​ 负号

    ​ 乘法运算

    /

    ​ 除法运算

    ​ 除法和数据类型的相关

    四则运算:整数进行运算,结果也是整数,10/3 = 3小数部分全部去除

    如果存在一个是小数,结果就是小数

    %

    ​ 求余运算

    ​ 10/3 = 3…1

    在java中小数也是可以求余的,余数可以是小数

    ++

    ​ 自增,在原来的值+1

    ​ 自减,在原来的值-1

    自增和自减是单目运算符,操作数可以在前面也可以在后面,a++,++a

    前置运算:先对变量进行操作,在把运算后的值作为我们要使用的值。例如:a=1;(1+(++a))=3; 算式运算前,先执行前置运算,a=2,后变成1+2=3;

    后置运算符:先计算表达式的值在进行自增自减操作。例如:a=1;(1+(a++))=2;算式运算后,在执行后置运算符,顺序为:先执行1+1,在执行a++

  2. 比较运算符

    主要针对数值型进行运算,比较两个值的大小关系,运算结果是布尔型,如果不等式成立,结果就是true反正就是false

    “>”

    “>=”

    “<”

    “<=”

    前四个运算符,只能对数值型进行运算,byte,short,int,long.float.double

    “==”

    “!=”

    这两个运算符,除了可以对数值进行运算,话可以对引用类型进行运算,比较两个引用类型的变量,是否指向同一块内存地址(面向对象)

  3. 逻辑运算符

    进行逻辑运算,操作数必须是布尔型,操作结果也是布尔型

    逻辑与:”&& 或&“当两个操作数都是true的时候,运算结果为true,否则,运算结果为false

    逻辑或:”|| 或|“当两个操作数都是false的时候,运算结果为false,否则,运算结果就是true

    逻辑非:”!“单目运算符如果操作数是true,运算结果为false,否则,为true

    短路运算:针对&&,||逻辑运算,如果第一个运算,已经可以决定结果,第二个操作数就不会再执行了

  4. 位运算符

    对数值进行二进制运算,

    按位与 “&”

    按位或 “|”

    按位异或 “^”

    按位取反 “~”

    左移位 “<<” 相当于*2

    右移位 “>>” 相当于/2

    无符号移位 “>>>”

    如何以最快的方式,完成10*8的运算的:10<<3,此时2是2的3次方

  5. 赋值运算符

    ”=“

    为变量/常量进行赋值,右边的值赋给左边

    复合赋值运算符

    常用的二目运算符,与”=“组合,组成了复合赋值运算符

    A+=B 相当于 A=A+B

  6. 三目运算符

    A?B:C

    相当于一个条件判断运算

    先计算表达式A的值,如果A成立,或A的值是true,整个运算符的运算结果取B的结果,如果A的值是false,整个运算符的运算结果取C的结果。

    类似于短路运算,B和C只会执行一个。

    package com.situ.demo;
    
    public class Demo03 {
           
    
    	public static void main(String[] args) {
           
    		
    		//三目运算符,求较大值
    		int m=10;
    		int n = 20;
    		System.out.println(m>n?m:n);
    	}
    }
    
    

    运算符的优先级*

    如果再一个表达式中,包含多种运算符,应该如何运算?

    先算乘除,在做加减,有括号先算括号内的

    java运算符的优先级

输入输出和运算符表达式_第1张图片

你可能感兴趣的:(输入输出和运算符表达式)