首页 > 其他分享 >运算符&选择语句

运算符&选择语句

时间:2024-04-03 21:29:50浏览次数:19  
标签:语句 10 int System 运算符 选择 println

运算符

运算符和表达式概述

  • 运算符:对字面量或者变量进行操作的符号;
  • 表达式:用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式。 不同运算符连接的表达式体现的是不同类型的表达式。
    举例说明:
    int a = 10;
    int b = 20;
    int c = a + b;
    +      :是运算符,是算术运算符
    a + b:是表达式,由于+是算术运算符,所以这个表达式叫算术表达式

算术运算符 

算术运算符 

注意事项:

  1. / 和 % 的区别:两个数据做除法,/ 取结果的商,% 取结果的余数;
  2. 整数操作只能得到整数,要想得到小数,必须有浮点数参与运算。 

案例 

数值拆分 

需求:定义一个三位数,将其拆分为个位、十位、百位后,输出在控制台
举例:int number = 123;
在控制台输出结果:
                  个位是:3
                  十位是:2
                  百位是:1 
分析:
① 个位的计算:数值 % 10
     123 除以 10(商12,余数为3)
② 十位的计算:数值 / 10 % 10
    123 除以 10 (商12,余数为3,整数相除只能得到整数)
    12 除以 10 (商1,余数为2)
③ 百位的计算:数值 / 10 / 10 % 10
    123 / 10 / 10 % 10(123 / 10 得到12,12  / 10 得到1,1 % 10 得到 1)

/*
    案例: 数值拆分

        java中两个整数相除: 结果只取商
        java中两个整数取余: 结果只取余数
 */
public class Demo01 {
    public static void main(String[] args) {
        //定义变量
        int num = 123;

        //数值拆分
        int ge = num % 10; //123%10=12..3
        int shi = num / 10 % 10; //123/10=12%10=1..2
        int bai = num / 100 % 10; //123/100=1
        //int qian = num / 1000 % 10;

        //做后续操作 (打印结果)
        System.out.println("个位:" + ge);
        System.out.println("十位:" + shi);
        System.out.println("百位:" + bai);
    }
}

“+” 操作的三种情况:

  • 数字相加
  • 字符相加
  • 字符串相加 

数字相加 

隐式转换 

把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量
 

强制转换
  • 把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量
  • 格式:数据类型 变量名 = (目标数据类型)(数值或者变量) 

字符相加 

拿字符在计算机底层对应的数值来进行计算的

  • ‘A’    65    A-Z是连续的
  • ‘a’    97    a-z是连续的
  • ‘0’    48    0-9是连续的 

字符串相加 

当“+”操作中出现字符串时,这个“+”是字符串连接符,而不是算术运算

  • “zhongguo”+ 666 
  • 运行结果:zhongguo666

当连续进行“+”操作时,从左到右逐个执行

  • 1 + 9999 + “岁zhongguo” 
  • 运行结果:10000岁zhongguo

赋值运算符 

赋值运算符 

 注意事项:扩展的赋值运算符隐含了强制类型转换。

流程控制语句 

流程控制语句概述 

顺序结构 

 

顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执行。
 

选择结构 

 

 选择结构
  • if语句
  • switch语句 
 if 语句

根据判定的结果(真或假)决定执行某个分支的代码 

应用场景:无人驾驶汽车过马路 

  • 交通信号灯由红灯、绿灯、黄灯组成。红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示
  • 红灯停、绿灯行、黄灯亮了等一等 
if语句格式1 

 

if 语句格式2 

 

if 语句格式3 

 

案例 
交通信号灯 

需求:交通信号灯由红灯、绿灯、黄灯组成,请通过程序实现不同的信号灯给出不同的提示。 提示信息:红灯停、绿灯行、黄灯亮了等一等 

分析:
① 用哪种类型来表示信号灯的三种状态呢?
用int类型来表示信号灯的三种状态(1表示红灯,2表示绿灯,3表示黄灯)
② 用if语句的哪种格式来实现该需求呢?
一般来说:1种情况的判断用if格式1,2种情况的判断用if格式2,多种情况的判断用if格式3
③ if语句判断的表达式该怎么写呢?
int light = 1;
if(light == 1) {…}
==:是关系运算符,用来判断两个数据是否相等,如果相等,结果为true,否则为false 

实现步骤:
① 定义一个int类型的变量用来表示信号灯的状态(1表示红灯,2表示绿灯,3表示黄灯)
② 用if语句格式3进行多种情况的判断
③ 根据不同的情况给出不同的提示信息 

