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

news2024/12/27 11:02:18

p87-p109

运算符(第四章)

四种进制

二进制用0b或0B开头

十进制略

八进制用0开头

十六进制0x或0X开头,其中的A—F不区分大小写

10转2:将这个数不断除以2,直到商为0,然后把每步得到的余数倒过来,就得到了二进制(8412法?)

二进制转八进制

从低位开始,将二进制的数每三位一组(为什么是三位?如果三个全1,那就是7,哇哦~~),转成8进制。

如:ob11010101转成八进制

ob11010101的101=5,010=2,11=3,那就是325

二进制转十六进制

类似前面的,每四位一组。例:ob11010101

0101=5,1101=13(D),那就是0xd5

八进制、十六进制转成二进制

八进制的每一位转成一个3位的二进制数,十六进制就是4位

例:0237

2=010,3=011,7=111

那就是0b010011111

类似的,16进制就是1个当4位二进制

位运算

常用的位运算

 >>        算术右移:低位溢出(扔掉),符号位不变,并用符号位补溢出的高位

<<        算术左移:低位溢出,符号位不变,并用符号位补溢出的高位

>>>        逻辑右移:也叫无符号右移,低位溢出,高位补0

特别说明没有<<<

~x           按位取反:字面意思

a&b          a按位与b:两位都是1,结果为1,否则为0

a|b             a按位或b:两位有一个是1,结果为1,否则为0

a^b           a按位异或b:一个是1,一个是0,结果为1,否则为0

原码、反码、补码(重点)

对于有符号的而言:

1.二进制的最高位是符号位,0是正数,1是负数

