【JAVA |基础】运算符、程序逻辑控制以及方法的使用

目录

一、前言

二、操作符

1.算术运算符

2.赋值运算符

3.比较运算符

4.逻辑运算符

5.条件(三目、三元)运算符

6.位运算符(都是基于二进制来计算)

三、 程序逻辑控制

1.顺序结构

2.分支结构

if语句

Switch语句

3.循环结构

 while语句

for循环

do while 

四、输出与输入

 1.输出到控制台

2.键盘输入 

五、方法

方法的创建

方法重载

 方法签名


一、前言

java相比于C语言来说,他两同为热门的编程语言,两者都存在着相同的地方,语法以及细微的方面会有差异,但掌握了一门语言以后再去学习另一门语言则会很容易


二、操作符

Java运算符分为六大:算术运算符、赋值运算符、比较运算符、逻辑运算符、条件(三目)运算符、位运算符,这些都很简单,与C语言大差不差,我们大概过一下


1.算术运算符

+(加),-(减),*(乘),/(除),%(求余),++(自增),--(自减),是二元运算符,使用时必须要有左右两个操作数

前置自增(自减)跟后置自增(自减),在使用时会有差异,前者先自增(自减)再赋值,后者先赋值再自增(自减)


2.赋值运算符

=(等于),+=(自加一次等于),-=(自减一次等于),*=(自乘一次等于),/=(自除一次等于),+(字符串连接符)


3.比较运算符

>(大于),<(小于),>=(大于等于),<=(小于等于),==(比较等于),!=(不等于),返回结果只有:true或者false


4.逻辑运算符

&(按位与),&&(短路与),|(按位或),||(短路或),!(非,即取反),运算结果都是 boolean类型。

&& 两个表达式都为真,结果才是真,只要有一个是假,结果就是假
| |  左右表达式至少有一个位真,则结果为真

! 真的变假的,假的变真的 

 


5.条件(三目、三元)运算符

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

表达式 1 的值为 true , 整个表达式的值为 表达式 2 的值 ;
表达式 1 的值为 false , 整个表达式的值为 表达式 3 的值 .


6.位运算符(都是基于二进制来计算)

