Java 语言基础

从FOC到你的无人机:深入浅出讲透Clark/Park变换在无刷电机控制中的核心作用 本文深入解析Clark变换与Park变换在无刷电机控制中的核心作用,揭示其如何将三相交流电转换为旋转坐标系下的直流量,实现无人机电机的高效精准控制。通过STM32硬件加速和工程实践案例,展示这对数学变换如何成为FOC算法的神经中枢,大幅提升系统响应速度和能效表现。 阅读详情

语言基础

Java 官方参考地址

变量

在面向对象的编程概念中提到过,对象将其状态存储到字段中。

int cadence = 0;
int speed = 0;
int gear = 1;

变量(字段)命名规则和约定是什么?

有哪些数据类型?

是否必须初始化?

未显示初始化时是否分配了默认值?

Java 编程语言定义了以下类型的变量:

  • 实例变量(非静态字段): 从技术上讲,对象将其单个状态存储在“非静态字段”中,即声明没有 static 关键字修饰。非静态字段也称为实例变量,因为它们的值对于类的每个实例是唯一的;一辆自行车是独立于另一个自行车的;
  • 类变量(静态字段):类变量是使用 static 关键字修饰的字段;这告诉编译器无论该类实例化多少次,此变量确实存在一个副本。可以将特定类型自行车的齿轮数的字段标记为静态,因此从概念上将,相同数量的齿轮将应用于所有情况。静态代码 static int numBears = 6,将创建这样一个静态字段。另外,可以添加关键字 final,以指示档位数量永远不会改变;
  • 本地变量: 本地变量与对象在字段中存储其状态的方式类似,方法通常会将其临时状态存储在局部变量中。声明局部变量的语法类似于声明字段;
  • 参数:变量是方法的参数。参数总是被归类为变量而不是字段。

变量命名规范

  • 变量名称大小写敏感;
  • 以字母、美元符号、下划线开头;但是约定是始终以字母开头,且永远不会使用美元符号这样的特殊字符;
  • 变量名称可以是任何合法Unicode字母和数字的无线长度序列;
  • 使用完整的单词而不是模糊不清的缩写;
  • 变量名不能是关键字或保留字;
  • 一个单词时全部小写,多个单词时第一个单词全小写后续单词首字母大写;
  • 变量存储的是一个常量值时字母全部大写,并用下划线字符分隔后续单词。

操作符

下表中运算符优先级由高到低,同一行上的运算符具有相同优先级。所有二进制运算符均从左到右进行计算;从右到左计算赋值运算符。

OperatorsPrecedence
postfixexpr++ expr–
unary++expr --expr +expr -expr ~ !
multiplicative* / %
additive+ -
shift<< >> >>>
relational< > <= >= instanceof
equality== !=
bitwise AND&
bitwise exclusive OR^
bitwise inclusive OR|
logical AND&&
logical OR||
ternary? :
assignment= += -= *= /= %= &= ^= |= <<= >>= >>>=

表达式、语句和块

已经了解了变量和运算符,是时候了解表达式、语句和块了。运算符可以用于生成表达式,该表达式计算值;表达式是语句的核心组件;语句可以分组到块中。

表达式

表达式是由变量、运算符和方法调用组成的构造,这些构造时根据语言的语法构造的,其结果为单个值。例如:

int cadence = 0;
anArray[0] = 100;
System.out.println("Element 1 at index 0: " + anArray[0]);

int result = 1 + 2;
if (value1 == value2) {
    System.out.println("value1 == value2");
}

语句

语句大致等同于自然语言中的句子。语句构造完整的执行单元。通过分号终止表达式,可以将以下类型的表达式转换为语句。

  • 赋值表达式;
  • 任何使用 ++ 或 --;
  • 方法调用;
  • 对象创建表达式

此类语句成为表达式语句。例如:

// assignment statement
aValue = 8933.234;
// increment statement
aValue++;
// method invocation statement
System.out.println("Hello World!");
// object creation statement
Bicycle myBike = new Bicycle();

