我的Java学习之路(三)

从零开始用QP框架开发STM32:事件驱动编程实战指南(附状态机设计技巧) 本文详细介绍了如何使用QP框架在STM32上实现事件驱动编程,包括状态机设计技巧和嵌入式开发实践。通过对比传统前后台系统和RTOS,展示了QP框架在资源占用、实时性和代码可维护性方面的优势,并提供了从环境搭建到高级状态机设计的完整指南。 阅读详情

Java的进制转换


例子:
在这里插入图片描述

注意:在对变量赋值的时候,不管你是什么进制,打印出来都是十进制的值。

在计算机底层都以补码的方式来存储数据

在这里插入图片描述

注意:
    反码加+1,注意不是在每位上+1。
    当以二进制告诉你这个数的时候,认定为补码。

怎么根据给出的补码求数值的源码

在这里插入图片描述

进制间互相转换

在这里插入图片描述

十进制转二进制的方法

在这里插入图片描述

8进制和16进制转二进制

各个进制之间进行互转:由于8和16进制为2的整数次幂,所以每三位,四位进行计算,最后组合就可以了。
在这里插入图片描述

二进制转8进制和16进制

其实就是上述过程的逆过程。在Java中,可以查询API文档,查询进制转换的类。一般不用自己手写。
在这里插入图片描述

运算符

分类:算术运算符,赋值运算符,比较运算符(关系运算符),逻辑运算符,位运算符(开发中使用比较少),三元运算符

算术运算符

在这里插入图片描述
简单的算术运算符实践
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1、例子,要想的到小数,其中一个需要为浮点类型;
2、(前)++与(后)++在开发中常用到,自增的时候不会改变自身变量的数据类型。所以需要灵活应用;
3、(前)--与(后)--的用法与上述相同。

赋值运算符

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
推断练习:
在这里插入图片描述

逻辑运算符

在这里插入图片描述
在这里插入图片描述

只适用于布尔类型
a^b其实就可以看作是二进制加法,相同为false,相异为true。

实践:
在这里插入图片描述

| 和 ||的相同点和异同点和& 和&&类似。
根据理解就是,当我们知道符号左边的true 或者 false 能都决定这个逻辑最终的结果的时候,
我们就双 || 和 双 && 就不再执行右边的运算,单| 和单 &都会执行右边的运算。
(但是开发中,推荐使用短路||和短路&&,因为可以减少运算)

逻辑运算符练习题:
在这里插入图片描述

答案:

第一题:由于是后++,先执行等号运算,不等所以&为false,但是此时x变为2,&右边前++,所以相等,为true。所以不执行中括号中运算,最终结果为x=2,y=2。
第二题:&&右边为后++,为false,执行++之后x=2,最终逻辑为false,所以不看右边,y=1,最终结果为x=2,y=1。
第三题:由于是后++,|左边是true, x变为2,由于是|,左边为true,但是是单|,执行右边运算,y=2,且逻辑最终结果为true,所以最终结果为x=7,y=2。
第四题:||左边是true,x=2,但是根据左边就可以确定最终逻辑为true,所以不执行右边,y=1.最终结果为x=7.y=1.

位运算符

在这里插入图片描述


经典的面试题:最高效的方式计算2*8。就是利用位运算得到结果。

结论:1、位运算符操作的都是整型的数据;
2、<<:在一定范围内,每向左移一位,相当于*2;
   >>:在一定范围内,每向右移一位,相当于/2;
3、如果右移的数是正数,补充的最高的几位就用0填充,如果右移是负数,补充的最高的几位就用1填充。(移了几位,就用几个0或1)

在这里插入图片描述
例子:
在这里插入图片描述

经典题目:
                                          交换两个变量的值:
方式一:定义一个临时变量;
Int temp=num1;
Num1=num2;num2=temp;
方式二:两变量相加再相减;
(不用定义临时变量,节省内存空间,但是有弊端,比如相加可能超出范围,对于非数值类型就不太好,只适用于数值)
方式三:使用位运算符,异或运算

比如:
在这里插入图片描述

三元运算符

在这里插入图片描述
练习:
在这里插入图片描述

