【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://www.mzph.cn/pingmian/7530.shtml

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

相关文章

Hive3.0新特性:Materialized Views 物化视图

Materialized Views 物化视图 在 Apache Hive 3.0 中引入了物化视图&#xff08;Materialized Views&#xff09;的支持&#xff0c;它们是预先计算并缓存了查询结果的数据结构&#xff0c;以提高查询性能和降低延迟。物化视图通过将查询的结果存储在物理表中来实现&#xff0…

算法提高之玉米田

算法提高之玉米田 核心思想&#xff1a;状态压缩dp 将图存入g数组 存的时候01交换一下方便后面判断即g数组中0为可以放的地方 state中1为放的地方 这样只要state为1 g为0就可以判断不合法 #include <iostream>#include <cstring>#include <algorithm>#includ…

桥接模式类图与代码

欲开发一个绘图软件&#xff0c;要求使用不同的绘图程序绘制不同的图形。以绘制直线和圆形为例&#xff0c;对应的绘图程序如表 7.7 所示。 根据绘图软件的扩展性要求&#xff0c;该绘图软件将不断扩充新的图形和新的绘图程序。为了避免出现类爆炸的情况&#xff0c;现采用桥接…

Application exit(Out of memory)

Qt for WebAssembly 开发的网页&#xff0c;在 iOS 设备上打开会提示&#xff1a;Out of memory 如图&#xff1a; 解决办法&#xff1a; 环境&#xff1a;Qt 6.7.0 WebAssembly multi-threaded Emscripten Compiler 3.1.50 在CMakeLists.txt 中增加&#xff1a; set_tar…

使用Docker安装MySQL5.7.36

拉取镜像并查看 docker pull mysql:5.7.36拉取成功后查看&#xff08;非必须&#xff09; docker images创建并设置宿主机 mysql 配置文件目录和数据文件目录 创建相关文件夹将容器中的mysql数据保存到本地&#xff0c;这样即使容器被删除&#xff0c;数据也不会丢失。 mkd…

Python + selenium如何截图!

废话不多说&#xff0c;直接进入正题 一、直接截取网页全屏 截全屏的时候&#xff0c;我们用到的内置方法为save_screenshot("demo1.png") from selenium import webdriver from time import sleepclass test:driver webdriver.Chrome()driver.maximize_window()…

《架构思维:从程序员到CTO》:通往顶级架构师之路

&#x1f482; 个人网站:【 摸鱼游戏】【神级代码资源网站】【工具大全】&#x1f91f; 一站式轻松构建小程序、Web网站、移动应用&#xff1a;&#x1f449;注册地址&#x1f91f; 基于Web端打造的&#xff1a;&#x1f449;轻量化工具创作平台&#x1f485; 想寻找共同学习交…

PCIE协议-1

1. PCIe结构拓扑 一个结构由点对点的链路组成&#xff0c;这些链路将一组组件互相连接 - 图1-2展示了一个结构拓扑示例。该图展示了一个称为层级结构的单一结构实例&#xff0c;由一个根复合体&#xff08;Root Complex, RC&#xff09;、多个端点&#xff08;I/O设备&#xf…

ubuntu20部署3d高斯

3d高斯的链接&#xff1a;https://github.com/graphdeco-inria/gaussian-splatting 系统环境 ubuntu20的系统环境&#xff0c;打算只运行训练的代码&#xff0c;而不去进行麻烦的可视化&#xff0c;可视化直接在windows上用他们预编译好的exe去可视化。&#xff08;因为看的很…

暗区突围pc端资格发放了吗 暗区突围pc测试资格怎么获取

暗区突围pc端资格发放了吗 暗区突围pc测试资格怎么获取 暗区突围是一款很火爆的第一人称射击网游&#xff0c;现在终于要上线PC端啦&#xff01;小伙伴们是不是已经迫不及待想要体验电脑上的硬核射击快感了&#xff1f;暗区突围pc端资格已经陆续发放&#xff0c;想要参与PC端…

TC8002D 是一颗带关断模式的音频功放IC