除了表达式语句之外,还有另外两种类型的语句:声明语句和流程控制语句

// declaration statement
double value = 3.14;

块

块是大括号中的一组零个或多个语句,可以在允许单个语句的任何位置使用。例如:

class BlockDemo {
    public static void main(String[] args) {
        boolean condition = true;
        if (condition) { // begin block 1
            System.out.println("Condition is true.")
        } // end block 1
        else { // begin block 2
            System.out.println("Condition is false.");
        } // end block 2
    }
}

控制流语句

if-then, if-then-else

switch

white, do-while

for

branching statements

【AI大模型应用开发】教你用AI轻松将你的知识库变为知识图谱(附完整代码,直接运行) 本文我们来介绍如何使用AI,将自己的知识库自动转换为知识图谱,并进行可视化展示。 阅读详情

相关推荐

注册“Oracle Provider for OLE DB”和创建链接服务器

注册“Oracle Provider for OLE DB”和创建链接服务器 在sql server 数据库上创建链接服务器,连接oracle数据库,访问接口需要设置为:“Oracle Provider for OLE DB”。 如果电脑上没有这个驱动,安装一个完整的Oracle11gR2程序是一个有效的方法,但这个64位版本的安装包有2个多G, 相当庞大,如果仅仅...

weixin_30760895的博客 2383

Java 虚拟机系列一:一文搞懂 JVM 架构和运行时数据区

前言 之前写博客一直比较随性,主题也很随意,就是想到什么写什么,对什么感兴趣就写什么。虽然写起来无拘无束,自在随意,但也带来了一些问题,每次写完一篇后就要去纠结下一篇到底写什么,看来选择太多也不是好事儿,更重要的是不成体系的内容对读者也不够友好。所以以后的博客尽量按系列来写,不过偶尔也会穿插其他的内容。接下来一段时间我会把写博客的重点放在 JVM (Java Virtual Machine) 和 ...

IamHYN的博客 1466

PLCopen运动控制避坑指南:单轴功能块常见报错排查(基于SM3_Basic函数库)

本文深入解析PLCopen运动控制中单轴功能块的常见报错问题,基于SM3_Basic函数库提供实用排查指南。从功能块逻辑错误与硬件报错的甄别技巧到高频报错场景的解决方案,帮助工程师快速定位并解决运动控制系统中的稳定性问题,提升工业自动化设备的运行效率。

weixin_33686714的博客 314

JAVA语言基础

fill:#333;color:#333;color:#333;fill:none;语言基础面向对象封装继承访问权限抽象类与接口super多态编译时多态运行时多态数据类型基本类型byte/1字节char/2字节short/2字节int/4字节float/4字节long/8字节double/8字节boolean/1位缓存池String不可变的好处String/StringBuffer和StringBuilderString.intern方法运算。

小小博客 888

SAP后台JOB保姆级教程:从SM36创建到SM37监控,手把手教你搞定ABAP程序定时任务

本文详细解析SAP后台JOB从创建到监控的全流程,重点介绍SM36创建和SM37监控的操作步骤与最佳实践。通过真实案例演示如何配置定时任务、处理常见故障及实施企业级管理策略,帮助ABAP开发者高效管理后台程序执行。

weixin_30838873的博客 430

Graybox Overview

Graybox功能使能够在sub_module上执行扫描和ATPG操作,然后能够在更高层次的层次上执行扫描和ATPG操作时使用该子模块的简化的Graybox表示,从而简化了分层设计中的扫描插入和ATPG操作过程。由于子模块的graybox表示只包含极少量的互连电路(子模块与top的互连),在大型分层设计中使用graybox可以极大地减少执行扫描插入,优化计时,分析故障和创建测试pattern所需的memory和工具runtime。

weixin_44954910的博客 1080

Java语言基础思维导图

Java Java语言基础思维导图* 如有问题请大家留言,会加以改正,谢谢

