Java的基本语法(1)

一、运算符和表达式

    举例说明什么是运算符,什么是表达式:

int a = 1;
int b = 2;
int c = a + b;

在这个例子当中,+是运算符,并且是算术运算符

a+b是表达式,因为+是运算符,所以a+b是算术表达式

1.1算术运算符
符号作用
+
-
*
/
%取模,取余

举例说明除法和取模、取余:

public class ArithmeticDemo2 {public static void main(String[] args){//除法System.out.println(10 / 2);//5System.out.println(10 / 3);//3System.out.println(10.0 / 3);//3.3333333333333335//取模、取余System.out.println(10 % 2);//0System.out.println(10 % 3);//1System.out.println(1234 % 10);//4}
}

取模的应用场景:

  1. 可以用取模来判断,A是否可以被B整除
  2. 判断A是否为偶数-->A%2如果是0,则A是偶数;否则A就是奇数
  3. 斗地主发牌中三个玩家,每张牌都定义一个序号;当序号%3为1,发给第一个玩家;结果为2,发给第二个玩家,结果为0,发给第三个玩家

练习:键盘上录入一个三位数,打印输出个位、十位、百位数字

import java.util.Scanner;public class text1 {public static void main(String[] args){//键盘录入一个三位数,获取其中的个位、十位、百位//1.键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入一个三位数");int number = sc.nextInt();//2.获取个位、十位、百位//个位:数字%10;//十位:数字/10%10//百位:数字/10/10%10int ge = number % 10;int shi = number / 10 % 10;int bai = number / 100 % 10;System.out.println(ge);System.out.println(shi);System.out.println(bai);}
}
数字相加

数字进行运算时,数据类型不一样不能运算,需要转成应用的,才能运算。

类型转换的分类:

  • 隐式转换(自动类型提升)把一个取值范围小的数值,转成取值范围大的数据

规则:取值范围小的,和取值范围大的进行运算,小的先提升为大的,再进行运算。

          byte  short  char三种类型的数据在运算的时候,都会直接先提升为int,然后再进行运算。

  • 强制转换 -->格式:目标数据类型 变量名 = (目标数据类型)被强转的数据;
字符串的“+”操作
  • 当“‘+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算符。会将前后的数据进行拼接,产生一个新的字符串。
  • 连续进行“+”操作时,从左到右逐个执行。
字符相加

byte、short、char三种类型的数据在运算的时候,都会先提升为int,然后再进行运算

当字符+字符(字符+数字)时,会把字符通过ASCII码表查询到对应的数字再计算。

注意事项:

  1. /取结果的商,%取结果的余数
  2. 整数操作只能得到整数,要想得到小数,必须要有浮点数参与运算。

二、自增自减运算符

++和--可以放变量之前也可以之后,单独写一行结果是一样的。

  1. int a = 10;int b = a++;     先用后加
  2. int a = 10;int b = ++a;     先加后用

举例来说:

public class ArithmeticDemo4 {public static void main(String[] args) {int x = 10;//后++:先用后加//先把x变量中的值拿出来用,赋值给y,然后进行自增int y = x++;//x=11  y=10//先++:先加后用//先把x变量中的值自增,然后把结果赋值给zint z = ++x;//x=12  z=12System.out.println("x:" + x);System.out.println("y:" + y);System.out.println("z:" + z);}
}

三、赋值运算符 

分类:

符号作用说明
=赋值int a = 10,将10赋值给变量a
+=加后赋值a+=b,将a+b的值给a
-=减后赋值a-=b,将a-b的值给a
*=乘后赋值a*=b,将a*b的值给a
/=除后赋值a/=b,将a/b的商给a
%=取余后赋值;a%=b,将a/b的余数给a
public class ArithmeticDemo5 {public static void main(String[] args){int a = 10;int b = 20;//把a+b赋值给aa += b;//等同于a = (int)(a+b)System.out.println(a);//30System.out.println(b);//20short s = 1;s += 1;//把s+1赋值给s//等同于s = (short)(s + 1)System.out.println(s);//2}
}

注意:在赋值运算符的底层会进行强制转换。

四、关系运算符

又被称作比较运算符,在关系运算符中,运算符的结果都是boolean类型,结果是true或false,没有其他情况。

五、逻辑运算符

分类:

符号作用说明
&逻辑与(且)并且,两边都为真,结果才是真
|逻辑或或者,两边都为假,结果才是假
^逻辑异或相同为false,不同为true
逻辑非取反
短路逻辑运算符
  • &&        短路与        结果和&相同,但是有短路效果
  • ||           短路或        结果和|相同,但是有短路效果

注意事项:

  1. &|,无论左边true、false,右边都要执行
  2. &&  ||,如果左边能确定整个表达式的结果,右边不执行
  3. &&:左边为false,右边不管是真是假,整个表达式的结果一定是false。
  4. ||:左边为true,右边不管是真是假,整个表达式的结果一定是true。
  5. 最常用的逻辑运算符:&&,||,!

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

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

相关文章

C++学习之密码学知识

目录 1.文档介绍 2.知识点概述 3.项目准备 4.序列化介绍 5.项目中基础组件介绍 6.基础模块在项目中作用 7.项目中其他模块介绍 8.加密三要素 9.对称加密和非堆成加密 10.对称和非对称加密特点 11.堆成加密算法des 12.des对称加密算法 13.对称加密算法aes 14.知识点…

安装vllm

ubuntu 22.04, RTX3080, cuda 12.1, cudnn 8.9.7,cuda和cudnn的安装参考:https://blog.csdn.net/m0_52111823/article/details/147154526?spm1001.2014.3001.5501。 查看版本对应关系,下载12.1对应的whl包,https://github.com/vl…

【WPF】自定义控件:ShellEditControl-同列单元格编辑支持文本框、下拉框和弹窗

需要实现表格同一列,单元格可以使用文本框直接输入编辑、下拉框选择和弹窗,文本框只能输入数字,弹窗中的数据是若干位的二进制值。 本文提供了两种实现单元格编辑状态下,不同编辑控件的方法: 1、DataTrigger控制控件的…

Gson、Fastjson 和 Jackson 对比解析

目录 1. Gson (Google) 基本介绍: 核心功能: 特点: 使用场景: 2. Fastjson (Alibaba) 基本介绍: 核心功能: 特点: 使用场景: 3. Jackson 基本介绍: 核心功能…

浅谈微信视频号推荐算法

这次可能会稍微有点干货,但保证不晦涩~ 一、算法推荐的本质:猜你喜欢 vs 社交绑架​ 视频号的推荐系统本质上在做两件事: ​预测你的兴趣​:通过你的浏览、点赞、评论、分享等行为,分析你的偏好。​满足社交需求​&…

halcon模板匹配(一)create_shape_model_xld

目录 一、提取刹车盘孔洞轮廓二、形状模板的创建-设置-训练-查找三、找到亮的圆孔四、获得匹配结果五、使用use_polarity进行模板匹配六、计算四个圆对应的矩形框七、创建四个圆对应的模板并查找一、提取刹车盘孔洞轮廓 小技巧总结,使用boundary 函数提取区域边界,在边界范围…

day26图像处理OpenCV

文章目录 一、OpenCV1.介绍2.下载3.图像的表示4.图像的基本操作4.1图片读取或创建4.1.1读取4.1.2创建 4.2创建窗口4.3显示图片4.3.1设置读取的图片4.3.2设置显示多久4.3.3释放 4.4.保存图片4.5图片切片(剪裁)4.6图片大小调节 5.在图像中绘值5.1绘制直线5…

零基础开始学习鸿蒙开发-智能家居APP离线版介绍

目录 1.我的小屋 2.查找设备 3.个人主页 前言 好久不发博文了,最近都忙于面试,忙于找工作,这段时间终于找到工作了。我对鸿蒙开发的激情依然没有减退,前几天做了一个鸿蒙的APP,现在给大家分享一下! 具体…

C++的*了又*

先看下面一段代码 class HeapWord {friend class VMStructs;private:char *i; };主函数 #include "HeapWord.hpp" int main() {HeapWord *heapword new HeapWord();HeapWord *p new HeapWord();HeapWord **p1 new HeapWord *();heapword 3;*(HeapWord **)p he…

yolov8在windows系统的C++版本的onnxruntime部署方法

1.各个软件的的环境需要保持在统一的版本。 onnxruntime需要和cuda的版本对应上,版本号:onnxruntime-win-x64-gpu-1.18.1 ,链接: NVIDIA - CUDA | onnxruntime cuda:本机显卡支持的版本,cuda11.7,链接:CUDA Toolkit Archive | NVIDIA Developer cudnn:需要对应到cud…

js chrome 插件,下载微博视频

修改说明: 代码资源,免积分下载 起因, 目的: 最初是想下载微博上的NBA视频,因为在看网页上看视频很不方便,快进一次是10秒,而本地 VLC 播放器,快进一次是5秒。另外我还想做点视频剪辑。 对比…

【vue3】@click函数传动态变量参数

根据java的学习&#xff0c;摸索了一下vue3 函数传参的方式。以此作为记录。有更好的其它方式&#xff0c;可以评论区补充。 <script> const tmpref(); </script><button click"tmpFunction(传递参数:tmp)">按钮</button> // 直接【字符串…

jmeter 集成ZAP进行接口测试中的安全扫描 实现方案

以下是将 JMeter 集成 ZAP(OWASP Zed Attack Proxy)进行接口测试中安全扫描的实现方案: 1. 环境准备 JMeter 安装:从 JMeter 官方网站(https://jmeter.apache.org/download_jmeter.cgi)下载并安装 JMeter,确保其版本稳定。ZAP 安装:从 ZAP 官方网站(https://www.zapr…

全能格式转换器v16.3.0.159绿色便携版

前言 全能格式转换器具有音视频格式转换、合并视频、压缩视频、录制视频、下载视频、DVD刻录等功能。以超快的转换速度及强大的功能在国外名声大噪&#xff0c;转换速度是市面同类产品的30倍&#xff0c;操作简便&#xff0c;支持158种视频格式无损转换&#xff0c;批量转换高…

【基于开源insightface的人脸检测,人脸识别初步测试】

简介 InsightFace是一个基于深度学习的开源人脸识别项目,由蚂蚁金服的深度学习团队开发。该项目提供了人脸检测、人脸特征提取、人脸识别等功能,支持多种操作系统和深度学习框架。本文将详细介绍如何在Ubuntu系统上安装和实战InsightFace项目。 目前github有非常多的人脸识…

设计一个简单的权限管理系统

针对大规模服务器集群的权限管理系统设计&#xff0c;需结合 角色分层、最小权限原则 和 动态权限控制 来实现安全高效的权限管理。以下是分阶段设计方案&#xff1a; 一、核心设计思路 基于角色的访问控制&#xff08;RBAC&#xff09; 定义角色层级&#xff08;如董事长 >…

使用 nano 文本编辑器修改 ~/.bashrc 文件与一些快捷键

目录 使用 nano 编辑器保存并关闭文件使用 sed 命令直接修改文件验证更改 如果你正在使用 nano 文本编辑器来修改 ~/.bashrc 文件&#xff0c;以下是保存并关闭文件的具体步骤&#xff1a; 使用 nano 编辑器保存并关闭文件 打开 ~/.bashrc 文件 在终端中运行以下命令&#xf…

spm12_fMRI 2*4混合方差分析 Flexible factorial 对比矩阵

实验设计&#xff1a;2*4被试内设计 分析模型&#xff1a;spm 二阶分析中的 Flexible factorial 问题&#xff1a;Flexible factorial交互作用对比矩阵如何编写&#xff1f; 老师&#xff1a;deepseek老师【大神们看看这个矩阵是否可以如下编写&#xff1f;】 以下是来自de…

用Python修改字体字形与提取矢量数据:fontTools实战指南

字体设计与分析是NLP和视觉领域的交叉应用&#xff0c;而**fontTools** 是一款强大的Python库&#xff0c;可以让我们直接操作字体文件的底层结构。本文将通过两个实用函数&#xff0c;展示如何修改特定字形和提取所有字形的矢量数据&#xff0c;帮助开发者快速上手字体编辑与分…

Windows 11 PowerShell重定向文本文件的编码问题

目录 问题的由来 编码导致的问题 解决办法 VSCode进行转换 记事本进行转换 直接指定输出的文本编码 总结 问题的由来 在我的嵌入式系统的课程中有一个裸机开发的实验&#xff0c;其中需要把图片等文件转换为C语言数组保存在程序中。课程中&#xff0c;我推荐了CodePlea的…