2.正数的原码、反码、补码都一样(三码合一

3.负数的反码=它的原码符号位不变,其他位取反

4.负数的补码=它的反码+1,负数的反码=负数的补码-1

5.0的反码补码都是0

6.java没有无符号数,换言之都是有符号的

7.在计算机运算的时候,都是以补码的方式来运算的

8.当我们看运算结果的时候,要看它的原码

练习(1)

第一步:换成补码

第二步:位运算

第三步:把补码换回原码,再换到10进制

第一题2&3

2的原码是 0000 0000        0000 0000        0000 0000        0000 0010 它是正数,三码合一,补码也是这个。

  3的原码是0000 0000        0000 0000        0000 0000        0000 0011 它是正数,三码合一,补码也是这个。

按位与后为0000 0000        0000 0000        0000 0000        0000 0010

恰好是个正数,三码合一,原码也是这个,换成10进制是2

第二题~-2

-2的原码是 1000 0000        0000 0000        0000 0000        0000 0010

-2的反码是 1111 1111        1111 1111        1111 1111        1111 1101

-2的补码就是1111 1111        1111 1111        1111 1111        1111 1110

按位取反后是0000 0000        0000 0000        0000 0000        0000 0001

是个正数,那它是1

第三题~2

2的原码0000 0000        0000 0000        0000 0000        0000 0010(补码也是这个)

按位取反后1111 1111        1111 1111        1111 1111        1111 1101是负数,那么它-1后是

1111 1111        1111 1111        1111 1111        1111 1100(反码)

原码:1000 0000        0000 0000         0000 0000        0000 0011

-3

第四题2|3

2的原码 0000 0000        0000 0000        0000 0000        0000 0010(也是补码)

3的原码0000 0000        0000 0000        0000 0000        0000 0011(也是补码)

按位或:0000 0000        0000 0000        0000 0000        0000 0011(正数,补码就是原码)

3

第五题2^3

2的原码0000 0000        0000 0000        0000 0000        0000 0010(也是补码)

3的原码0000 0000        0000 0000        0000 0000        0000 0011(也是补码)

按位异或:0000 0000        0000 0000        0000 0000        0000 0001(也是原码)

1

练习(2)

第一题 1>>2和1<<2

1>>2

000000 0000        0000 0000        0000 0000        0000 0001

本质就是1/2/2=0

1<<2

00 0000        0000 0000        0000 0000        0000 000100

本质是1*2*2=4

 本章作业

3 2 0    -2→-1.5的近似值,解释如下:

134

a        Integer.parseInt(“18”)

b        double num2 = 18.0

c        对,这个3d是指double类型

d        对

e        i+1是个int不能赋值给char,int4,char2

f        b+2是int不能给short

String s = “123123”;

char c = ‘a’;

double s = Double.parseDouble(s);//String转double

String c1 = c+“”;//char转String

有点忘记了,这天学的:韩顺平0基础学Java——第4天-CSDN博客

控制结构(第五章)

顺序控制

从上到下执行,中间没有判断和跳转,java中定义变量时采用合法的向前引用。

分支控制

单分支

if(条件表达式){

执行代码块;

}

学过了,浅敲一下

import java.util.Scanner
public class If01{
    public static void main(String[] args){
        Scanner myscanner = new Scanner(System.in);
        int age = myscanner.nextInt();
        if (age>18){
            System.out.println("your age is bigger than 18,you should be awared for your behavior,and go to the prison");
                    }
    }}

        

双分支

就是if-else

还不太习惯new一个对象,敲着玩玩吧...

import java.util.Scanner
public class IfElse{
    public static void main(String[] args){
        Scanner Myscanner = Scanner(System.in);
        int age = Myscanner.nextInt();
        if(age>18){
            System.out.println("you are more than 18");
            }
        else{
            System.out.println("no you are kid");
            }
}}
练习

韩顺平教育~

2.

import java.util.Scanner;
public class day5{
    public static void main(String[] args){
        Scanner myscanner = new Scanner(System.in);
        double x = myscanner.nextDouble();
        double y = myscanner.nextDouble();
        if(x>10.0&&y<20.0){
            System.out.println(x+y);
            }
    }
}

 3.判断3和5整除

import java.util.Scanner;
public class day5{
    public static void main(String[] args){
        Scanner myscanner = new Scanner(System.in);
        int x = myscanner.nextInt();
        int y = myscanner.nextInt();
        if(((x+y)%3==0)&&((x+y)%5==0)){
            System.out.println("can");
            }
        else{
        	System.out.println("no can");
        }
    }
}

4.判断闰年 

import java.util.Scanner;
public class day5{
    public static void main(String[] args){
        Scanner myscanner = new Scanner(System.in);
        System.out.println("give me the year~");
        int x = myscanner.nextInt();
        if(((x%4==0)&&(x%100!=0))||(x%400==0)){
        	System.out.println("it is run year~");
        }
        else{
        	System.out.println("it is not~");
        }

        
    }
}

好像这里不用打括号哈,优先级忘了所以多打了个括号

多分支

if-ifelse...-else

今天就到这里吧,吃会瓜~

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

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

相关文章

【大数据】分布式数据库HBase下载安装教程

目录 1.下载安装 2.配置 2.1.启动hadoop 2.2.单机模式 2.3.伪分布式集群 1.下载安装 HBase和Hadoop之间有版本对应关系&#xff0c;之前用的hadoop是3.1.3&#xff0c;选择的HBase的版本是2.2.X。 下载地址&#xff1a; Index of /dist/hbase 配置环境变量&#xff1a…

虹科Pico汽车示波器 | 免拆诊断案例 | 2010款凯迪拉克SRX车发动机无法起动

故障现象 一辆2010款凯迪拉克SRX车&#xff0c;搭载LF1发动机&#xff0c;累计行驶里程约为14.3万km。该车因正时链条断裂导致气门顶弯&#xff0c;大修发动机后试车&#xff0c;起动机运转有力&#xff0c;但发动机没有着机迹象&#xff1b;多起动几次&#xff0c;火花塞会变…

《铁路出行更便捷:火车票预定审批系统的设计与应用》

在现代化的铁路交通管理中&#xff0c;火车票预定审批系统扮演着至关重要的角色。它不仅能够有效管理员工出差、培训等需要乘坐火车的行程&#xff0c;还能够提高审批效率&#xff0c;减少人力成本&#xff0c;确保出行安全。本文将探讨火车票预定审批系统的设计原则和应用场景…

如何使用Python下载哔哩哔哩(Bilibili)视频字幕

在本文中&#xff0c;我将向大家展示如何使用Python下载哔哩哔哩&#xff08;Bilibili&#xff09;视频的字幕。通过这个方法&#xff0c;你可以轻松地获取你喜欢的视频的字幕文件&#xff0c;方便学习和交流。 准备工作 在开始之前&#xff0c;我们需要安装一些必要的库&…

idea配置hive

idea配置hive 今天才知道&#xff0c;idea居然可以配置hive&#xff0c;步骤如下: view -> Tool Windows -> Database Database出来了之后&#xff0c;直接配置即可

Python爬虫获取豆瓣电影Top100

大家好&#xff0c;我是秋意零。 今天分析一篇&#xff0c;Python爬虫获取豆瓣电影Top100。 在此之前&#xff0c;我没有学习过爬虫&#xff0c;只有一丢丢的Python基础。下面效果的实现源码几乎没经过我&#xff0c;而是AI百老师。我主要负责了对应的调试以及根据我想要的功…

Spring Cloud Kubernetes 本地开发环境调试

一、Spring Cloud Kubernetes 本地开发环境调试 上面文章使用 Spring Cloud Kubernetes 在 k8s 环境中实现了服务注册发现、服务动态配置&#xff0c;但是需要放在 k8s 环境中才能正常使用&#xff0c;在本地开发环境中可能没有 k8s 环境&#xff0c;如何本地开发调试呢&#…

Logfire-Python可观测平台快速上手

我最近在优化之前的FastAPI接入可观测性平台&#xff0c;正好分享一下Pydantic团队推出的logfire&#xff0c;希望对大家的Python工程化有帮助。 Github: https://github.com/pydantic/logfire 官网链接: Pydantic Logfire Documentation Logfire是Pydantic团队推出的可观测…

免费思维13招之三:赠品型思维

免费思维13招之三:赠品型思维 这节来学习一下免费模式中的三个子思维——赠品型思维、主副型思维和分级型思维。这三个思维有一个共同的名字又叫——产品型思维。 什么是产品型思维?顾名思义,就是在产品上的商业思维。也就是说,通过某一产品的免费来吸引客户,而后进行其…

node.js对数据库mysql的连接与操作(增、删、改、查、五种SQL语法)

前提&#xff1a;先在vscode终端下载安装mysql&#xff1a;npm install mysql -save 步骤总结&#xff1a; (1)建立与数据库的连接 (2)做出请求&#xff1a; 实际上就是操作mysql里的数据。增删改查 insert、delete、updata、select (3)通过回调函数获取结果 一、什么是SQ…

嵌入式Linux的QT项目CMake工程模板分享及使用指南

在嵌入式linux开发板上跑QT应用&#xff0c;不同于PC上的开发过程。最大的区别就是需要交叉编译&#xff0c;才能在板子上运行。 这里总结下嵌入式linux环境下使用CMake&#xff0c;嵌入式QT的CMake工程模板配置及如何使用&#xff0c;分享给有需要的小伙伴&#xff0c;有用到的…

多角度解析动态住宅IP的多元化应用

动态住宅IP指的是在住宅网络中使用的、能够随时间或用户需求配置的IP地址&#xff0c;能够根据网络状况自动调整&#xff0c;为用户提供更加灵活、高效的上网体验。这种IP地址不是固定不变的&#xff0c;而是会定期自动更换&#xff0c;这种IP地址也让使用者的安全得以保障。 作…

从0开始学习python(六)

目录 前言 1、循环结构 1.1 遍历循环结构for 1.2 无限循环结构while 总结 前言 上一篇文章我们讲到了python的顺序结构和分支结构。这一章继续往下讲。 1、循环结构 在python中&#xff0c;循环结构分为两类&#xff0c;一类是遍历循环结构for&#xff0c;一类是无限循环结…

docker 部署etcd集群

docker 部署etcd集群 往期内容 ETCD 简介 前言 上期我们对于分布式kv存储中间件有了简单的认识&#xff0c;本期简单介绍docker-compose 部署etcd集群以及可视化工具 etcd Keeper 1-etcd docker 部署 看了很多网上部署的教程&#xff0c;要么超级简陋&#xff0c;要么搞一堆…

常见C语言基础说明二:位运算问题

一. 简介 前面一篇文章学习了 常见的 C语言基础题&#xff0c;文章如下&#xff1a; 常见C语言基础题说明一-CSDN博客 本文继续上一篇C语言基础题的学习。 二. C语言中 -> 位运算问题 1. 数据在计算机中的存储方式 当前的计算机系统使用的基本上是二进制系统&#…

设计模式之服务定位器模式

想象一下&#xff0c;你的Java应用是一座庞大的迷宫&#xff0c;里面藏着无数宝贵的服务宝藏&#xff0c;而你正需要一张精确的藏宝图来指引方向&#xff0c;迅速找到并利用这些宝藏。服务定位器模式&#xff0c;正是这样一张神奇的地图&#xff0c;它帮你动态定位并获取应用中…

前置知识储备

基本认知 什么是模式 在一定环境中解决一些问题的方案&#xff08;通俗来说&#xff1a;特定环境中用固定的套路解决问题&#xff09; 什么是设计模式 设计模式是一套反复被人使用&#xff0c;多数人知晓的&#xff0c;经过分类编目的代码设计经验的总结 设计模式最终的目…

[windows系统安装/重装系统][step-1]U盘启动盘制作,微软官方纯净系统镜像下载

前言 U盘至少8GB吧我这刚好有个空闲的U盘8GB容量&#xff0c;制作启动盘且放入一个最新win10官方镜像足够 不是天天装系统&#xff0c;至少USB2.0 (我用的2.0的一个闲置U盘)即可&#xff0c;当然平时传资料什么的3.0会快些 U盘启动盘仅需要制作一次&#xff0c; U盘启动盘制…

[Linux][网络][TCP][五][延迟应答][捎带应答][面向字节流][TCP粘包问题][TCP的异常情况]详细讲解

目录 1.延迟应答2.捎带应答3.面向字节流4.TCP粘包问题1.什么是粘包&#xff1f;2.如何解决粘包问题&#xff1f;3.UDP是否存在粘包问题&#xff1f; 5.TCP的异常情况1.进程终止2.机器重启3.机器掉电/网线断开 6.TCP小结7.TCP/UDP对比8.理解listen的第二个参数0.铺垫1.理解 1.延…

标准引领 | 竹云参编《面向云计算的零信任体系》行业标准正式发布!

近日&#xff0c;中华人民共和国工业和信息化部公告2024年第4号文件正式发布行业标准&#xff1a;YD/T 4598.1-2024《面向云计算的零信任体系 第1部分&#xff1a;总体架构》&#xff08;后简称“总体架构”&#xff09;&#xff0c;并于2024年7月1日起正式实施。 该标准汇集大…