Like 656

企业微信消息推送(一)接收消息服务器URL

企业微信限制过多,公司域名所有权检验不通过。采用接收消息服务器URL的方式。使用vscode,将UTF-8 BOM文本编码改为UTF-8。配置接收消息服务器URL。

Xiaoweidumpb 1万+

【一】Java语言基础思维导图

知识章节参考:【一】Java语言基础

奈何的人生 2340

S32K1XX Autosar开发实战|全网独家复现EB MCAL Port/Dio配置、详解引脚分层原理、实现经典跑马灯助力车载IO电控落地

在NXP S32K1XX系列车规MCU的AUTOSAR标准开发体系中,MCAL(微控制器抽象层)是软硬件解耦的核心载体,而Port端口模块与Dio数字IO模块是MCAL最基础、最核心的入门模块,也是车载指示灯、按键检测、继电器驱动、外设硬件启停控制的底层支撑。区别于传统裸机直接操作寄存器的开发方式,AUTOSAR架构采用分层隔离设计,Port负责硬件静态初始化、Dio负责动态电平操控,严格遵循车规级开发规范,杜绝硬件资源冲突、引脚配置混乱等问题。

getusushu的博客 43

2026年紫光同创数字IC笔试试卷带答案

FPGA基础知识与设计要点摘要 本文围绕FPGA与数字IC设计核心概念,通过单选题、波形分析题、多选题和简答题形式,系统梳理了以下关键知识点: FPGA基础架构 查找表(LUT)是实现组合逻辑的基本单元(题1) CLB包含LUT、触发器和进位链,后者加速算术运算(题6,10) 布局布线优化是减少关键路径延迟的核心方法(题7) 时序分析要点 建立时间(时钟沿前数据需稳定)与保持时间(时钟沿后需保持)的定义(题2,简答1) 亚稳态成因及两级同步器处理跨时钟域信号的方法(多选题1,波形题5) 特殊设计技术 异步复

Open 114

Java语言基础

在Java中,了解数据类型、常量和变量的概念是非常重要的,因为它们是构建程序的基础。通过使用适当的数据类型和常量,可以确保程序的健壮性和可维护性。而变量的使用则使程序能够存储和操作数据。通过理解这些概念,我们可以更好地编写出高效、可靠的Java代码。注意事项常量应该全部大写,单词之间用下划线分隔。变量名应使用驼峰命名法,首字母小写,后续每个单词的首字母大写。常量和变量名应具有描述性,以便于理解其用途。Java提供了丰富的运算符,以满足各种编程需求。

2301_78209365的博客 2391

Unity之Timeline教程

Unity Timeline是Unity的一种时间轴编辑器工具,用于制作和管理游戏中的动画、剧情以及事件触发。它提供了直观的界面,使得开发者可以通过拖放操作轻松创建和编辑时间轴。Activation Track:用于控制物体的激活状态。可以在轨道上添加关键帧,控制物体的激活和非激活状态。Animation Track:用于处理物体的动画。可以在此轨道上添加关键帧,编辑物体的动画状态。Audio Track:用于处理场景中的音频。可以管理音频的播放、暂停、淡入淡出等操作。

TxNet 9439

Java语言基础小结

章节小结

一人我饮酒醉 334

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

java语言基础

java语言基础 谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的《Thinking in Java》。它是一本写的相当深刻的技术书籍,Java语言基础部分基本没有其它任何一本书可以超越它。该书的作者Bruce Eckel在网络上被称为天才的投机者,作者的《Thinking in C++》在1995年曾获SoftwareDevelopment Jolt Award最佳书籍大

西_北 1521

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

java语言基础 java第二单元

java语言基础

qq_45418175的博客 167

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java语言练习基础_《java语言基础》练习题