/*
    格式3:

    案例: 交通信号灯
 */
public class Demo02 {
    public static void main(String[] args) {
        int light = 1; //红灯
        //light = 2; //绿灯
        //light = 3; //黄灯
        //light = 4; //出现故障

        //根据light的值不同,打印不同结果
        if (light == 1) {
            System.out.println("红灯停");
        } else if (light == 2) {
            System.out.println("绿灯行");
        } else if (light == 3) {
            System.out.println("黄灯注意");
        } else if(light == 4){
            System.out.println("故障");
        }
    }
}
奇偶数 

需求:给定一个整数,请用程序实现判断该整数是奇数还是偶数,并在控制台输出该整数是奇数还是偶数 提示:偶数是能够被2整除的整数 

分析:
① 如何判断一个整数是奇数还是偶数?
整数对2进行取余,余数为0是偶数,否则为奇数
② 用if语句的哪种格式来实现该需求呢?
该整数要么是偶数,要么是奇数,2种情况,所以用if语句格式2 

实现步骤:
① 定义一个int类型的整数
② 用if语句格式2进行判断
③ 根据是否是偶数给出不同的提示信息 

/*
    需求: 使用程序,判断一个整数的奇偶数,打印结果

    if(条件){
        满足才会走这里;
    }

    if(条件){
        满足才会走这里;
    }else{
        不满足才会走这里;
    }

 */
public class Demo03 {
    public static void main(String[] args) {
        System.out.println("程序开始");
        //定义变量
        int num = 11;
        num = 12;
        //判断条件, 如果能被2整除, 代表是偶数, 反之则是奇数
        if(num % 2 == 0){
            System.out.println("偶数");
        } else {
            System.out.println("奇数");
        }
        System.out.println("程序结束");
    }
}
手机以旧换新 

需求:张三想买一台7988元的新手机,他的旧手机在二手市场能卖1500元,而手机专卖店推出以旧换新优惠,把他旧手机交给店家,新手机就能够打8折优惠。为了更省钱,要不要以旧换新?请通过程序告诉张三 

分析:
① 计算不使用以旧换新的花费
7988 - 1500
② 计算使用以旧换新的花费
7988 * 0.8
③ 用if语句的哪种格式来实现该需求呢?
if语句格式2 

实现步骤:
① 定义变量(money1)纪录不使用以旧换新的花费
② 定义变量(money2)纪录使用以旧换新的花费
③ 用if语句格式2进行判断 money1是否大于money2
④ 根据判断结果,给出相应的提示 

/*
    需求: 手机以旧换新
 */
public class Demo04 {
    public static void main(String[] args) {
        //1.计算以旧换新的价格
        double money2 = 7988 * 0.8;
        //2.计算不使用以旧换新的价格
        int money1 = 7988 - 1500;
        //3.使用if语句判断
        if(money2 < money1){
            //4.打印结果
            System.out.println("以旧换新");
        }else {
            System.out.println("不使用以旧换新");
        }
    }
}
 switch语句

格式说明:

  • 表达式:可以是byte类型,short类型,int类型,char类型
            JDK5之后可以是枚举类型,JDK7之后可以是String类型
  • case:后面跟的是要和表达式进行比较的值
  • break:表示中断,结束的意思。用来结束switch语句
  • default:所有值都不匹配的时候,执行该处内容。和if语句的else相似 

 

 

switch语句的注意事项:在switch语句中,如果case控制的语句体后面不写break,将出现穿透现象,在不判断下一个case值的情况下,向下运行,直到遇到break,或者整个switch语句结束。 

关系运算符 

 注意事项:
① 关系运算符的结果都是boolean类型,要么是true,要么是false
② 千万不要把“==”写成了“=”

逻辑运算符 

三元运算符 
  • 格式:关系表达式 ?表达式1 :表达式2;
  • 范例:a > b ? a : b; 

运算规则:
     首先计算关系表达式的值
     如果值为true,表达式1的值就是运算结果
     如果值为false,表达式2的值就是运算结果 

三元运算符和if语句格式2的区别 
  • 如果if语句控制的内容:是用变量纪录数据值,可以通过三元运算符改进
     
  • 如果if语句控制的内容是:是通过输出语句直接输出数据值,无法通过三元运算符改进
使用三元运算符完成,求三个整数的最大值 
/*
    需求:
        使用三元运算符完成, 求三个整数的最大值
    三元运算符学习目的:
        识别
 */
