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

目录

基本的算术运算符

自增自减运算符

赋值运算符

关系运算符

逻辑运算符

三目运算符

运算符优先级

 API

Scanner


基本的算术运算符

符号作用
+
-
*
/
%取余

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

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

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

 运行结果:

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

  • +”符号与字符串运算的时候是用作连接符的,其结果依然是一个字符串。
public static void main(String[] args)
{    int a = 10;System.out.println("abc" + a);    //abc10System.out.println("sweatshirt" + a + "nice");   // sweatshirt10niceSystem.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);    //5System.out.println(rs2);    //7}

运行结果:

赋值运算符

基本赋值运算符

“=”,从右边往左看。

int = 10

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

扩展赋值运算符

符号用法作用底层代码形式
+=a += b加后赋值a = (a的类型)(a + b);
-=a -= b减后赋值a = (a的类型)(a - b);
*=a *= b乘后赋值a = (a的类型)(a * b);
/=a /= b除后赋值a = (a的类型)(a / b)
%=a %= b取余后赋值a = (a的类型)(a % b)

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

关系运算符

符号例子作用结果
>a > b判断a是否大于b成立返回true、不成立返回false
>=a >= b判断a是否大于或者等于b成立返回true、不成立返回false
<a < b判断a是否小于b成立返回true、不成立返回false
<= a <= b判断a是否小于或者等于b成立返回true、不成立返回false
==a == b判断a是否等于b成立返回true、不成立返回false
!=a != b判断a是否不等于b成立返回true、不成立返回false
  • 判断数据是否满足条件,最终会返回一个判断的结果,这个结果是布尔类型的值:true或者false。

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

逻辑运算符

  • 把多个条件放在一起运算,最终返回布尔类型的值:true、false。
符号叫法例子运算逻辑
&逻辑与2>1&3>2多个条件必须都是true,结果才是true;有一个是false,结果就是false
|逻辑或2>1|3<5多个条件中只要有一个是true,结果就是true;
!逻辑非!(2>1)取反:你真我假,你假我真。!true==false、!false==true
^逻辑异或2 > 1 ^ 3 >1前后条件的结果相同,就直接返回false,前后条件的结果不同,才返回true
&&短路与2 > 10 && 3 >2判断结果与“&”一样,过程不同:若左边为false,右边则不执行。
||短路或2 >11 || 3<5判断结果与“|”一样,过程不同:若左边为true,右边则不执行。

 注意:在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 


学习自:黑马程序员——JavaSE入门课程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/439309.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

标准库中的string类(下)——“C++”

各位CSDN的uu们你们好呀&#xff0c;这段时间小雅兰的内容仍然是Cstring类的使用的内容&#xff0c;下面&#xff0c;让我们进入string类的世界吧&#xff01;&#xff01;&#xff01; string类的常用接口说明 string - C Reference string类的常用接口说明 string类对象的修…

一个基于 .NET 7 + Vue.js 的前后端分离的通用后台管理系统框架 - DncZeus

前言 今天给大家推荐一个基于.NET 7 Vue.js(iview-admin) 的前后端分离的通用后台权限(页面访问、操作按钮控制)管理系统框架&#xff1a;DncZeus。 官方项目简介 DncZeus是一个基于 .NET 7 Vue.js 的前后端分离的通用后台管理系统框架。后端使用.NET 7 Entity Framework…

Camunda组件与服务与基本操作

文章目录 下载与安装Camunda ModelerDownload Camunda 7 Run与Spring Boot集成普通Java项目中集成Camunda手动部署流程查询流程启动流程实例完成任务删除流程定义查找历史节点信息 下载与安装 Camunda下载 Camunda7下载 有2个组件需要下载&#xff1a; Open Source Desktop …

代码随想录算法刷题训练营day19

代码随想录算法刷题训练营day19&#xff1a;LeetCode(404)左叶子之和、LeetCode(112)路径总和、LeetCode(113)路径总和 II、LeetCode(105)从前序与中序遍历序列构造二叉树、LeetCode(106)从中序与后序遍历序列构造二叉树 LeetCode(404)左叶子之和 题目 代码 /*** Definitio…

JMeter GUI:测试计划和工作台

什么是测试计划&#xff1f; 测试计划是您添加 JMeter 测试所需元素的地方。 它存储运行所需测试所需的所有元素&#xff08;如线程组、计时器等&#xff09;及其相应的设置。 下图显示了测试计划的示例 测试计划是您添加 JMeter 测试所需元素的地方。 它存储运行所需测试…

自然语言nlp学习 三

4-8 Prompt-Learning--应用_哔哩哔哩_bilibili Prompt Learning&#xff08;提示学习&#xff09;是近年来在自然语言处理领域中&#xff0c;特别是在预训练-微调范式下的一个热门研究方向。它主要与大规模预训练模型如GPT系列、BERT等的应用密切相关。 在传统的微调过程中&a…

fgets函数和fputs函数的使用

----由于本人使用的是大白话来讲解fgets和fputs函数的使用&#xff0c;所以可能有些部分可能会有些不准确&#xff08;见谅&#xff09;&#xff0c;如果想十分严谨的了解fgets和fputs函数&#xff0c;可以移步其他文章。 -----那么不废话&#xff0c;直接开始 1.fgets函数 &a…

05. 交换机的基本配置

文章目录 一. 初识交换机1.1. 交换机的概述1.2. Ethernet_ll格式1.3. MAC分类1.4. 冲突域1.5. 广播域1.6. 交换机的原理1.7. 交换机的3种转发行为 二. 初识ARP2.1. ARP概述2.2. ARP报文格式2.3. ARP的分类2.4. 免费ARP的作用 三. 实验专题3.1. 实验1&#xff1a;交换机的基本原…

海外云手机为什么吸引用户?

近年来&#xff0c;随着全球化的飞速发展&#xff0c;海外云手机逐渐成为各行各业关注的焦点。那么&#xff0c;究竟是什么让海外云手机如此吸引用户呢&#xff1f;本文将深入探讨海外云手机的三大吸引力&#xff0c;揭示海外云手机的优势所在。 1. 高效的社交媒体运营 海外云…

IDEA安装MyBatisX插件

IDEA工具在开发人员中经常使用&#xff0c;从dao层到xml文件对应的查看很费劲&#xff0c;这时候就有相应的插件工具出现了MyBatisX。他的好处如下&#xff1a; mapper and xml can jump back and forth mybatis.xml,mapper.xml prompt mapper and xml support auto prompt lik…

MATLAB知识点:创建MATLAB的脚本

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 节选自第2章 在实际应用中&#xff0c;直接在命令行窗口中输…

PaddleNLP的简单使用

1 介绍 PaddleNLP是一个基于PaddlePaddle深度学习平台的自然语言处理&#xff08;NLP&#xff09;工具库。 它提供了一系列用于文本处理、文本分类、情感分析、文本生成等任务的预训练模型、模型组件和工具函数。 PaddleNLP有统一的应用范式&#xff1a;通过 paddlenlp.Task…