注意,表达式1和表达式2没有说一定要一个类型,但是必须是一个大类。比如,表达式1可以为int型,表达式2为double型,但是两个都要为数值。

三元运算符的使用
1、结构: (条件表达式)?表达式1:表达式2;
2、说明: 
(1)条件表达式的结构为boolean类型;
(2)根据条件表达式的真或者假,决定执行表达式1 或者 表达式2
(3)真,执行1 ;假,执行2.
(4)三元运算符可以嵌套使用
 (5) 凡是可以使用三元运算符的地方,都可以改写为if-else,反之,不成立
(6)如果程序既可以使用三元运算,又可以使用if-else,优先使用三元运算符,原因:简洁,执行效率高

运算符优先级

在这里插入图片描述

lidar360 V8.0 & lidar360MLS V8.0雷达点云数据处理软件 机载林业 — 基于机载激光雷达点云数据提取一系列森林结构参数(如:高度分位数、叶面积指数、郁闭度等),分割单木并提取单木参数(包括树的位置、树高、胸径、枝下高、冠幅等属性),利用软件的多种回归分析功能可以结合地面调查数据反演森林生物量、蓄积量等功能参数。还可以生成等高线、山体阴影、坡度、坡向、粗糙度等多种产品。分类 — LiDAR360提供多种分类功能,包括地面点分类、模型关键点分类、选择区域地面点分类、机器学习模型分类(可高效地分离建筑、植被、路灯等通用类别)、深度学习模型分类、自定义深度学习分类等。 阅读详情

相关推荐

开源大模型“去审查化”技术解析:从LLaMA架构到本地部署与伦理边界

大型语言模型(LLM)基于Transformer架构,通过海量数据训练获得理解和生成自然语言的能力。其核心原理在于自注意力机制对上下文关系的建模。为了确保输出内容的安全与合规,主流模型普遍采用基于人类反馈的强化学习(RLHF)等技术进行安全对齐。这一过程旨在使模型行为符合人类价值观,是AI伦理工程实践的关键环节。然而,在特定研究场景下,如对抗性测试或内容安全算法研究,技术人员需要模拟极端对话以评估系统鲁棒性,这催生了针对“去对齐”或“移除护栏”的技术探索。此类技术通常通过对预训练模型进行反向微调或继续训练来

weixin_33743880的博客 588

Java笔记——java三大平台介绍,选择哪个平台学习java编程?_java开发平台

全称为JAVA Standard Edition(也曾简称为J2SE)JAVA标准版或JAVA标准平台,是JAVA技术的核心和基础,同时也是JAVA ME和JAVA EE的基础。全称JAVA Micro Edition(也曾称J2ME)JAVA微型版或JAVA小型平台,与JAVA EE主要构建企业级应用相反,JAVA ME是一种很小的JAVA运行环境,它主要是应用在嵌入式的产品中,如移动电话,掌上电脑、电视机机顶盒等,使得编译好的JAVA程序能够在上面执行,目前该平台官网最新版本为JAVA ME8。

a25847a的博客 1436

深入理解HanLP1.x,填平可能遇到的坑

提取指定数量的摘要。自定义词典为什么要单独领出来讲呢?因为在我们的业务开发中,可能分词的效果并不理想,需要定制自己的词库,索引更加常用。例如:小米su7特斯拉modelY比亚042025款6575767670908我们需要分出小米su72025款等词。我们分别看看用字典和不用字典的效果。

static_coder的博客 977

java三大平台介绍,选择哪个平台学习java编程?

全称为JAVA Standard Edition(也曾简称为J2SE)JAVA标准版或JAVA标准平台,是JAVA技术的核心和基础,同时也是JAVA ME和JAVA EE的基础。它提供了标准的JAVA开发工具包(JDK),通过它能够实现桌面应用程序、低端服务器和JAVA Applet程序等功能的开发,目前该平台官方已经更新到JDK17版本。作为过来人,小编是整理了很多进阶架构视频资料、面试文档以及PDF的学习资料,针对上面一套系统大纲小编也有对应的相关进阶架构视频资料。

2301_76278775的博客 736

GD32H7实战:5步搞定YOLO轻量化模型部署到MCU(附避坑指南)

