Java入门part3--运算符及输入输出

运算符

基本运算符 + - * / %

  • 除法 /

    • 注意int / int结果还是int,所以如果要得出准确值最好用double
    • 0不能做除数,会引起运行时异常(即编译可以通过,运行时出问题) 会出现如下提示,可以帮助发现当前函数异常种类和异常出现的行数
      在这里插入图片描述
      (除了运行时异常外,还有编译时异常,自定义异常,一般用try catch处理异常,后续会展开讲)
  • 取模 取余 %

    • 取模需要注意的是在C语言当中取余对象只能是整型,而JAVA中可以取小数的余数 11.5%2.0=1.5
      C语言中
      在这里插入图片描述
      Java中可以正常编译
      在这里插入图片描述
  • 增量赋值运算符 += -= *= /= %=

a+=i; //相当于a=a+i;
  • 自增 / 自减运算符++ –
  1. Java中尽量使用后置++
  2. 如果不取自增运算的表达式的返回值, 则前置自增和后置自增没有区别.
  3. 如果取表达式的返回值, 则前置自增的返回值是自增之后的值, 后置自增的返回值是自增之前的值.

关系运算符== != >= <= < >

关系运算符表达式返回值都是boolean类型

		int a=2;
        int b=5;
        System.out.println(a==b); 

在这里插入图片描述

system.out.println(5<a<10); 

在这里插入图片描述
因为5<a先返回true或者false ,true和false是boolean类型无法和10比较

逻辑运算符&& || !

  • 左右两边操作数和返回值类型都是boolean类型
  • 注意短路与和短路或的使用
System.out.println(10 > 20 && 10 / 0 == 0); // 打印 false 
System.out.println(10 < 20 || 10 / 0 == 0); // 打印 true 

在这里插入图片描述
10/0==0本来应提示错误,但是程序可以正常执行说明10/0没有被执行,由此可得
1. 短路与&&若表达式1为false则表达式2不执行
2. 短路或||若表达式1为true则表达式2不执行

  • & 按位与 和 | 按位或
    不建议使用,& 和 | 如果操作数为 boolean 的时候, 也表示逻辑运算. 但是和 && 以及 || 相比, 它们不支持短路求值

位运算符

  • &按位与 |按位或 ^按位异或 ~按位取反
    和C语言中用法一样,位操作符按二进制位进行计算

移位运算

左移<< 右移>> 无符号右移>>>

  • 左移相当于乘法 左移n位 * 2^n
  • 右移相当于除法 看符号位 1补1 0补0 右移n位 /2^n
  • 无符号右移>>> 不用看符号位 不管最高为是1还是0 统统补0
  • 没有无符号左移
  • 由于计算机计算移位效率高于计算乘除, 当某个代码正好乘除 2 的N次方的时候可以用移位运算代替.

条件运算符 三目

表达式1?表达式2:表达式3

  • 当表达式1为true则整个表达式的值为表达式2的值,当为false时整个表达式的值是表达式3的值
  • Java中唯一的三目运算符
  • // 求两个整数的最大值
int a = 10; 
int b = 20; 
int max = a > b ? a : b

输入输出

输出

不建议使用printf

  • System.System.out.println(msg); // 输出一个字符串, 带换行
  • System.out.print(msg); // 输出一个字符串, 不带换行
  • System.out.printf(format, msg); // 格式化输出

输入

char i=(char)System.in.read(); System.in 代表键盘 输入

如果是编译时期的异常 必须处理后才能使用

import java. import相当于C语言中的include 引入一个包

由于System.in.read 的使用太过麻烦 所以引用Scanner
import java.util.Scanner; 引入包 util中放的都是工具类的东西

Scanner scan=new Scanner(System.in);

打开一个资源记得要关闭
ctrl+z对于键盘来说是正常结束
ctrl+c是终止程序 一般程序陷入死循环时使用

产生随机数

猜你喜欢

转载自blog.csdn.net/qq_43360037/article/details/102588568
今日推荐