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

server/2024/9/24 3:28:20/

目录

一、前言

二、操作符

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.ppmy.cn/server/36844.html

相关文章

Vue3 + Element-plus 报错 require is not defined 处理问题

问题复现&#xff1a; yarn dev 后报错如下&#xff1a; app.js:358 Uncaught ReferenceError: require is not defined at eval (index.mjs:4:30) at Module../node_modules/element-plus/icons-vue/dist/es/index.mjs (chunk-vendors.js:9072:1) at webpack_require (app.j…

国内如何下载TikTOK,手机刷机教程

最近很多玩家都来问怎么刷机&#xff1f;手机环境怎么搭建&#xff1f;这里给大家整理了苹果IOS刷机教程 1.iOS下载教程 &#xff1a; 步骤一&#xff1a;手机调试 苹果手机系统配置推荐&#xff1a;iPhone6S以上&#xff0c;16G。 注意&#xff1a;如果是选择购入二手手机…

SpringCloud之OpenFeign

学习笔记&#xff1a; 官网地址&#xff1a;https://docs.spring.io/spring-cloud-openfeign/docs/current/reference/html/#spring-cloud-feign 源码&#xff1a;https://github.com/spring-cloud/spring-cloud-openfeign 1、概念总结 OpenFeign是一个声明式的Web服务客户端…

edge使用心得

1. **性能提升**&#xff1a;基于Chromium的Edge浏览器在速度和响应方面有显著提升&#xff0c;特别是在处理复杂的网页结构和执行JavaScript代码时。这意味着无论是日常浏览还是运行Web应用程序&#xff0c;都能享受流畅的用户体验。 2. **更好的兼容性**&#xff1a;由于与G…

jenkins部署服务到windows系统服务器

1、安装openSSH windows默认不支持ssh协议&#xff0c;需要下载安装&#xff0c;主要适用于jenkins传输文件已经执行命令使用 点击查看下载openSSH 2、项目配置 这里简单说说怎么配置&#xff0c;主要解决点就是ssh执行cmd或shell命令时不能开启新窗口导致应用部署失败或者断…

kafka基础应用

Kafka作为一个开源流处理平台,在现代大数据和云计算领域具有广泛的应用。以下是对Kafka基础应用的详细探讨。 一、Kafka概述 Kafka是由Apache软件基金会开发的一个开源流处理平台,它使用Scala和Java编写,具有高性能、高可靠性和高可扩展性等特点。Kafka最初是为了解决Link…

20240506 深度学习高级技术点

1.基于BN层剪枝 基于Batch Normalization (BN)层进行剪枝是一种常用的模型压缩方法&#xff0c;特别是在卷积神经网络(CNNs)中。BN层在训练期间用于加速收敛和提高模型的泛化能力&#xff0c;而在剪枝过程中&#xff0c;BN层提供的统计信息&#xff08;特别是均值(mean)和方差…

Android Native内存泄漏检测方案详解

文章目录 1. AddressSanitizer (ASan)2. LeakSanitizer (LSan)3. Valgrind4. 手动检测5. 实践建议6. 总结 在Android Native层开发过程中&#xff0c;内存泄漏是一个常见的问题。内存泄漏不仅会导致应用程序占用越来越多的内存&#xff0c;还可能引发性能问题和崩溃。因此&…