本文详细介绍了如何将YOLO轻量化模型部署到GD32H7 MCU的完整实战流程。通过五个关键步骤,涵盖环境搭建、模型训练、格式转换到工程集成,并重点分享了使用GD32AI-ModelZoo工具链进行MCU部署的避坑指南,帮助开发者在资源受限的边缘设备上实现高效目标检测。

weixin_29070861的博客 445

从7V到28V宽压输入,手把手教你设计一个5V/3A的DCDC电源模块(附MPS1584选型与原理图避坑)

本文详细解析了基于MPS1584芯片的7V至28V宽压输入到5V/3A输出的DCDC电源模块设计全流程。从电源架构选择、原理图设计要点到实际调试经验,涵盖了输入保护电路、功率转换核心电路及系统级优化测试,帮助工程师规避常见设计陷阱,实现高效稳定的电源解决方案。

weixin_33712987的博客 499

Javaweb开发学习路线及Java三大框架分享

Java web开发是什么?Java web开发,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力。Java web 开发Java web开发学习路线一:入门...

qq_41212104的博客 1281

华为面试手撕真题【判断是ipv4还是ipv6地址】

编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址。

MISAYAONE的博客 1万+

java web开发结构图_JavaWeb开发学习路线及Java三大框架分享

​Java web开发是什么?Java web开发,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力。Java web 开发Java web开发学习路线一:入...

weixin_39611070的博客 246

CUDA&PCL 点云体素下采样

CUDA&PCL 点云体素下采样

dayuhaitang1的博客 1268

基于STM32设计的遥控小车(手机APP+GPS+温湿度+ESP8266)

一、环境介绍 小车主控MCU: STM32F103ZET6 STM32程序开发IDE: keil5 STM32程序风格: 采用寄存器方式开发,注释齐全,执行效率高,方便移植 手机APP: 采用QT设计,程序支持跨平台编译运行(Android、IOS、Windows、Linux都可以编译运行,对应平台上QT的环境搭建,之前博客已经发了文章讲解) 硬件包含: 淘宝购买的完整一套4轮遥控小车(采用STM32F103ZET6作为主控板)、DHT11温湿度传感器、中科微GPS模块、ESP8266 ...

6万+

java web学习路线_Javaweb开发学习路线及Java三大框架分享

Java web开发是什么?Java web开发,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力。Java web 开发Java web开发学习路线一:入门...

weixin_39899776的博客 411

Oracle EBS的帐套由“4C”构成,而华为MetaERP将其发展为“6C”

华为MetaERP从OracleEBS的"4C"架构升级为"6C",实现核算理念革新。核心突破在于将会计科目、核算维度和核算单元解耦,形成"科目表+维度库"的灵活架构。新架构优势显著:1)科目回归会计本质,管理维度独立扩展;2)支持无限维度的精细化核算;3)实现数据权限隔离和内部交易自动化;4)采用元数据驱动设计,为AI应用奠定基础。这一平台化架构解决了大型企业在全球化、多元化发展中的核算难题,相比传统架构具有更强的灵活性和扩展性。

金牌架构师 204

JAVA三大框架入门(学习)

一、基本概念 了解框架的定位可以帮助我们更好的找到学习的切入点 1.Spring 依赖注入(DI)又称为控制反转(IOC),通常来说,当某个角色需要另一个角色才能正常运行时,通常是由调用者来创建被调用者的实例。但在Spring框架中,创建被调用者的任务交给了Spring框架。 面向切片编程(AOP)是面向对象编程(OOP)的延续,AOP中代码的编写顺序不再影响代码的执行顺序,目的是解耦业务代码和...

qq_36527349的博客 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

java web开发 学习路线_Javaweb开发学习路线及Java三大框架分享

Java web开发是什么?Java web开发,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。Java在客户端的应用有java applet,不过使用得很少,Java在服务器端的应用非常的丰富,比如Servlet,JSP和第三方框架等等。Java技术对Web领域的发展注入了强大的动力。Java web 开发Java web开发学习路线一:入门...

weixin_35895753的博客 404

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java新手如何学习Spring、Struts、Hibernate三大框架?

