Java基础1-1-2—java基础语法(运算符)
2、 运算符
2.1 算术运算符
运算符和表达式
运算符:对常量或者变量进行操作的符号
表达式:用运算符把常量或者变量连接起来符合java语法的式子就可以称为表达式。
不同运算符连接的表达式体现的是不同类型的表达式。
举例说明:
int a = 10;
int b = 20;
int c = a + b;
+:是运算符,并且是算术运算符
a+b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式

/:整数相除,结果只能得到整数,如果想要得到带有小数的结果,必须加入小数(浮点类型)的运算
%(取模)取余数
注意事项:
/和%的区别:两个数据做除法,/取结果的商,%取结果的余数。
整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。
2.2 字符的“+”操作
字符的“+”操作
public class Test{
public static void main(String[] args){
int a = 1;
char b = 'a';
System.out.println(a + b); //98
}
}
a + b的运算中,a为int类型,b为char类型
当(byte short char int)在一起运算的时候,都会提升为int之后,再进行运算
但是,char属于字符,字符是怎样提升为int数值的呢?

为什么要有这样的码表?

'a' --- 97 'A' --- 65 '0' --- 48

2.3 字符串的+操作
字符串的“+”操作
当+操作中出现字符串时,这个+是{字符串连接符},而不是算术运算。
在+操作中,如果出现了字符串,就是连接运算符,否则就是算术运算。当连续进行"+"操作时,从左到右逐个执行。
public static void main(String[] args){
// 字符串可以使用 + 号,跟【任意数据类型】拼接
System.out.println("qwer" + 666);
System.out.println("qwer" + true);
//从左到右
System.out.println(1 + 99 + "年");
System.out.println("5+5=" + 5 + 5); //已经变成字符串拼接了 最后就是5+5=55
System.out.println("5+5=" + (5 + 5)); //提高运算优先级
}
2.4 案例-数值拆分
需求:键盘录入一个三位数,将其拆分为个位、十位、百位后,打印在控制台

public class Test{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个三位数");
int num = sc.nextInt();
int ge = num % 10;
int shi = num / 10 % 10;
int bai = num / 100;
System.out.println("整数"+num+"个位为:" + ge);
System.out.println("整数"+num+"十位为:" + shi);
System.out.println("整数"+num+"百位为:" + bai);
}
}
公式总结:
个位:数值 % 10
十位:数值 / 10 % 10
百位:数值 / 10 /10 % 10
千位:数值 / 10 / 10 / 10 % 10
2.5 自增自减运算符
自增自减运算符
++:变量自身+1
--:变量自身-1
++和--既可以放在变量的后边,也可以放在变量的前面。
注意:单独使用的时候,++和--无论是放在变量的前边还是后边,结果是一样的
public static void main(String[] args){
int a = 10;
++a;
a++;
}
参与操作:
++在前:先对该变量做自增(++)或者自减(--),然后再拿变量参与操作。
++在后:先将该变量原本的值,取出来参与操作,随后再进行自增(++),自减(--)。
++和--,只能操作变量不能操作常量
System.out.println(10++); //错误
2.6 赋值运算符
赋值运算符

注意事项:
扩展的赋值运算符隐含了强制类型转换
扩展赋值运算符:
+= -= *= /= %=
public static void main(String[] args){
int a = 10;
a += 20; //将符号左右两边的数据,做加分运算,结果赋值给左边
System.out.println(a);
}
注意:
public static void main(String[] args){
short a = 1;
a += 1; // a = (short)(a + 1); 注意:扩展赋值运算符底层会自带强转功能
System.out.println(a);
}
2.7 关系运算符
关系运算符(比较运算符)
> >= < <= == !=
public static void main(String[] args){
System.out.println(10 > 20); //false
}

2.8 逻辑运算符
逻辑运算符概述
在数学中,一个数据x,大于5,小于15,我们可以这样来进行表示:5<x<15。
在java中,需要把上面的式子先进行拆解,再进行合并表达。
拆解为:x>5和x<15
合并后:x>5&x<15
逻辑运算符作用:用于{整合}多个比较表达式的条件
1、连接多个比较表达式
2、连接true或false
最终得到的结果都是boolean类型的true或false
逻辑运算符分类:
&(与):并且 遇false则false,只有符号左右两边同时为true,结果才为true。
|(或):或者 遇true则true,只有符号左边两边同时为false,结果才为false。
!(非):取反 !false=true !!true=true
^(异或):相同为false,不同为true
应用场景:
需求:键盘录入学生成绩,如果是90-100之间,程序输出(优秀)
判断条件(score >= 90 & score <= 100)
需求:键盘录入工人工号,只要3号5号7号。
public static void main(String[] args){
int x = 10;
System.out.println(x > 5 & x < 15);
}
&其实就是一个逻辑运算符
我们可以这样说,逻辑运算符,是用来连接关系表达式的运算符。
当然,逻辑运算符也可以直接连接布尔类型的常量或者变量。

2.9 短路逻辑运算符
短路逻辑运算符

& 和 &&的区别:
&无论符号左边是true还是false,右边都要继续执行
&&具有短路效果,符号左边为false的时候,右边就不执行了。
|和||的区别:
逻辑或|,无论左边真假,右边都要执行。
短路或||,如果左边为假,右边执行;如果左边为真,右边不执行。
2.10 三元运算符
三元运算符
格式:关系表达式?表达式1:表达式2;
执行流程:
首先计算关系表达式的值
如果值为true,取表达式1的值
如果值为false,取表达式2的值
public static void main(String[] args){
int a = 10;
int b = 20;
int max = a > b ? a : b;
System.out.println(max);
}
2.11 案例:三个和尚
需求:一座寺庙里住着三个和尚,已知他们的升高分别为150cm、210cm、165cm。请用程序实现获取三个和尚的最高升高。

