韩顺平0基础学Java——第5天

news2024/11/25 18:40:36

p72——p86

今天同学跟我说别学java,真的吗?唉,先把这视频干完吧。

逻辑运算符练习

x=6,y=6                                x=6,y=5

x=11,y=6                                x=11,y=5

z=48 错了,是50,注意y=true是赋值!!它是真的,这一行下去后z=48,下一句又是真的,然后就是50了!!被套路了。

解释(gpt说的):

在许多编程语言中,赋值操作符(=)用于将某个值赋给变量。在条件语句中,我们通常使用比较操作符(例如==)来检查变量的值是否等于某个特定的值。

因此,当你写 if(x=false) 时,它实际上是将x赋值为false,然后判断赋值操作的结果,而不是判断x的值是否为false。因为赋值操作成功并且返回被赋的值(在这里是false),所以整个条件表达式的结果是假。

而当你写 if(x=true) 时,实际上是将x赋值为true,然后判断赋值操作的结果。因为赋值操作成功并且返回被赋的值(在这里是true),所以整个条件表达式的结果是真。

这种情况通常是不推荐的,因为它可能导致混淆。应该使用比较操作符(例如==)来检查变量的值是否等于某个特定的值,而不是使用赋值操作符(=)。

赋值运算符

复合赋值运算符会进行类型转换。例:

byte b = 2;

b += 2;//这里b=b+2,应该是个int,但是赋值给作为byte的b是编译不过去的。所以实际上,b+=2等价于b=(byte)(b+2);所以在b++时底层也有个类型转换b=(byte)(b+1)

三元运算符

条件表达式?表达式1:表达式2;

细节:表达式1和表达式2要为可以赋值给接受变量的类型(或可以自动转换)

这样不行

但是改成 int c = a > b ? (int)1.1 : (int)3.4;可以

三元运算符可以改成if—else语句。

实例:实现三个数的最大值

public class zuidazhi{
    public static void main(String[] args){
        int a,b,c;
        int max = a > b? (a > c? a:c):(b>c? b:c);
}}

老师:

原理:

在第二行里把max1替换成前面的表达式。

运算符的优先级

大致印象

1.()、{}等

2.单目运算++ --

3.算术运算

4.位移运算

5.比较运算

6.逻辑运算

7.三元运算

8.赋值运算

标识符的命名规则和规范

规则:必须遵守

规范:这样做更专业

1.凡是可以自己取名的地方都叫标识符

2.规则:由大小写英文字母和数字、_、$组成,数字不能开头。

                不能使用关键字和保留字,但是可以包含关键字和保留字。ps:保留字是现有java版本尚未使用,但以后版本可能会作为关键字使用。

                严格区分大小写,长度无限制

                标识符不能含空格

3.规范:包名:多单词组成时所有字母都小写

                类名、接口名:多单词组成时,所有单词首字母大写XxxYyyZzz(大驼峰)

                变量名、方法名:多单词组成时,第一个单词首字母小写,第二个单词开始首字母大写,如xxxYyyZzz(小驼峰)

                常量名:所有字母都大写,多单词用下划线连接XXX_YYY_ZZZ

键盘输入

Input.java,需要一个扫描器(对象),就是Scanner(是个类)

步骤:

1导入该类所在的包,java.util.*

2创建该类对象(声明变量)

3调用里面的功能

案例:可以从控制台接收用户信息,【姓名,年龄,分数】

import java.util.Scanner;//导入包和类
public class Input{
    public static void main(String[] args){
        //创建一个对象
        Scanner myScanner = new Scanner(System.in);
        //读取键盘输入
        System.out.println("name?");
        String name = myScanner.next();//读字符串
        System.out.println("age?");
        int age = myScanner.nextInt();//读整数
        System.out.println("score?");
        double score = myScanner.nextDouble();//读浮点
        System.out.println("name:"+name+"age:"+age+"score:"+score);
}}
        

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

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

相关文章

深度学习实战76-基于目标检测YOLOv5模型的迁移学习使用方法,YOLOv5的原理与结构

大家好,我是微学AI,今天给大家介绍一下深度学习实战76-基于目标检测YOLOv5模型的迁移学习使用方法,YOLOv5的原理与结构。YOLOv5(You Only Look Once version 5)是一种先进的目标检测算法,基于深度学习的单阶段目标检测模型。它的主要原理是通过一次前向传播就同时预测图像…

关于vs2019 c++ STL 中容器的迭代器的 -> 运算符的使用,以 list 双向链表为例

(1)如下的结构体 A ,若有指针 p new A() ;则可以使用 p->m , p->n 解引用运算符。 struct A { int m ; int n; } 对于 STL 中提供的迭代器,提供了类似于指针的功能。对迭代器也可以使用 -> 运算…

解析Linux键盘组合键产生信号的完整过程:从硬件中断到信号发送

前言 每一个了解Linux的都知道这样一个知识,CtrlC组合键能够终止一个进程。 个人了解进程相关知识之后知道,一个进程被终止只会有有三种情况: 代码运行完毕,结果正确代码运行完毕,结果不正确代码运行异常&#xff…

alpine安装中文字体