public class Demo06 {
    public static void main(String[] args) {
        //定义变量
        int a = 10, b = 20, c = 30;

        //先比较a和b, 获取较大值temp
        int temp = a > b ? a : b;

        //再比较temp和c, 获取最大值max
        int max = temp > c ? temp : c;

        //扩展: 一行求出max
        //int max = (a > b ? a : b) > c ? (a > b ? a : b) : c;

        //打印结果
        System.out.println("max:" + max);
    }
}
案例 
你是青年人吗? 

需求:给出你的年龄,通过程序判断你是否属于青年人? 提示:世界卫生组织,经过对全球人体素质和平均寿命进行测定,对年龄划分标准作出了新的规定:
 分析:
① 如何判断一个年龄是否属于青年人?
年龄要大于等于18,并且小于等于65
② 在Java中如何表示并且的关系呢?
age >=18 && age<=65
&&:是逻辑运算符,用来连接两个结果为boolean类型的表达式,都为true,结果为true,否则为false

实现步骤:
① 定义一个int类型的变量来表示你的年龄
② 用if语句格式2进行判断看你是否属于青年人
③ 根据是否是青年人给出不同的提示信息 

/*
    需求: 根据键盘录入的age, 判断这个人在哪一个范围
        [0-17] 未成年人
        [18-65] 青年人
        [66-79] 中年人
        [80-99] 老年人
        100+ 长寿老人

    键盘对象 Scanner
        1. 导包 import java.util.Scanner; //idea自动导包的,不需要写
        2. 创建对象 Scanner sc = new Scanner(System.in);
        3. 调用方法,接收数据 int num = sc.nextInt();
 */

import java.util.Scanner;

public class Demo05 {
    public static void main(String[] args) {
        //创建键盘对象
        Scanner sc = new Scanner(System.in);
        //控制提提示输入年龄
        System.out.println("请输入一个年龄:");
        int age = sc.nextInt();

        //由于有多个条件,选择if的格式3
        if (age <= 17 && age >= 0) {
            System.out.println("未成年人");
        } else if (age <= 65 && age >= 18) {
            System.out.println("青年人");
        } else if (age <= 79 && age >= 66) {
            System.out.println("中年人");
        } else if (age <= 99 && age >= 80) {
            System.out.println("老年人");
        } else if (age >= 100) {
            System.out.println("长寿老人");
        } else {
            System.out.println("你输入的年龄错误!");
        }
    }
}
循环结构 

循环结构 
  • for循环语句
  • while循环语句
  • do…while循环语句 
 for循环语句格式

 格式说明:

  • 初始化语句:这里可以是一条或者多条语句,这些语句用来完成初始化操作(int i=1)
  • 条件判断语句:这里使用一个结果值为boolean类型的表达式,这个表达式能决定是否执行循环体语句(i<=5)
  • 循环体语句:这里可以是任意语句,这些语句可能被多次执行
  • 条件控制语句:这里通常是使用一条语句来改变变量的值,从而达到控制循环是否继续向下执行的效果(i=i+1)

执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
        如果是false,循环结束
        如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续执行 

 

while循环语句格式 

执行流程:
①执行初始化语句
②执行条件判断语句,看其结果是true还是false
        如果是false,循环结束
        如果是true,继续执行
③执行循环体语句
④执行条件控制语句
⑤回到②继续执行 

 

do…while循环语句格式 

执行流程:
①执行初始化语句
② 执行循环体语句
③ 执行条件控制语句
④执行条件判断语句,看其结果是true还是false
        如果是false,循环结束
        如果是true,继续执行
⑤回到②继续执行 

 

三种循环语句的区别 

三种循环语句的区别 
  • for循环和while循环先判断条件是否成立,然后决定是否执行循环体(先判断后执行)
  • do...while循环先执行一次循环体,然后判断条件是否成立,是否继续执行循环体(先执行后判断) 
for和while的区别 
  • 条件控制语句所控制的自增变量,因为归属for循环的语法结构中,在for循环结束后,就不可以继续使用了
  • 条件控制语句所控制的自增变量,对于while循环来说不归属其语法结构中,在while循环结束后,还可以继续使用 
死循环格式 
  • for(;;){}
  • while(true) {}
  • do{}while(true); 

跳转控制语句 

跳转控制语句概述 

 

 Debug概述

Debug:是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。 

Debug操作流程 