&(按位与),|(按位或),^(异或运算),<<(左移运算符),>>(右移运算符),>>>(无符号运算符),~(非、取反运算符)

  • 按位与 &: 如果两个二进制位都是 1, 则结果为 1, 否则结果为 0.
  • 按位或 |: 如果两个二进制位都是 0, 则结果为 0, 否则结果为 1.
  • 按位取反 ~: 如果该位为 0 则转为 1, 如果该位为 1 则转为 0
  • 按位异或 ^: 如果两个数字的二进制位相同, 则结果为 0, 相异则结果为 1.
  • 左移 <<: 最左侧位不要了, 最右侧补 0
  • 右移 >>: 最右侧位不要了, 最左侧补符号位(正数补0, 负数补1
  • 无符号右移 >>>: 最右侧位不要了, 最左侧补 0

三、 程序逻辑控制

跟c语言一样,JAVA中同样分为三大结构,顺序 分支 循环

1.顺序结构

顺序结构 比较简单,按照代码书写的顺序一行一行执行

2.分支结构

if语句

这三种都是正确的按照自己需求去使用,先判断括号中的布尔表达式结果为true,执行if中的语句,否则不执行。

if ( 布尔表达式 ){
// 语句
}
if ( 布尔表达式 ){
// 语句 1
} else {
// 语句 2
}
if ( 布尔表达式 1 ){
// 语句 1
} else if ( 布尔表达式 2 ){
// 语句 2
} else {
// 语句 3
}
else 是和最接近的 if 匹配 . 但是有一个好的编程风格我们在每句语句后面最好加上大括号 .

Switch语句

先计算表达式的值,根据对应的case值进入不同的语句,直到遇到break时结束,(可以将case当电梯口,break为出口,没有break就会一直往下执行)当表达式的值没有与所列项匹配时,执行default

switch ( 表达式 ){
case 常量值 1 :
语句 1 ;
break ;
case 常量值 2 :
语句 2 ;
break ;
default :
内容都不满足时执行语句 ;
break ;
}
多个 case 后的常量值不可以重复 ,switch的括号内只能是以下类型的表达式:
基本类型:byte char short int ,注意不能是 long 类型
引用类型:String 常量串、枚举类型

3.循环结构

 while语句

循环条件为 true, 则执行循环语句 ; 否则结束循环 .
while ( 循环条件 ){
循环语句 ;
}

 break 的功能是让循环提前结束.

continue 的功能是跳过这次循环, 立即进入下次循环.

for循环

表达式1用于初始化循环变量初始值设置,在循环最开始时执行,且只执行一次 表达式2循环条件,满则循环继续,否则循环结束 表达式3: 循环变量更新方式

for ( 表达式① ; 布尔表达式② ; 表达式③ ){
表达式④ ;
}

do while 

先执行循环语句 , 再判定循环条件,循环条件成立则继续执行,否则循环结束。
do {
循环语句 ;
} while ( 循环条件 );

四、输出与输入

 1.输出到控制台

System . out . println ( msg ); // 输出一个字符串 , 带换行
System . out . print ( msg ); // 输出一个字符串 , 不带换行
System . out . printf ( format , msg ); // 格式化输出
println 输出的内容自带 \n; print 不带 \n ;printf 的格式化输出方式和 C 语言 基本一致

2.键盘输入 

使用 Scanner 读取字符串 / 整数 / 浮点数

在使用 Scanner 时需要导入util,使用完毕也要关闭,这里先给大家大概认识一下,后续文章会讲解


五、方法

方法的创建

大家听到方法这个词可能很陌生,这其实可以理解为C语言中的函数,能够模块化的组织代码(当代码规模比较复杂的时候)

// 方法定义
修饰符 返回值类型 方法名称 ([ 参数类型 形参 ...]){
方法体代码 ;
[ return 返回值 ];
}
eg.现在要写一个实现一个两个整数相加的方法
  • 修饰符:现阶段直接使用public static 固定搭配
  • 返回值类型:如果方法有返回值,返回值类型必须要与返回的实体类型一致,如果没有返回值,须写成void
  • 方法名字:采用小驼峰命名
  • 参数列表:如果方法没有参数,()中什么都不写,如果有参数,需指定参数类型,多个参数之间使用逗号隔开
  • 方法体:方法内部要执行的语句
  • java当中,方法必须写在类当中
  • java当中,方法不能嵌套定义
  • java当中,没有方法声明一说

方法重载

当我们在使用上面的方法的时候发现是存在数据类型的数据的,计算整形就要创建整形方法,计算浮点型就要创建浮点型的方法,有点过于繁琐,所以就有了方法重载,使用同一个方法名字

Java中,如果多个方法的名字相同参数列表不同,则称该几种方法被重载了

在我们使用的时候就可以选择我们需要方法进行使用


 方法签名

在同一个作用域中不能定义两个相同名称的标识符,方法签名即:经过编译器编译修改过之后方法最终的名字。

具体方式:方法全路径名+参数列表+返回值类型,构成方法完整的名字

(在控制台中进入到要查看的 .class 所在的目录,输入:javap -v 字节码文件名字即可)

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

强大的禄得可转债自定义因子轮动系统完成,可转债三低为例子

经过几天的测试终于完成了可转债自定义因子轮动&#xff0c;超过1000行的源代码 我提供了服务器的数据支持自动api下载&#xff0c;我给大家维护数据 网页 http://120.78.132.143:8023/ 录得数据支持http://120.78.132.143:8023/lude_data_app api数据支持&#xff0c;我提供…

营销5.0时代,企业的痛如何解?

进入营销5.0阶段之后&#xff0c;许多企业都需解决连接客户效能低下的问题。针对这个问题&#xff0c;产品经理、软件开发公司包括个人开发者&#xff0c;要怎么找到有效的“解药”&#xff1f; 营销不仅每年都在变化&#xff0c;甚至每天都在变化。 ——现代营销学之父&…

V90 1500 ePOS点动方式

1&#xff0c;设置控制模式 2&#xff0c;报文类型设置 3&#xff0c;点动速度设置 4&#xff0c;端口站名设置 5&#xff0c;添加PLC 6,进入网络视图 &#xff0c;添加V90设备&#xff0c;建立V90 PN与PLC的网络连接 7.配置IP 端口 &#xff0c;分配设备名称 在这里插入…

HackMyVM-Slowman

目录 信息收集 arp nmap whatweb WEB web信息收集 gobuster FTP匿名登录 hydra mysql爆破 mysql登录 fcrackzip爆破 hashcat爆破 ssh登录 提权 系统信息收集 python Capabilities提权 信息收集 arp ┌──(root㉿0x00)-[~/HackMyVM] └─# arp-scan -l Interf…

stable-diffusion-webui配置

源码地址 https://github.com/AUTOMATIC1111/stable-diffusion-webui.git报错Fresh install fail to load AttributeError: NoneType object has no attribute _id pydantic降级 pip uninstall pydantic pip install pydantic1.10.11记得要把clip-vit-large-patch14放在opena…

【工业用绝缘监测】工业IT绝缘监测故障定位解决方案

安科瑞电气股份有限公司 祁洁 15000363176 一、产品选型 二、功能特点 ■ 实时监测 IT 系统的对地绝缘电阻&#xff0c;电阻越限时启动故障预警或报警功能&#xff1b; ■ 继电器报警输出、LED 报警输出等多种故障指示方式&#xff1b; ■ 事件记录功能&#xff0c;方便…

鸿蒙内核源码分析(进程通讯篇) | 九种进程间通讯方式速揽

进程间为何要通讯 ? 鸿蒙内核默认支持 64个进程和128个任务&#xff0c;由进程池和任务池统一管理.内核设计尽量不去打扰它们&#xff0c;让各自过好各自的日子&#xff0c; 但大家毕竟在一口锅里吃饭&#xff0c; 不可能不与外界联系&#xff0c; 联系就得有渠道&#xff0c…

Python自动化实战 —— 使用Selenium进行Web自动化!

为了完成一项重复的任务&#xff0c;你需要在网站上进行大量的点击和操作&#xff0c;每次都要浪费大量的时间和精力。Python的Selenium库就可以自动化完成这些任务。 在本篇文章中&#xff0c;我们将会介绍如何使用Python的Selenium库进行Web自动化&#xff0c;以及如何将它应…

如何获得一个Oracle 23ai数据库(Virtual Appliance)

准确的说&#xff0c;是Oracle 23ai Free Developer版&#xff0c;因为企业版目前只在云上&#xff08;OCI和Azure&#xff09;和ECC上提供。 方法包括3种&#xff0c;本文介绍第1种&#xff1a; Virtual ApplianceRPM安装Docker 从此处下载虚拟机。 可以看到虚拟机需要4G内…

Linux 认识与学习Bash——3

在Linux bash中&#xff0c;数据流重定向是指将命令的输出从默认的标准输出&#xff08;通常是终端&#xff09;重定向到其他位置&#xff0c;如文件或另一个命令的输入。这是通过使用特定的符号来实现的。例如&#xff0c;>用于将输出重定向到文件&#xff0c;而<用于将…

独有病眼花,春风吹不落。 (二维坐标压缩成一个点,并查集)

本题链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 题目&#xff1a; 样例&#xff1a; 输入 3 8 1 1 D 1 1 R 1 2 D 2 1 D 2 2 R 3 1 R 3 2 R 2 3 D 输出 8 思路&#xff1a; 根据题意&#xff0c;要求连接线段后&#xff0c;操作多少次&#xff0c;连接的线段闭合&…

Windows安全加固-账号与口令管理

在当今日益增长的网络安全威胁中&#xff0c;Windows系统的安全加固显得尤为重要。其中&#xff0c;账号与口令管理作为系统安全的第一道防线&#xff0c;其重要性不言而喻。本文将深入探讨Windows安全加固中的账号与口令管理策略&#xff0c;以确保系统的安全性和稳定性。 账…

2009-2022年上市公司华证ESG评级评分数据(含细分项)

2009-2022年上市公司华证ESG评级评分数据&#xff08;含细分项&#xff09; 1、时间&#xff1a;2009-2022年 2、来源&#xff1a;华证ESG 3、指标&#xff1a;证券代码、证券简称、综合评级、年度、综合得分、E评级、E得分、S评级、S得分、G评级、G得分 4、范围&#xff1…

Linux实现Flappy bird项目

目录 1、项目介绍 2、功能总结 3、前期准备 3.1 Ncurses库 3.2 信号机制 3.2.1 设置信号响应方式 3.2.2 设置定时器 4、代码实现 4.1 头文件引用及变量、函数定义 4.2 主函数 4.3 curses初始化 4.4 设置定时器 4.5 定时器响应函数 4.6 小鸟控制相关函数 4…

Go语言fmt包深度探索:格式化输入输出的利器

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 &#x1f3ad; 引言一、基础输出函数fmt.Print与fmt.Println&#x1f4cc; fmt.Print&#xff1a;纯粹输出&#xff0c;不带换行&#x1f4cc; fmt.Println&#xff1a;输出后自动添加换行符 二、格式化输出fmt.Printf&…

【C语言】用数组和函数实现扫雷游戏

用数组和函数实现扫雷游戏 游戏界面&#xff1a; 代码如下&#xff1a; game.h #pragma once #include <stdio.h> #include <stdlib.h> #include <time.h> #define EASY_COUNT 10 #define ROW 9 #define COL 9 #define ROWS ROW2 #define COLS COL2 //初始…

Error Code: 1449. The user specified as a definer (‘admin‘@‘%‘) does not exist

前言 在进行MySQL数据库迁移或存储过程部署时&#xff0c;您可能会遇到错误 [Err] 1449 - The user specified as a definer (admin%) does not exist。这篇文章将为您提供一个详细的解决方案&#xff0c;帮助您顺利解决这一问题。 错误背景 此错误通常发生在尝试执行一个存…

国货美妆进入新纪元之际,毛戈平打好“高端牌”了吗?

当前&#xff0c;国内美妆市场的格局已发生较大变化。 一边是国际品牌的“退场”&#xff0c;据统计&#xff0c;2023年退出中国市场的海外美妆品牌有20多个&#xff1b;一边是国内美妆品牌正在迎来自己的时代。 根据魔镜洞察数据&#xff0c;2024年一季度&#xff0c;国货彩…

【Linux】Linux线程

一、Linux线程的概念 1.什么是线程 1.一个进程的一个执行线路叫做线程&#xff0c;线程的一个进程内部的控制序列。 2.一个进程至少有一个执行线程 3.线程在进程内部&#xff0c;本质是在进程地址空间内运行 4.操作系统将进程虚拟地址空间的资源分配给每个执行流&#xff0…

GoLang实战——微服务网关

1. 网关 1.1. 网关应该具备的基本功能 支持多种协议代理&#xff1a;tcp/http/websocket/grpc支持多种负载均衡策略&#xff1a;轮询/权重轮询/hash一致性支持下游服务发现&#xff1a;主动探测/自动服务发现支持横向扩容&#xff1a;加机器就能解决高并发 1.2. 借助网关处理…