背景 最近在alpine容器中需要用到中文字体处理视频,不想从本地拷贝字体文件, 所以找到了一个中文的字体包font-droid-nonlatin,在此记录下。 安装 apk add font-droid-nonlatin安装好后会出现在目录下/usr/share/fonts/droid-nonlatin/ 这…

【6D位姿估计】GDR-Net 单目几何引导的直接回归模型

前沿 本文介绍6D位姿估计的直接回归方法GDR-Net,它从单个RGB图像中确定物体在三维空间中的位置和方向。 它是一个端到端模型,与传统的间接方法不同,GDR-Net可以通过反向传播完全训练,简化了训练过程。 论文地址:GDR…

HCIP的学习(13)

第五章,重发布和路由策略 重发布 ​ 在路由协议的边界设备上,将某一种路由协议的路由信息引入到另一种路由协议中,这个操作被称为路由引入或者路由重分发。----技术本质为重发布。 条件 必须存在ASBR设备(路由边界设备&#x…

暗区突围进不去/游戏无法启动/掉帧卡顿/报错的解决方法

暗区突围是一款高拟真硬核射击手游,打造了全新的沉浸式暗区战局体验,发行商是腾讯公司。这个游戏名词虽然看起来有些陌生,但其本身的玩法内核毫无疑问的是,这款游戏在画面质量和枪械操作方面,都是手游市场上同类游戏中…

《构建高效的财务管理系统:设计与实现》

在当今数字化时代,企业财务管理系统的设计与实现至关重要。一个高效的财务管理系统不仅能够提高企业的运营效率,还能够增强企业的竞争力,为企业的发展提供有力支持。本文将探讨财务管理系统的设计与实现,为企业打造一套符合自身需…

Raft共识算法图二解释

下面是有关Raft协议中不同术语和概念的翻译及解释: 术语和概念: 任期号(term number):用来区分不同的leader。前一个日志槽位的信息(prelogIndex):这是前一个日志条目的索引&#…

【容器】k8s获取的节点oom事件并输出到node事件

在debug k8s node不可用过程中,有可能会看到: System OOM encountered, victim process: xx为了搞清楚oom事件是什么,以及如何产生的,我们做了一定探索,并输出了下面的信息。(本文关注oom事件是如何生成&传输的&a…

LeetCode-1463. 摘樱桃 II【数组 动态规划 矩阵】

LeetCode-1463. 摘樱桃 II【数组 动态规划 矩阵】 题目描述:解题思路一:动态规划一般有自顶向下和自底向上两种编写方式,其中自顶向下也被称为「记忆化搜索」。解题思路二:0解题思路三:0 题目描述: 给你一…

HBase 读写流程

HBase 读写流程 1. 读流程 Client先访问zookeeper,从zookeeper获取meta region的位置从meta region中读取meta表中的数据,meta中存储了用户表的region信息;根据namespace、表名和rowkey在meta表中找到对应的region信息;找到这个r…

深入剖析Spring框架:推断构造方法与@Bean注解的内部机制

你好,我是柳岸花开。 Spring框架作为Java开发中广泛使用的基础架构,其设计精巧、功能强大,尤其是其依赖注入(DI)和控制反转(IoC)特性,极大地提高了代码的可维护性和可测试性。本文将…

9. Django Admin后台系统

9. Admin后台系统 Admin后台系统也称为网站后台管理系统, 主要对网站的信息进行管理, 如文字, 图片, 影音和其他日常使用的文件的发布, 更新, 删除等操作, 也包括功能信息的统计和管理, 如用户信息, 订单信息和访客信息等. 简单来说, 它是对网站数据库和文件进行快速操作和管…

SpringBoot项目部署到阿里云服务器

部署步骤 步骤分以下: 将SpringBoot项目打包Linux上准备好Java环境、可用的MySql数据库项目上传到服务器启动项目停止项目 1.SpringBoot项目打包 数据库的链接,账户和密码需要和Linux上一致。 如上图打包即可。 2.Linux上准备好Java环境以及Mysql环境…

【数据结构】二叉树知识点详解

树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、…

【busybox记录】【shell指令】expand

目录 内容来源: 【GUN】【expand】指令介绍 【busybox】【expand】指令介绍 【linux】【expand】指令介绍 使用示例: 把制表符转化为空格 - 默认输出 把制表符转化为空格 - 修改制表符转空格的个数 把制表符转化为空格 - 修改制表符转空格的个数…

git bash各分支修改内容不同但合并后不显示冲突问题

在跟着廖雪峰老师的git学习时,按部就班的执行明后,发现 而不是出现原文的结果 解决方法: 切换位feature分支,再合并 git switch feature1 git merge master 此时我们发现: 后面再跟着原文敲就可以了

CSS学习笔记之基础教程(二)

上节内容CSS学习笔记之基础教程&#xff08;一&#xff09; 6、边距 6.1 外边距&#xff1a;margin 6.1.1 外边距 marginmargin-topmargin-leftmargin-bottommargin-right <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8…

python-scrapy框架示例

参考&#xff1a;https://blog.csdn.net/qq_44907926/article/details/119531324 创建项目步骤&#xff1a; 1.目标网站:www.itcast.cn 2.安装虚拟环境 pip install virtualenv3.创建虚拟环境 virtualenv --always-copy --system-site-packages venv4.激活虚拟环境 venv\sc…