《java语言基础》练习题 《java语言基础》练习题 一、单项选择题 1.Java是从()语言改进重新设计。 A.Ada B.C++ C.Pasacal D.BASIC 答案:B 2.下列语句哪一个正确() A. Java程序经编译后会产生machine code B. Java程序经编译后会产生byte code C. Java程序经编译后会产生DLL D.以上都不正确 答案:B 3.下列说法...

weixin_31111015的博客 267

3.Java语言基础——数组

3.Java语言基础——数组 一、数组概述和定义格式说明 A:数组概念 数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器。 数组既可以存储基本数据类型,也可以存储引用数据类型 B:数组定义格式 格式1: 数据类型[] 数组名; 格式2: 数据类型 数组名[]; 举例: int[] a; 定义了一个int类型的数组a; int a[]; 定义了一个int类型的a数组; 推荐使用第一种定义方式 二、数组的初始化 A:什么是数组的初始化 Java中的数组必须先初始化,然后才能使

qq_39004315的博客 232

视频教程-Java语言基础篇-Java

Java语言基础篇 23年C++语言编程经验,经历过多个行业的开发项目包括网...

weixin_32496973的博客 325

JavaSE之Java语言基础

Java语言基础 文章目录Java语言基础初识计算机和Java语言计算机体系结构计算机的基本概念硬件常见的主要硬件主要硬件详解软件常见的主要软件计算机的体系结构Java语言概述计算机语言的发展Java语言的发展Java语言的主要版本开发环境的搭建和使用开发工具的下载和安装相关概念几个相关概念JDK的目录结构编写Java程序的流程Java开发工具用文本编辑器(TE)编写Java程序的流程常见的错误和简化的编译运行常见的错误简化的编译运行常用的快捷键和注释常用快捷键注释环境变量的配置跨平台原理变量和数据变量的概

hyment的博客 544

Java春招面试题之Java语言基础类

在用人单位的面试中,Java语言基础知识是考察的重点之一,也是一个合格Java程序员必须掌握的知识。一个对于Java语言基础知识一知半解的程序员,会在实际的项目开发工作中犯一些低级错误,对项目开发的质量和团队的开发进度都有很大的影响。代码的质量,直接影响了软件工程的质量。 Java语言基础主要涉及以下几个方面。 Java 的基本语言元素。 原始数据类型。 变量声明。 变量的初始化。 Java 源文...

E_book 4215

百知教育-Java第一章-Java语言基础

一.Java语言基础 01.Java概述与环境搭建 1.引入:符号语言—自然语言:和人交流; 编程语言–机器语言:和计算机交流; 编程语言: C(基础) C++(添加面向对象) Java(纯面向对象,(在C上发展而来)) Java的历史:原Sun公司,后被Oracle收购; 软件←→操作系统←→硬件 ↑ 接受机器语言 2 链接:1995.5.23认为是Java的生日 1998.12 Java 发布...

LeicyII的博客 456

实验2 java语言基础_实验二 Java语言基础

实验二 Java语言基础一、实验目的1熟悉Java基本语法,基本数据类型,各种运算符及表达式的使用。2掌握运算符优先级,熟悉使用Java的选择语句,循环语句。二、实验内容完成如下任务或编写能够满足如下条件的程序(1、2、3中任选两题):1编写Java Application程序,输出1900年到2000年之间的所有润年。(闰年的判断条件:能被4整除且不能被100整除,或能被400整除)。2编写J...

weixin_32262089的博客 692

【Java】语言基础

输出的最后结果为null,因为作为成员变量,即new实例化的堆里面的变量,如果是基本类型则默认值为0,若是引用类型,默认值为null,这里String为引用类型,故为null;其中,source是待复制的数组,dest是复制后的数组,srcIndex是要复制数组的开始下标,length是要复制的长度(原理就是数组存放连续的相同的数据类型的数据)//创建有100个Point引用的数组,p 是一个引用类型变量,它存有指向数组对象的引用(即内存地址),而非数组对象本身。

2301_79791432的博客 2081
上一篇: 封装数据类型中的对象缓存
下一篇: 记录一次线上 OOM
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值