IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【Java进阶营】Java 运算符、输入、选择流程控制详细讲解 -> 正文阅读

[移动开发]【Java进阶营】Java 运算符、输入、选择流程控制详细讲解

image.png

第一章 运算符

1.1 算术运算符的概述和用法

  • 运算符

  • 对常量和变量进行操作的符号称为运算符

  • 表达式

  • 用运算符把常量或者变量连接起来符号 java 语法的式子就可以称为表达式。不同运算符连接的式子体现的是不同类型的表达式。

  • 定义两个 int 类型的变量 a,b,做加法(a + b)

  • 常用运算符

  • 算术运算符

  • 赋值运算符

  • 关系运算符

  • 逻辑运算符

  • 三元运算符

1.1.1 算数运算符概述

  • 什么是运算符

  • 就是对常量和变量进行操作的符号。

  • 算数运算符有哪些

  • * +,-,*,/,%,++,--

1.1.2 代码实战

public classOperatorDemo{``publicstaticvoidmain(String[] args){``//定义两个int类型的变量``inta=5;``intb=3;``System.out.println(a+b);``System.out.println(a-b);``System.out.println(a*b);``System.out.println(a/b);``System.out.println(a%b);``System.out.println("------------");``System.out.println(5/4);``System.out.println(5.0/4);``System.out.println(5/4.0);``}``}

复制代码

算数运算符取余和除法的区别:

  • %:取余运算符。得到的是两个相除数据的余数。

  • /:除法运算符。得到是两个相除数据的商。

  • 使用场景: %:判断两个数据是否整除。::::

1.1.3 字符和字符串参与加法运算

  • 字符参与运算其实是拿该字符对应的数值来操作

‘a’ ?97``‘A’ ?65``‘0’ ?48

复制代码

  • 字符串参与运算这里其实做的不是加法运算,而是字符串拼接

  • 字符串和其他类型的数据做拼接,结果是字符串类型的。

1.1.4 代码实战

public classOperatorDemo2{``publicstaticvoidmain(String[] args){``//定义两个变量,一个int类型,一个char类型``inta=10;``charch='a';``System.out.println(a + ch);``System.out.println("----------------");``//字符串做加法``System.out.println("hello"+"world");``System.out.println("hello"+10);``System.out.println("hello"+10+20);``System.out.println(10+20+"hello");``}``}

复制代码

1.1.5 自增自减运算符的概述和用法

**++,--**?运算符?:对变量做加 1 或者减 1 的操作。

++?或者?--?既可以放在变量的后面,也可以放在变量的前面。

单独使用的时候,?++?或者?--?无论是放在变量的前面还是后面,结果是一样的。

参与操作的时候:

如果?++?或者?--?在变量的后面,先拿变量参与操作,后变量?++?或者?--

如果?++?或者?--?在变量的前面,先变量做?++?或者?--?,后拿变量参与操作

1.1.6 代码实战

public classOperatorDemo{``publicstaticvoidmain(String[] args){``//定义一个int类型的变量``inta=10;``System.out.println("a:"+a);``//a++;``//a--;``//++a;``//--a;``//System.out.println("a:"+a);``//int b = a++;``intb=++a;``System.out.println("a:"+a);``System.out.println("b:"+b);``}``}

复制代码

1.2 赋值运算符的概述和用法

1.2.1 赋值运算符分类

  • 基本的赋值运算符:=

  • 扩展的赋值运算符:?+=,-=,*=,/=,%=

  • a+=20;?相当于?a =a + 20;

1.2.2 代码实战

public classOperatorDemo{``publicstaticvoidmain(String[] args){``//定义变量``inta=10;//把10赋值给int类型的变量a``System.out.println("a:"+a);``//扩展的赋值运算符:+=``//把运算符左边的数据和右边的数据进行运算,然后把结果赋值给左边``//a = a + 20;``a +=20;``System.out.println("a:"+a);``//short s = 1;``//s = s + 1;``//扩展的赋值运算符隐含了强制类型转换。``//a+=20``//等价于``//a =(a的数据类型)(a+20);``shorts=1;``s +=1;``System.out.println("s:"+s);``}``}

复制代码

1.3 关系运算符的概述和使用

1.3.1 基本使用及注意事项

关系运算符包含以下内容:

==,!=,>,>=,<,<=

关系运算符的结果都是 boolean 型,也就是要么是 true,要么是 false。

注意事项:关系运算符“==”不能误写成“=”。

1.3.2 代码实战

public classOperatorDemo{``publicstaticvoidmain(String[] args){``//定义三个变量``inta=10;``intb=20;``intc=10;``//==``System.out.println(a == b);``System.out.println(a == c);``System.out.println("------------");``//!=``System.out.println(a != b);``System.out.println(a != c);``System.out.println("------------");``//>``System.out.println(a > b);``System.out.println(a > c);``System.out.println("------------");``//>=``System.out.println(a >= b);``System.out.println(a >= c);``System.out.println("------------");``System.out.println(a == b);``System.out.println(a = b);//20,把b的值赋值给了a,并把a作为结果输出了``}``}

复制代码

1.4 逻辑运算符的概述和使用

1.4.1 逻辑运算符概述

逻辑运算符用于连接关系表达式,在 Java 中不可以写成?3<x<6?,应该写成?x>3 && x<6?。

  • 逻辑运算符有哪些?&& || !

  • 结论:

  • &&?:有 false 则 false。

  • ||?:有 true 则 true。

  • !?:非 false 则 true,非 true 则 false。

1.4.2 代码实战

public classOperatorDemo{``publicstaticvoidmain(String[] args){``//定义变量``inta=3;``intb=4;``intc=5;``//&&逻辑与``System.out.println((a>b) && (a>c));//false && false``System.out.println((a<b) && (a>c));//true && false``System.out.println((a>b) && (a<c));//false && true``System.out.println((a<b) && (a<c));//true && true``System.out.println("------------");``//||逻辑或``System.out.println((a>b) || (a>c));//false || false``System.out.println((a<b) || (a>c));//true || false``System.out.println((a>b) || (a<c));//false || true``System.out.println((a<b) || (a<c));//true || true``System.out.println("------------");``//!逻辑非``System.out.println((a>b));``System.out.println(!(a>b));``System.out.println(!!(a>b));``}``}

复制代码

1.5 三元运算符的概述和使用

1.5.1 三元运算符概述

  • 格式

  • (关系表达式)?表达式1:表达式2;

  • 如果条件为 true,运算后的结果是表达式 1;如果条件为 false,运算后的结果是表达式 2;

1.5.2 代码实战

public classOperatorDemo{``publicstaticvoidmain(String[] args){``//定义两个变量``inta=10;``intb=20;``intc=(a>b)?a:b;``System.out.println("c:"+c);``}``}

复制代码

1.5.3 三元运算符练习之比较两个整数是否相同

public classOperatorTest{``publicstaticvoidmain(String[] args){``//定义两个int类型的变量``inta=10;``//int b = 20;``intb=10;``booleanflag=(a==b)?true:false;``System.out.println(flag);``}``}

复制代码

第 2 章 键盘输入

2.1 键盘输入的基本步骤

2.1.1 键盘输入 数据概述

我们目前在写程序的时候,数据值都是固定的,但是实际开发中,数据值肯定是变化的,所以,把数据改进为键盘录入,提高程序的灵活性。

键盘录入数据的步骤:

  1. 导包(位置放到 class 定义的上面)?import java.util.Scanner;

  2. 创建对象?Scanner sc = new Scanner(System.in);

  3. 接收数据?int x = sc.nextInt();

2.1.2 代码实战

import java.util.Scanner;``/*``* 为了提高程序的灵活性,我们把数据改进为键盘录入。``* 如何实现键盘录入数据呢?目前使用JDK提供的类Scanner。``* 如何使用Scanner来获取数据呢?目前大家记住使用步骤即可。``*``* 使用步骤:``* ? ? A:导包``* ? ? ? import java.util.Scanner;``* ? ? ? 注意:在一个类中,有这样的顺序关系``* ? ? ? ? package > import > class``* ? ? B:创建键盘录入对象``* ? ? ? Scanner sc = new Scanner(System.in);``* ? ? C:获取数据``* ? ? ? int i = sc.nextInt();``*/``public classScannerDemo{``publicstaticvoidmain(String[] args){``//创建键盘录入对象``Scannersc=newScanner(System.in);``//给出提示``System.out.println("请输入一个整数:");``//获取数据``inti=sc.nextInt();``//把获取的数据输出``System.out.println("i:"+i);``}``}

复制代码

2.2 Scanner 录入数据练习之求两个整数的和

键盘录入两个数据,并对这两个数据求和,输出其结果:

import java.util.Scanner;``/*``* 需求:键盘录入两个数据,并对这两个数据求和,输出其结果``*/``public classScannerTest{``publicstaticvoidmain(String[] args){``//创建键盘录入对象``Scannersc=newScanner(System.in);``//给出提示``System.out.println("请输入第一个整数:");``inta=sc.nextInt();``System.out.println("请输入第二个整数:");``intb=sc.nextInt();``//对数据求和``intsum=a + b;``//输出结果``System.out.println("sum:"+sum);``}``}

复制代码

第 3 章 选择流程控制语句

在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。

  • 流程控制语句分类

  • 顺序结构

  • 选择结构

  • 循环结构

3.1 流程控制语句之顺序结构概述和使用

3.1.1 顺序结构概述

是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行,程序中大多数的代码都是这样执行的。在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

3.1.2 顺序流程流程图

image.png

3.1.3 代码实战

public class OrderDemo {``publicstaticvoidmain(String[] args){``System.out.println("开始");``System.out.println("语句A");``System.out.println("语句B");``System.out.println("语句C");``System.out.println("结束");``}``}

复制代码

3.2 if 语句的格式

3.2.1 if 语句格式 1 的概述和使用

if 语句第一种格式:

if(关系表达式) {``语句体``}

复制代码

执行流程:

首先判断关系表达式看其结果是 true 还是 false

如果是 true 就执行语句体

如果是 false 就不执行语句体

代码实战

public class IfDemo {``publicstaticvoidmain(String[] args){``System.out.println("开始");``//定义两个int类型的变量``inta=10;``intb=20;``//判断两个变量是否相等``if(a == b) {``System.out.println("a等于b");``}``//定义变量``intc=10;``if(a == c) {``System.out.println("a等于c");``}``System.out.println("结束");``}``}

复制代码

3.2.2 if 语句格式 2 的概述和使用

if 语句第二种格式:

if(关系表达式) {``语句体1;``}else {``语句体2;``}

复制代码

执行流程:

首先判断关系表达式看其结果是 true 还是 false

如果是 true 就执行语句体 1

如果是 false 就执行语句体 2

代码实战

public class IfDemo2 {``publicstaticvoidmain(String[] args){``System.out.println("开始");``//判断一个数据是奇数还是偶数``//思路:如果一个数据对2取余的结果是0,说明该数是偶数``//定义一个变量``inta=100;``//重新给a赋值``a =99;``if(a%2==0) {``System.out.println("a是偶数");``}else{``System.out.println("a是奇数");``}``System.out.println("结束");``}``}

复制代码

3.2.3 if 语句格式 3 的概述和使用

if 语句第三种格式:

if(关系表达式1) {``语句体1;``}else ?if (关系表达式2) {``语句体2;``}``…``else {``语句体n+1;``}

复制代码

执行流程:

首先判断关系表达式 1 看其结果是 true 还是 false

如果是 true 就执行语句体 1

如果是 false 就继续判断关系表达式 2 看其结果是 true 还是 false

如果是 true 就执行语句体 2

如果是 false 就继续判断关系表达式…看其结果是 true 还是 false

如果没有任何关系表达式为 true,就执行语句体 n+1

代码实战

public class IfDemo3 {``public static void main(String[] args) {``System.out.println("开始");``//假如x和y满足如下的关系:``//x>=3 ?y=2x+1``//-1<=x<3 ?y=2x``//x<-1 ?y=2x-1``//根据给定的x的值,计算出y的值``int x = 5;``x = 0;``x = -5;``//定义变量y``int y;``if(x >= 3) {``y = 2*x+1;``}else if(x>=-1 && x<3) {``y = 2*x;``}else if(x<-1) {``y = 2*x-1;``}else {``y = 0;``System.out.println("不存在这样的x的值");``}``System.out.println("y:"+y);``System.out.println("结束");``}``}

复制代码

3.3 if 语句的练习

3.3.1 if 语句练习之获取两个整数的较大值

import java.util.Scanner;``/*``* 需求:键盘录入两个数据,获取这两个数据的较大值``*``* 分析:``* ? ? A:看到了键盘录入,我们就应该想到键盘录入的三个步骤``* ? ? ? 导包,创建键盘录入对象,获取数据``* ? ? B:获取两个数据的较大值,用if语句的格式2就可以实现判断``* ? ? C:把较大的结果输出即可``*``* 导包:``* ? ? A:手动导包``* ? ? B:点击鼠标自动生成``* ? ? C:快捷键``* ? ? ? ctrl+shift+o``*/``public class IfTest {``public static void main(String[] args) {``//创建键盘录入对象``Scanner sc = new Scanner(System.in);``//给出提示``System.out.println("请输入第一个整数:");``int a = sc.nextInt();``System.out.println("请输入第二个整数:");``int b = sc.nextInt();``//if格式2实现判断``/*``if(a > b) {``System.out.println("较大的值是:"+a);``}else {``System.out.println("较大的值是:"+b);``}``*/``//我们获取到较大的值未必是输出,可能还会进行其他的操作,所以我们要改进代码``//定义一个变量用于保存较大的值``int max;``if(a > b) {``max = a;``}else {``max = b;``}``//我可以做``//max += 10;``System.out.println("较大的值是:"+max);``}``}

复制代码

3.4 switch 语句的格式和执行流程概述

3.4.1 格式解释

3.4.1 格式解释:

switch(表达式) {``case 值1:``语句体1;``break;``case 值2:``语句体2;``break;``case 值3:``语句体3;``break;``...``default:``语句体n+1;``break;``}

复制代码

switch 表示这是 switch 语句

表达式的取值:?byte,short,int,char

JDK5 以后可以是枚举

JDK7 以后可以是 String

case 后面跟的是要和表达式进行比较的值

语句体部分可以是一条或多条语句

break 表示中断,结束的意思,可以结束 switch 语句

default 语句表示所有情况都不匹配的时候,就执行该处的内容,和 if 语句的 else 相似。

3.4.2 执行流程

首先计算出表达式的值

其次,和 case 依次比较,一旦有对应的值,就会执行相应的语句,在执行的过程中,遇到 break 就会结束。

最后,如果所有的 case 都和表达式的值不匹配,就会执行 default 语句体部分,然后程序结束掉。

3.5 switch 语句的练习

switch 语句的案例根据数字输出对应星期

import java.util.Scanner;``/*``* switch语句格式:``* ? ? switch(表达式) {``* ? ? ? case 值1:``* ? ? ? ? 语句体1;``* ? ? ? ? break;``* ? ? ? case 值2:``* ? ? ? ? 语句体2;``* ? ? ? ? break;``* ? ? ? case 值3:``* ? ? ? ? 语句体3;``* ? ? ? ? break;``* ? ? ? ...``* ? ? ? default:``* ? ? ? ? 语句体n+1;``* ? ? ? ? break;``* ? ? }``*``* 格式解释:``* ? ? 表达式:byte,short,int,char``* ? ? ? JDK5以后可以是枚举,JDK7以后可以是字符串``* ? ? case后面的值:是用来和表达式的值进行匹配的``* ? ? break:表示中断的意思``* ? ? default:所有的值都和表达式不匹配,就执行default对应的内容``*``* 执行流程:``* ? ? A:计算表达式的值``* ? ? B:拿着这个值依次和case后面的值进行比对,一旦有匹配的,就执行对应的语句,在执行的过程中,遇到break就结束。``* ? ? C:如果所有的case都不匹配,就执行语句体n+1``*``* 案例:``* ? ? 根据键盘录入的数据1-7,输出对应的星期一到星期日``*``* 快捷键:对代码进行格式化``* ? ? ctrl+shift+f``*/``public class SwitchDemo {``public static void main(String[] args) {``// 创建键盘录入数据``Scanner sc = new Scanner(System.in);``// 给出提示``System.out.println("请输入一个整数(1-7):");``int weekDay = sc.nextInt();``// 用switch语句实现判断``switch (weekDay) {``case 1:``System.out.println("星期一");``break;``case 2:``System.out.println("星期二");``break;``case 3:``System.out.println("星期三");``break;``case 4:``System.out.println("星期四");``break;``case 5:``System.out.println("星期五");``break;``case 6:``System.out.println("星期六");``break;``case 7:``System.out.println("星期日");``break;``default:``System.out.println("你输入的数据有误");``break;``}``}``}

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-04-24 09:34:21  更:2022-04-24 09:34:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 0:01:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码