来自于知乎的一篇不错的回答 Java新手如何学习Spring、Struts、Hibernate三大框架? https://www.zhihu.com/question/21142149

fengxinziyangyang的专栏 1748

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Java学习(三)

本文章将记录我学习Java的过程。提示:以下是本篇文章正文内容,下面案例可供参考集合一种引用数据类型,可以存储多个数据。数组与集合的区别;数组:1.空间长度不可以改变,2.没办法获得数组中真实的元素个数3.增,删除 操作复杂;4.不能去重;数组没有做功能的封装5.可以存储基本数据类型,也可以存储引用数据类型6.数组只能存储相同数据类型7.数组肯定有下标集合:1.空间长度可以改变2.可以获得真实的元素个数3.增删改查操作都很方便4.有去重功能,有排序功能;

m0_65139809的博客 1783

Java学习【阶段三[01】MySQL(06 多表关系)

qq_41915980的博客 166

Java学习(三)

Java学习(三) 文章目录Java学习(三)前言1.编写Java源程序2.编译和运行3.编译常见错误解决方法 前言 之前,我们已经部署好Java的环境了,今天,我们就来学习使用这个Java。 1.编写Java源程序 Java 源程序可以使用任何一个文本编辑器来编写,这里以 Windows 下的记事本为例。 (1) 新建一个空白记事本,然后如实地输入下列内容。 很多初学者可能不明白此程序的全部意义...

double_happy111的博客 1855

JAVA学习三

JAVA学习三 基本运算符 算术运算符 算术运算符:+,-,*,/,%(取余,也叫模运算),++(自增),--(自减) %(取余)例子: int a = 21; int b = 2; int c = a%b; System.out.println(c);// 21/2=2....1,所以输出结果为1 ++(自增)例子: int a = 1; System.out.println(a);//输出结果为:1 int b = a++;//先赋值后自增 System.out.println(a)

qq_58088705的博客 298

java学习之路个人总结三

1、异常的相关处理在java中,一般用try......catch......来捕捉异常:try...catch...finallythrows  表示当前方法不做异常处理,而是让方法调用去处理异常throw    表示直接抛出一个异常例:public class Demo2 { public static void testFinally(){ String str="123a"; ...

dzx738的博客 1691

Java学习【阶段三[02】JDBC(02 DCL管理用户)

qq_41915980的博客 193

Java学习每日总结三

大学自学Java(三) 学习的第三天,会分享学习中有意思值得深挖的部分或难点 String类 字符串不能变:字符串的值在创建后不能被更改,只能改变字符串名称指向的地址。 String s1 = "abc"; s1 += "d"; System.out.println(s1); // 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd" 因为S...

qq_46042081的博客 341

学习记录—— java 三个数排序

题目 输入三个数,按大小顺序输出。利用指针方法 啥是指针方法? 指针方法的本质是按地址传值,将a,b,c存入数组中,再引用数组中的值排列大小,即利用指针的方法排序 以下 import java.util.Scanner; public class Problem34 { static void bubbleSort(char[] x){ int n = x.length; int flag; char temp; int i,

Yakiniku菜鸡上路 457

java学习三层面

java学习三层面 文章目录java学习三层面1.基本语法1.1变量1.2运算符1.3流程控制1.4数组2面向对象3高级应用3.1多线程3.2集合3.3IO流3.4网络编程3.5反射3.6NIO3.6NIO 1.基本语法 1.1变量 java语言支持的变量类型有: 类变量:独立于方法之外的变量,用static修饰 实例变量:独立于方法之外的变量,不过没有static修饰 局部变量:类的方法中的变量 1.2运算符 计算机的最基本用途之一就是执行算数运算,作为一门计算机语言,java也提供了一套丰富的运算符

qq_42926722的博客 140

Java编程学习三

记录一些学习的笔记和汇总、Math类、Random类、数组、方法、面向对象、封装、继承、构造方法、方法重载、方法重写、关键字等等

weixin_64574904的博客 530
上一篇: 我的Java学习之路(二)
下一篇: Latex编辑论文技巧
Smallcloudy
博客等级 码龄10年 53粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值