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.mzph.cn/news/655384.shtml

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

相关文章

C++PythonC# 三语言OpenCV从零开发(7):图像的阈值

文章目录 相关链接前言阈值阈值使用代码PythonCCsharpcsharp代码问题 总结 相关链接 C&Python&Csharp in OpenCV 专栏 【2022B站最好的OpenCV课程推荐】OpenCV从入门到实战 全套课程&#xff08;附带课程课件资料课件笔记&#xff09; OpenCV一个窗口同时显示多张图片 …

C 变量

目录 1. C变量 2. C变量定义 2.1 变量初始化 2.2 C中的变量声明 3. C中的左值&#xff08;Lvalues&#xff09;和右值&#xff08;Rvalues&#xff09; 1. C变量 在C语言中&#xff0c;变量可以根据其类型分为以下几种基本类型&#xff1a; 整型变量&#xff1a;用…

自然语言nlp学习 三

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

将vite项目(vue/react)使用vite-plugin-pwa配置为pwa应用,只需要3分钟即可

将项目配置为pwa模式&#xff0c;就可以在浏览器里面看到安装应用的选项&#xff0c;并且可以将web网页像app一样添加到手机桌面或者pad桌面上&#xff0c;或者是电脑桌面上&#xff0c;这样带来的体验就像真的在一个app上运行一样。为了实现这个目的&#xff0c;我们可以为vue…

算法设计与分析实验:滑动窗口与二分查找

目录 一、寻找两个正序数组的中位数 1.1 具体思路 1.2 流程展示 1.3 代码实现 1.4 代码复杂度分析 1.5 运行结果 二、X的平方根 2.1 具体思路 2.2 流程展示 2.3 代码实现 2.4 代码复杂度分析 2.5 运行结果 三、两数之和 II-输入有序数组 3.1 采用二分查找的思想 …

LeetCode —— 43. 字符串相乘

&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️Take your time ! &#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️&#x1f636;‍&#x1f32b;️…

Bio-Rad(Abd serotec)独特性抗体

当一种抗体与另一种抗体的独特型结合时&#xff0c;它被称为抗独特型抗体。抗体的可变部分包括独特的抗原结合位点&#xff0c;称为独特型。独特型(即独特型)内表位的组合对于每种抗体都是独特的。 如今开发的大多数治疗性单克隆抗体是人的或人源化的&#xff0c;用于诱导抗药…

【国产MCU】-认识CH32V307及开发环境搭建

认识CH32V307及开发环境搭建 文章目录 认识CH32V307及开发环境搭建1、CH32V307介绍2、开发环境搭建3、程序固件下载1、CH32V307介绍 CH32V307是沁恒推出的一款基于32位RISC-V设计的互联型微控制器,配备了硬件堆栈区、快速中断入口,在标准RISC-V基础上大大提高了中断响应速度…

java 社区资源管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web社区资源管系统是一套完善的java web信息管理系统 &#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为Mysql5.…

bxCAN-中断

bxCAN中断 bxCAN 共有四个专用的中断向量。每个中断源均可通过 CAN 中断使能寄存器 (CAN_IER) 来单独地使能或禁止。 发送中断可由以下事件产生&#xff1a; 发送邮箱 0 变为空&#xff0c;CAN_TSR 寄存器的 RQCP0 位置 1。 发送邮箱 1 变为空&#xff0c;CAN_TSR 寄存器…

SkyWalking+es部署与使用

第一步下载skywalking :http://skywalking.apache.org/downloads/ 第二步下载es:https://www.elastic.co/cn/downloads/elasticsearch 注&#xff1a;skywalking 和es要版本对应&#xff0c;可从下面连接查看版本对应关系&#xff0c;8.5.0为skywalking 版本号 Index of /di…

Apache Commons Collection3.2.1反序列化分析(CC1)

Commons Collections简介 Commons Collections是Apache软件基金会的一个开源项目&#xff0c;它提供了一组可复用的数据结构和算法的实现&#xff0c;旨在扩展和增强Java集合框架&#xff0c;以便更好地满足不同类型应用的需求。该项目包含了多种不同类型的集合类、迭代器、队…

大数据学习之Redis、从零基础到入门(三)

目录 三、redis10大数据类型 1.哪十个&#xff1f; 1.1 redis字符串&#xff08;String&#xff09; 1.2 redis列表&#xff08;List&#xff09; 1.3 redis哈希表&#xff08;Hash&#xff09; 1.4 redis集合&#xff08;Set&#xff09; 1.5 redis有序集合&#xff08…

Android SystemUI 介绍

目录 一、什么是SystemUI 二、SystemUI应用源码 三、学习 SystemUI 的核心组件 四、修改状态与导航栏测试 本篇文章&#xff0c;主要科普的是Android SystemUI &#xff0c; 下一篇文章我们将介绍如何把Android SystemUI 应用转成Android Studio 工程项目。 一、什么是Syst…

华为配置小型网络WLAN 的基本业务示例

配置小型网络WLAN基本业务示例 组网图形 图1 配置小型网络WLAN基本业务组网图 小型WLAN网络简介配置注意事项组网需求数据规划配置思路操作步骤配置文件 小型WLAN网络简介 本文介绍的WLAN网络是指利用频率为2.4GHz或5GHz的射频信号作为传输介质的无线局域网&#xff0c;相对于有…

Vue之初识Vue CLI 脚手架

Vue CLI 是Vue 官方提供的一个全局命令工具 可以帮助我们快速创建一个开发Vue项目的标准化基础架子。【集成了webpack配置】 脚手架有什么好处&#xff1f; 1.开箱即用&#xff0c;零配置 2.内置 babel 等工具 3.标准化 使用步骤: 1.全局安装(一次):yarn globaladd vue/cli …

Hack The Box-Pov

信息收集&端口利用 先使用nmap对主机进行端口扫描 nmap 10.10.11.251只开放了80端口 访问网站后发现没有什么功能点,尝试目录扫描 并没有什么能够利用的点 使用gobuster进行子域名扫描 gobuster dns -d pov.htb -w /usr/share/wordlists/seclists/Discovery/DNS/subdo…

MSE Nacos 配置变更审计平台使用指南

作者&#xff1a;孙立&#xff08;涌月&#xff09;、邢学超&#xff08;于怀&#xff09;、李艳林&#xff08;彦林&#xff09; 配置审计平台简介 Nacos [ 1] 作为一款业界主流的微服务注册中心和配置中心&#xff0c;管理着企业核心的配置资产&#xff0c;由于配置变更的安…

聚醚醚酮(Polyether Ether Ketone)PEEK在粘接使用时使用UV胶水的优势有哪些?要注意哪些事项?

使用UV胶水在聚醚醚酮&#xff08;Polyether Ether Ketone&#xff0c;PEEK&#xff09;上进行粘接可能具有一些优势&#xff0c;但同时也需要注意一些事项。以下是使用UV胶水的优势和需要考虑的事项&#xff1a; 优势&#xff1a; 1.快速固化&#xff1a; UV胶水通常具有快速…

spark window源码探索

核心类&#xff1a; 1. WindowExec 物理执行逻辑入口&#xff0c;主要doExecute()和父类WindowExecBase 2. WindowFunctionFrame 窗框执行抽象&#xff0c;其子类对应sql语句的不同窗框 其中又抽象出BoundOrdering类, 用于判断一行是否在界限内(Bound), 分为RowBoundOrdering…