JavaSE——运算符、运算符优先级、API、Scanner

简介: JavaSE——运算符、运算符优先级、API、Scanner

JavaSE——运算符、运算符优先级、API、Scanner

符号 作用
+
-
*
/
% 取余

基本与C语言的基本算术运算符一致

注意:两个整数相除结果还是整数

public static void main(String[] args)
    {
        int a = 10;
        int b = 2;
        System.out.println(a + b);  // 12
        System.out.println(a - b);  // 8
        System.out.println(a * b);  // 20
        System.out.println(a / b);  // 5
 
        //两个整型做除法,其结果也还是整型,因为最高类型为整型
        int i = 5;
        int j = 2;
        System.out.println(i / j);        //2
        //如果要得到浮点数,可以多乘一个1.0
        System.out.println(1.0 * i / j);  // 2.5
 
    }

运行结果:

其中,“+”符号可以做连接符

  • +”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
public static void main(String[] args)
{    
    int a = 10;
    System.out.println("abc" + a);    //abc10
    System.out.println("sweatshirt" + a + "nice");   // sweatshirt10nice
    System.out.println('a' + a + "open");    // 107open
 
}

运行结果:


1.算术运算符有哪些?

  • +、-、*、/、%

2.“/”需要注意什么,为什么?

  • 如果两个整数做除法,其结果一定是整数,因为最高类型是整数。

3.“+”除了做基本数学运算,还有哪些功能?

  • 与字符串做+运算时会被当成连接符,其结果还是字符串。

自增自减运算符

符号 作用
自增:++ 放在某个变量前面或者后面对变量自身的值加1
自减:-- 放在某个变量前面或者后面,对变量自身的值减1

注意:++、-- 只能操作变量,不能操作字面量的


其与C语言的自增自减运算符完全一致,++、-- 如果不是单独使用(如在表达式中、或者同时有其它操作),放在变量前后会存在明显区别。


  • 放在变量的前面,先对变量进行+1、-1,再拿变量的值进行运算。
  • 放在变量的后面,先拿变量的值进行运算,再对变量的值进行+1、-1
public static void main(String[] args)
{
 
    int r = 5;
    int rs1 = r++;
    int rs2 = ++r;
    System.out.println(rs1);    //5
    System.out.println(rs2);    //7
 
}

运行结果:

赋值运算符

基本赋值运算符

“=”,从右边往左看。

int a = 10

先看  "="  右边,把数据10赋值给左边的变量a存储

扩展赋值运算符

图片.png

注意:扩展的赋值运算隐含了强制类型转换。

关系运算符

图片.png

  • 判断数据是否满足条件,最终会返回一个判断的结果,这个结果是布尔类型的值:true或者false。

注意:判断是否相等一定是 "==",千万不要把 "==" 误写成 "=".

逻辑运算符

  • 把多个条件放在一起运算,最终返回布尔类型的值:true、false。

图片.png

注意:在java中,“&”、“|”:无论左边是false还是true,右边都要执行。


由于&&、|| 运算效率更高、在开发中用的更多


三目运算符

  • 格式:条件表达式 ? 值1 : 值2 ;
  • 执行流程:首先计算关系表达式的值,如果值为true,返回值1,如果为false,返回值2。

运算符优先级

  • 在表达式中,哪个运算符先执行后执行是要看优先级的。

括号级别最高,逗号级别最低,单目 > 算术 > 位移 > 关系 > 逻辑 > 三目 > 赋值。

API

如果有一个需求:

要在程序中,提示用户通过键盘输入自己的姓名、年龄,并能在程序中收到这些数据,怎么解决?

我们并不需要自己研发技术来实现,Java已经写好了实现程序,我们直接调用进行编写和使用即可。

JDK中包含着:


API(Application Programming Interface:应用程序编程接口)

  • Java写好的程序,程序员可以直接拿来调用。

Scanner

使用Scanner就可以实现我们刚才的需求,Scanner接收用户键盘输入的数据,需要三个步骤:

①:导包:告诉程序去JDK的哪个包中找扫描器技术(在IDEA中一般会自动导包)

②:代码部分:表示得到键盘扫描器对象(东西)。

③:代码部分:等待接收用户输入数据。