一、一般概述 TC8002D是一颗带关断模式的音频功放IC。在5V输入电压下工作时&#xff0c;负载(3Ω)上的平均功率 为3 W&#xff0c;且失真度不超过10%。而对于手提设备而言&#xff0c;当VDD作用于关断端时&#xff0c;TC8002D将会进入关断模式&#xff0c;此时的功耗极…

探索淘宝API接口对接(属性规格丨sku价格丨详情图丨优惠券等):打造智能电商解决方案

一、引言 随着电子商务的快速发展&#xff0c;越来越多的企业和开发者希望通过自动化和智能化的方式接入电商平台&#xff0c;以实现更高效的数据交互和业务流程。淘宝作为中国最大的电商平台之一&#xff0c;其提供的API接口成为了众多企业和开发者关注的焦点。本文将探讨淘宝…

【spring】Bean的生命周期回调函数和Bean的循环依赖

目录 1、Bean的生命周期 2、Bean的生命周期回调函数 2.1、初始化的生命周期回调 2.2、销毁的生命周期回调 3、Bean的循环依赖 1、Bean的生命周期 spring的bean的生命周期主要是创建bean的过程&#xff0c;一个bean的生命周期主要是4个步骤&#xff1a;实例化&#xff0c;…

视频剪辑图文实例:一键操作,轻松实现视频批量片头片尾减时

视频剪辑是现代媒体制作中不可或缺的一环&#xff0c;而批量处理视频更是许多专业人士和爱好者的常见需求。在剪辑过程中&#xff0c;调整视频的片头片尾时长可以显著提升视频的质量和观感。本文将通过图文实例的方式&#xff0c;向您展示如何一键操作&#xff0c;轻松实现视频…

直播录屏怎么录?分享3种方法

随着网络直播的兴起&#xff0c;直播录屏已成为众多网友记录精彩瞬间、分享有趣内容的重要工具。直播录屏不仅能帮助我们回顾和保存直播中的精彩片段&#xff0c;还能为创作者提供更多的素材和灵感。 本文将为大家介绍3种直播录屏的方法&#xff0c;帮助大家能够更好地利用这一…

【IEEE独立出版|往届均已成功检索】ISPDS 2024诚邀投稿参会

第五届信息科学与并行、分布式处理国际学术会议&#xff08;ISPDS 2024&#xff09; 2024 5th International Conference on Information Science, Parallel and Distributed Systems 2024年5月31-6月2日 | 中国广州NEWS&#xff1a;会议已在格林威治大学官网上线会议已经上线到…

学术咸鱼入门指南(2)

巧用思维导图阅读文献 化整为零&#xff1a;读文献&#xff0c;从拆分文章的结构开始 大家在初步接触自己学科的论文时&#xff0c;要了解清楚基本的范式&#xff0c;日后读起来就比较顺了。 科研论文的第一部分&#xff0c;是文章的标题&#xff0c;摘要和关键词&#xff0…

【MySQL】连接查询(JOIN 关键字)—— 图文详解:内连接、外连接、左连接、左外连接、右连接、右外连接

文章目录 连接查询驱动表连接查询分类 内连接&#xff08;INNER JOIN&#xff09;内连接 —— 等值连接内连接 —— 自然连接&#xff08;NATURAL JOIN&#xff09;内连接 —— 交叉连接&#xff08;笛卡尔积&#xff09; 外连接&#xff08;OUTER JOIN&#xff09;外连接 ——…

nodejs里面的 http 模块介绍和使用

Node.js的HTTP模块是一个核心模块&#xff0c;它提供了很多功能来创建HTTP服务器和发送HTTP请求。 http.Server是一个基于事件的http服务器&#xff0c;内部是由c实现的&#xff0c;接口是由JavaScript封装。 http.request是一个http客户端工具。 用户向服务器发送数据。 创…

嵌入式RTOS面试题目

用过哪些嵌入式操作系统&#xff1f;使⽤RTOS和裸机代码开发有什么区别&#xff08;优缺点&#xff09;&#xff1f; 之前的⼀个项⽬是采⽤裸机代码开发的&#xff0c;写起来还⾏&#xff0c;通过状态机来管理业务逻辑和各种外设。 但是随着外设的增加&#xff0c;任务之间的…