public static void main(String[] args){
int height1 = 150;
int height2 = 210;
int height3 = 165;
int tempMax = a > b ? a : b;
int max = tempMax > c ? tempMax : c;
System.out.println(max);
int result = a > b ? a : b > c ? a > b ? a : b : c;
System.out.println(result);
}
Java基础1-1-2—java基础语法(运算符)的更多相关文章
- java面向对象编程——第二章 java基础语法
第二章 java基础语法 1. java关键字 abstract boolean break byte case catch char class const continue default do ...
- Java10-java语法基础(九)——java的封装性
Java10-java语法基础(九)——java的封装性 一.Java的三大特性:封装.多态.继承 封装:通过类封装对象的数据成员和成员方法,保证只有可信的类或者对象能够访问这些方法和数据成员,对不可 ...
- Java09-java语法基础(八)java中的方法
Java09-java语法基础(八)java中的方法 一.方法(函数/过程):是一个程序块,可以完成某种功能 1.java中方法的定义格式 [访问控制修饰符] 返回值类型 方法名(参数列表){ 方 ...
- 《Java程序设计》第三章-基础语法
20145221<Java程序设计>第三章-基础语法 总结 教材学习内容总结 类型.变量与运算符 类型 Java可区分为基本类型(Primitive Type)和类类型(Class Typ ...
- JavaSE基础(三)--Java基础语法
Java 基础语法 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作.下面简要介绍下类.对象.方法和实例变量的概念. 对象:对象是类的一个实例,有状态和行为.例如 ...
- 008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字
008 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 02 Java 中的关键字 关键字 关键字就是一些有特殊意义的词 之前学习的程序中涉及到的关键字 Java中 ...
- 007 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 01 Java标识符
007 01 Android 零基础入门 01 Java基础语法 02 Java常量与变量 01 Java标识符 Java变量与常量主要内容 Java变量与常量主要内容如下,主要是对以下内容的学习,没 ...
- JavaSE 基础知识(常识概念 + 基础语法)问答总结/面试题 —— 讲给应届生的 Java 开源知识项目
写在最前面 这个项目是从20年末就立好的 flag,经过几年的学习,回过头再去看很多知识点又有新的理解.所以趁着找实习的准备,结合以前的学习储备,创建一个主要针对应届生和初学者的 Java 开源知识项 ...
- Java基础学习笔记三 Java基础语法
Scanner类 Scanner类属于引用数据类型,先了解下引用数据类型. 引用数据类型的使用 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式. 数据类型 变量名 ...
- java 复习整理(一 java简介和基础语法)
现在公司用的是封装太多东西的平台开发,觉着之前学的东西很多都忘了,所以想好好总结回顾一下.之前总是想学很多编程语言像python.s6.node.react,但现在越来越体会到编程语言只是一个开发的工 ...
随机推荐
- Windows7下驱动开发与调试体系构建——4.在x64下使用汇编代码(x86下的_asm)
目录/参考资料:https://www.cnblogs.com/railgunRG/p/14412321.html asm文件设置 在vs x64中无法使用_asm关键字,需要使用.asm文件. 按第 ...
- Kafka 架构和原理机制 (图文全面详解)
目录 一:Kafka 简介 二:Kafka 基本架构 三:Kafka 基本原理 四:Zookeeper 在 kafka 的作用 五:Kafka 的特性 六:Kafka 的应用场景 一:Kafka 简介 ...
- 【Java复健指南09】项目练习全解--房屋出租系统
一个基于文本界面的综合练习,主要用于串联和回忆知识点,比较简单 各个界面的设计样式 主菜单 =============房屋出租系统菜单============ 1 新 增 房 源 2 查 找 房 屋 ...
- Linux下安装 SkyWalking 分布式追踪系统
Linux下安装 SkyWalking 分布式追踪系统 1.SkyWalking简介 1.1 SkyWalking介绍 SkyWalking项目是由华为大牛吴晟开源的个人项目,目前已经加入Apache ...
- phpmyadmin 数据库导出数据到excel(图文版)
查询到想要的数据后,点击上方或下方的"导出"按钮 格式选择"CSV for MS Excel" 如果快速导出的数据乱码,可以选择"导出方式" ...
- Go语言核心36讲39
在上一篇文章中,我介绍了Go语言与Unicode编码规范.UTF-8编码格式的渊源及运用. Go语言不但拥有可以独立代表Unicode字符的类型rune,而且还有可以对字符串值进行Unicode字符拆 ...
- Go语言核心36讲18
你很棒,已经学完了关于Go语言数据类型的全部内容.我相信你不但已经知晓了怎样高效地使用Go语言内建的那些数据类型,还明白了怎样正确地创造自己的数据类型. 对于Go语言的编程知识,你确实已经知道了不少了 ...
- 让 Serverless 更普惠,阿里云函数计算 FC 宣布全面降价,最大幅度达 37.5%
11月5日,2022 杭州 · 云栖大会上,阿里云宣布函数计算 FC 开启全面降价,vCPU 单价降幅** 11%,其他的各个独立计费项最高降幅达 37.5%**. 本次云栖大会上,阿里云智能总裁张建 ...
- Centos7.6分区、格式化、自动挂载磁盘
个人名片: 对人间的热爱与歌颂,可抵岁月冗长 Github:念舒_C.ying CSDN主页️:念舒_C.ying 个人博客 :念舒_C.ying 目录 1. 添加硬盘 2. 执行fdisk -l ...
- 云原生之旅 - 12)使用 Kaniko 在 Kubernetes上构建 Docker 容器镜像
前言 前一篇文章[云原生之旅 - 11)基于 Kubernetes 动态伸缩 Jenkins Build Agents]有讲到在 Kubernetes Pod (Jenkins build agent ...