注意:

  • String、String在JDK中的Java.lang包下
  • Lang包不需要我们导包,是默认的包。
import java.util.Scanner;
 
public class Test
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
 
        System.out.println("请输入您的年龄:");
        int age = sc.nextInt();  //等待键盘输入
        System.out.println("年龄是: "+ age);  //输出
 
        System.out.println("请输入您的名称:");
        String name = sc.next(); //等待键盘输入
        System.out.println("欢迎: "+ name);
    }
}

年龄输入:20      

名称输入:张三

运行结果:

该部分代码后面会再学习到,现在大体做一个了解

1.API是什么?API文档是什么?

  • Application Programming Interface,应用程序编程接口:Java写好的程序,程序员可以直接调用。
  • Java提供的程序使用说明书。

2.Java程序中如何实现接收用户键盘输入的数据?

使用Java提供的Scanner来完成,步骤如下:

1、导包:import java.util.Scanner;

2、编写代码得到扫描器对象:Scanner sc=new Scanner(System.in)

3、编写代码等待接收用户输入的数据:int age= sc.nextInt()     String name = sc.next()



END



目录
相关文章
|
5月前
|
Java API
JavaSE——常用API进阶二(6/8)-ZoneId、ZoneDateTime、Instant(常见方法、用法示例)
JavaSE——常用API进阶二(6/8)-ZoneId、ZoneDateTime、Instant(常见方法、用法示例)
46 1
|
5月前
|
存储 缓存 Java
JavaSE 字符串String及相关API StringBuilder StringJoiner 底层原理 详解
JavaSE 字符串String及相关API StringBuilder StringJoiner 底层原理 详解
45 2
|
5月前
|
存储 Java API
JavaSE——常用API进阶二(8/8)-Arrays、Comparable、Comparator(Arrays类提供的的常见方法、用法示例)
JavaSE——常用API进阶二(8/8)-Arrays、Comparable、Comparator(Arrays类提供的的常见方法、用法示例)
35 2
|
5月前
|
安全 Java API
JavaSE——常用API进阶二(7/8)-DateTimeFormatter、Period、Duration(常见方法、用法示例)
JavaSE——常用API进阶二(7/8)-DateTimeFormatter、Period、Duration(常见方法、用法示例)
48 2
|
5月前
|
安全 Java API
JavaSE——常用API进阶二(5/8)-JDK 8新增的时间API,LocalDate、LocalTime、LocalDateTime
JavaSE——常用API进阶二(5/8)-JDK 8新增的时间API,LocalDate、LocalTime、LocalDateTime
46 2
|
5月前
|
存储 Java API
JavaSE——常用API进阶二(4/8)-秒杀案例(需求与分析、代码与运行结果)、Calendar(Calendar日历类的常见方法、用法示例)
JavaSE——常用API进阶二(4/8)-秒杀案例(需求与分析、代码与运行结果)、Calendar(Calendar日历类的常见方法、用法示例)
43 1
|
5月前
|
Java API
JavaSE——常用API进阶二(3/8)-Date、SimpleDateFormat(构造器、常用的方法、用法示例、时间格式的常见符号)
JavaSE——常用API进阶二(3/8)-Date、SimpleDateFormat(构造器、常用的方法、用法示例、时间格式的常见符号)
25 1
|
5月前
|
存储 Java API
JavaSE——常用API进阶二(2/8)-BigDecimal(BigDecimal的常见构造器、常用方法,用法示例,使用规范)
JavaSE——常用API进阶二(2/8)-BigDecimal(BigDecimal的常见构造器、常用方法,用法示例,使用规范)
43 1
|
5月前
|
Java Unix 程序员
JavaSE——常用API进阶二(1/8)-Math、System、Runtime(它们提供的常见方法以及具体使用)
JavaSE——常用API进阶二(1/8)-Math、System、Runtime(它们提供的常见方法以及具体使用)
27 1
|
5月前
|
安全 Java API
JavaSE——常用API进阶一(3/3)-StringBuilder(构造器、拼接内容、反转操作、其他操作),StringBuffer,StringJoiner
JavaSE——常用API进阶一(3/3)-StringBuilder(构造器、拼接内容、反转操作、其他操作),StringBuffer,StringJoiner
42 1