Debug,又被称为断点调试,断点其实是一个标记,告诉我们从哪里开始查看。
①如何加断点:选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可
②如何运行加了断点的程序:在代码区域右键Debug执行
③看哪里:看Debugger窗口,看Console窗口
④点哪里:点(Step Over F8) 开始,点(Stop)结束
⑤如何删除断点:选择要删除的断点,单击鼠标左键即可 

标签:语句,10,int,System,运算符,选择,println
From: https://blog.csdn.net/m0_62355894/article/details/137277658

相关文章

  • 面试常问问题——关于常用sql查询语句
    1、select--第一种select*from表名称--第二种select列名称from表名称2、select DISTINCT 去重SELECTDISTINCT列名称FROM表名称3、where子句1--第一种2SELECT列名称FROM表名称WHERE列运算符值34--第二种5SELECT*FROM表名称WHER......
  • 查询SQL server数据库在后台执行过的语句
    查询SQLserver数据库在后台执行过的语句SELECTTOP30000total_worker_time/1000AS[总消耗CPU时间(ms)],execution_count[运行次数],qs.total_worker_time/qs.execution_count/1000AS[平均消耗CPU时间(ms)],last_execution_timeAS[最后一次执......
  • 跳槽能涨薪20%,为何原公司不愿加薪,反而选择招人替代?
    前言跳槽能涨薪20%,为何原公司不愿加薪,反而选择招人替代?导语:我想很多职场人都有过这样的困惑,为什么弃船后可以加薪20%,但原公司却不愿意给你这样的待遇,反而愿意再花20%的成本去招聘新人呢?本文将带你揭开职场背后的逻辑,了解这一现象的深层原因。I.换工作和加薪的真相首先,......
  • 选择哪些即时通讯产品,提高企业内部沟通与协作?
    随着移动互联网的飞速发展,即时通讯工具已经成为了企业内部沟通和协作的首选。无论是即时聊天、文件共享、在线会议、日程安排还是群组沟通,都能帮助企业提高工作效率和协同能力。本文将推荐一些国内较为常用的即时通讯产品,并以Slcak为例,介绍如何利用这些工具提高企业内部沟......
  • 跨境电商怎么选择代理IP,跨境电商怎么选择IP代理,跨境电商的看过来,避免被坑
    跨境电商在选择代理IP或IP代理时,确实需要谨慎,以避免遇到各种潜在问题。以下是一些关键的步骤和建议,帮助您在购买和使用代理IP时避免被坑:明确业务需求:首先,要清楚地了解自己的业务需求,比如是用于市场调研、数据分析、广告投放还是其他目的。根据业务需求,确定所需的IP类型(如......
  • Go_ if else语句 ,,循环,,switch,,数组
    if-else语句//if语法if定义变量;条件{}elseif条件{}else{}//输入分数,打印成绩等级packagemainimport"fmt"//iffuncmain(){ //1接收用户输入 varscoreint=0 fmt.Print("请输入分数:") fmt.Scan(&score) showLevel(score)......
  • 大学生选择工业机器人有何前景?
    工业机器人领域在现代制造业中扮演着重要角色,因此选择工业机器人作为职业发展方向具有广阔的前景。对于大学生而言,选择进入工业机器人行业可能带来以下几个方面的前景:1.就业机会:随着自动化和智能制造技术的不断发展,大学生选择工业机器人专业,可以获得更多的就业机会。2.薪资......
  • Android文件管理器选择文件,获得文件路径URI转File
     前情描述:使用系统文件管理器,选择指定文件类型上传。基础知识MIME调起文件管理器指定浏览位置(路径转URI)设置多种文件类型URI转路径1.MIMEMIME(MultipurposeInternetMailExtensions)是描述消息内容类型的因特网标准。finalStringDOC="application/mswo......
  • 为Python应用选择最好的Docker镜像 转载
    在使用Python的早些年,为了解决Python包的隔离与管理virtualenvwrapper就成为我的工具箱中重要的一员。后来,随着Python3的普及,virtualenvwrapper逐渐被venv所替换。毕竟venv是Python3的标配,优点是显而易见的。而这几年,应用场景的的复杂性越来与高,无论是开发还是部......
  • 【算法】冒泡排序、简单选择排序、基数排序、插入排序、希尔排序
    冒泡排序冒泡排序的核心思想是两两进行对比交换。从索引i=0开始,索引i所对应的值与索引i+1所对应的值进行对比交换。不断进行以上操作,每一轮都会让至少一个数变得符合顺序。packagecom.test;importjava.util.Arrays;publicclassBubbleSort{ publicstaticvoi......