Java学习笔记1------基本程序设计结构

实验二理解 Java 语言的基本结构和程序设计方法 ()的形式访问和修改私有属性。System.out.println("圆的半径: " + circle.getRadius());System.out.println("圆的周长: " + circle.getLength());System.out.println("圆的颜色: " + circle.getColor());System.out.println("圆的面积: " + circle.getArea());(3) 提供计算面积的getArea()方法和计算周长的getLength()方法。 阅读详情

学习《Java核心数据》(原书第十版)的笔记------第三章

1、Java区分大小写

2、包名采用全部小写;项目名称首字母小写;类名采用驼峰命名法,每个单词的首字母大写;对象名及变量名使用小驼峰命名法

3、源代码的名字必须与类名相同

4、main方法必须声明为public方法

5、java中的所有代码都放在类中

6、三种注释的写法

    行注释://statement

    块注释:/* statement */

    文档注释,用于说明某个模块的作用,生成文档    /** statement */

7、数据类型

    Java数据类型的字长与平台无关,是固定的

    整形

类型长度(字节)
byte1
short2
int4
long

8

    浮点型

类型长度(字节)
float4
double

8

      一般而言不用float,因为其精度有限;除非在对占用空间十分敏感或者存储大量数据的地方

      另外,浮点运算将存在一定误差,比如

                for (double i=0; i<=10; i++)

      可能不会执行11次,因为i可能从9.0000000000001直接变为10.0000000000001

      并且,在不同的计算机上运行时,由于CPU对浮点运算会有不同的优化,比如intel64位会将double的中间运算结果扩展到80位,最终结果再截取为64位,造成精度更高。但是再不同计算机上会有不同结果。

      如果想要得到可预测的结果,需要在函数之前加上strictfp关键字,禁止进行浮点优化。

      其他

类型长度(字节)
char2
boolean一个数据位

8、长整型字面量后加L,float字面量之后加f;十六进制以0x或者0X开头,八进制以0开头,二进制以0b开头

9、三种特殊类型的数值

      正无穷,负无穷,NaN(不是一个数字)

      整数除0发生异常,浮点除0得到无穷值

      判断一个数是否为数值,可以用Double.isNaN(x)

10、因为计算机用二进制表示数字,所以无法精确表示所有数字,如果需要十分精确,没有四舍五入,需要使用BigDecimal

11、char类型

      一个占用2个字节的数据类型.

      Java采用Unicode形式的UTF-16编码方式,每个char占用两个字节,可以用转义字符\uxxxx的十六进制来表示。

      Unicode转义序列在解析代码之前就会得到,比如c:\user\dir会报错,因为\u之后没有跟四个数字;比如字符串字面量

"\u0022+\u0022"会被认为时""+"",是空字符串,而不会被认为是字符串"+"

12、Unicode和char

       Unicode编码范围是0x10FFFF:0x0,分成了16个区,其中0区是常用字符的编码区,如ASCII,中文等,范围是0x0000-0xFFFF,所以用一个16位就可以表示。其他字符需要两个16位来表示,即两个char。

      编码中,将一个16位称为一个代码单元,即一个char;将一个字符成为一个码点。

      所以,码点和char有很大区别。在使用Java字符串时,使用String.atChar得到的不是某个字符,而是某个代码单元的值。

      为了遍历字符串,需要使用String.codePoints().toArray()将码点转换成码点的数组,再进行遍历。

      !!!尽量不要使用代码单元(char)

13、常量

      使用final关键字声明,虽然constant是关键字,但是没有被用到

14、在C++中,int i;是定义变量; extern int i;是声明变量

      但是java并不区分。

15、运算符------加减乘除模

      java的模运算,使用Math.floorMod可以避免负数的模出现负数,因为数学家规定余数必须是正数。

16、数学运算与常量 java.util.Math

      pow(),sin(),cos(),tan(),atan(),atan2(),exp(),log(),log10(),E,PI

17、数值类型转换

      double类型运算,都被转换成double,float一样

      long类型运算,都转成long

      否则都被转成int

18、强制类型转换

      使用Math.round()进行四舍五入,返回long

19、自增自减运算符

20、关系运算符

       ==,!=,<,>,<=,>=

      &&,||,!

      &&和||按照短路规则进行计算,如果求得前面表达式可以确定结果,则不会求后面。用如下方法可以避免除0错误
      if (x!=0 && 1/x<10)

21、位运算

      & ^ ~ ^

      << >>右移用符号位补最高位 >>>右移补用0最高位

22、枚举类型

      enum Size{S,M,L,XL,XXL,XXXL}

      Size size = Size.XXL;

23、字符串及其子串

      String.equals()

      String.length()

24、字符串构造器

      StringBuilder.append()向字符串后方加入字符

      toString()转化为字符串

25、输入

      Scanner in =new Scanner(System.in);

      in.next()

      in.nextLine()

      in.nextInt()

26、格式化输出

      System.out.printf()

      String.format()

27、使用%n$代表输出参数的编号,从1开始;使用%<xxxx代表使用和前一个格式化输出相同的参数编号。

28、使用%tx打印时间

29、文件输入

      构造Scanner("filename", "charset");

30、文件输出

      构造PrintWriter("filename")

31、switch分支

      每个选择之后必须加上break;否则可能执行多个语句块。

32、不能用==判断字符串相等。字符串是对象,==会判断其指向的内存单元是否一样

33、中断控制流程语句

       break label;

      label放在想要跳出的循环的前边,加冒号;

      可以当作goto使用。

34、BigDecimal和BigInteger

      用于计算长浮点和长整型

      java没有运算符重载,所以只能用add,substract,multiply,divide进行运算。

      使用BigInteger a = BigInteger.valueOf(x);将int转化成大整形。

35、数组

      声明一个数组: 

      int[] a;

      初始化:

      a = new int[100];

36、二维数组

      java没有真正意义上的二维数组。只是创建了一个一维数组,里面每个元素都是一个一维数组。在初始化阶段,java会自动执行这种引用。

      如果想要创建不规则数组,需要自行初始化赋值,如

      int[] a = new int[100];

      for (int i = 0; i<100; i++) a[i]=new int[i];

37、数组的排序方法Arrays.sort()

38、foreach遍历语句

      foreach (int i: arr){statements;}

      但是foreach不能自动遍历二维数组,因为java只有一维数组,所以要这样写

      foreach (int[] i:arr)

            foreach (int j:i){statements;}

 

 

 

 

如何使用3D高斯分布进行环境建模 使用3D高斯分布来进行建模,关键在于通过引入不确定性描述来提高建图的鲁棒性和精度。与传统点云表示相比,3D高斯分布提供了一种更为灵活和有效的方式来处理空间数据,能够通过协方差矩阵表示点的空间不确定性,帮助优化SLAM过程中的定位和地图更新。 阅读详情

相关推荐

向量化和向量数据库的开发步骤,以及本地docker下载Redis-stack-server,以及如何将文本转成向量,以及文本向量化成功后将数据存入到Redis-stack-server这个向量数据库

内存可以作为向量数据库,但是一重启一断电数据就没了这了选择RedisStack作为向量数据,用来向量的存储,未来会改名成Redis8,也就是在原本的Reids的功能上增加了新的特性,本质上还是Redis向量数据库还可以用ElaticSearch、MongoDB等。

qq_61723836的博客 1080

Java基础重温学习笔记1:Java的基本程序设计结构

这套学习笔记是基于《java核心技术》这套书整理的,里面还添加很多我自己的看法和理解。 一个简单的java程序 public class FristDome { public static void main(String[] args) { System.out.println("我的第一个程序"); } } java程序是区分大小写的 public关键字是访问修饰符 关键字class后面紧跟类名,类名的命名规范:必须以字母开头,后面数字、字母、下划线可以任意组

qq_51476114的博客 311

基于DE2-115红外解码实验

基于DE2-115红外解码实验   一、   功能描述 在同一个遥控电路中通常要使用实现不同的遥控功能或区分不同的机器类型, 这样就要求信号按一定的编码传送,编码则会由编码芯片或电路完成。对应于编码芯片通常会有相配对的解码芯片或包含解码模块的应用芯片。在实际的产品设计或业余电子制作中,编码芯片并一定能完成我们要求的功能,这时我们就需要了解所使用的编码芯片到底是如何编码的。只有知道编码方式,我...

乘风的博客 2513

Java学习笔记(1):基本程序设计结构

最简单的Java程序: public class FirstSample { public static void main(String[] args) { System.out.println("We will not use 'Hello, World!'"); } } 类名定义规则:字母开头,后可以跟字母好数字的任意组合,长度基本没有限制。 标准命名规范:以

1807垃圾信息处理中心 457

用扩展点为 Fiori Elements 添加自定义动作:从原理到落地的完整实践

本文介绍了如何在基于OData V4的Fiori Elements应用中通过Extension Points添加自定义Action按钮。主要内容包括: 扩展点动作与标准注解动作的区别:扩展点用于非标准前端流程、组合操作等场景,需通过extensionAPI与框架交互。 扩展点动作的插入位置:可放置在List Report表格工具栏、Object Page页眉/页脚/Section工具栏等位置,并说明了相应的manifest.json配置节点。 配置模型与处理函数契约:详细说明了press、visible/e

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 248

SpringBoot实战教程-springboot概论

Spring Boot 是一个快速开发框架,能够快速的整合第三方框架,简化XML配置,全部采用注解形式,以及自动配置。内置web容器,帮助开发者能够实现快速开发,简化了应用系统的初始搭建以及开发过程。

鸟哥哥的专栏 4155

[Java学习笔记] Java核心技术 卷1 第三章 基本程序设计结构

前两章:概述&设计环境 第3章 基本程序设计结构 3.1 概览 大小写敏感。 访问修饰符:程序其他部分对这段代码的访问级别。 类是构建所有java应用程序和applet的构建块。Java应用程序的全部内容必须放置在类中。 类命名规范:大写字母开头。多个单词首字母均大写的骆驼命名法CamelCase。 源代码的文件名必须与公共类的名字相同,并用.java作为扩展名。...

anbanxiu3636的博客 157

基于Python的彭博社新闻高效爬取实战:最新技术与完整代码解析

本文将详细介绍如何使用Python最新技术构建一个高效的彭博社(Bloomberg)新闻爬虫系统。我们将从爬虫基础概念讲起,逐步深入到高级反反爬技术、异步抓取、数据解析与存储等核心环节。文章包含完整的代码实现,采用最新的aiohttp、Playwright等技术栈,并特别关注法律合规性和数据质量保障。通过本文,读者将掌握一个完整的商业新闻爬虫开发流程,并能够根据实际需求进行定制化开发。关键词:Python爬虫、彭博社、Bloomberg、新闻采集、aiohttp、Playwright、反反爬技术。

2201_76125261的博客 1503

【学习笔记】Java核心技术 卷I 第3章 Java的基本程序设计结构(1)

目录前言3.1 一个简单的Java应用程序3.2 注释3.3 数据类型3.3.1 整型3.3.2 浮点类型3.3.3 char 类型3.3.4 Unicode 和 char 类型3.3.5 boolean 类型3.4 变量与常量3.4.1 声明变量3.4.2 变量初始化总结 前言 本章主要介绍程序设计的基本概念(如数据类型、分支以及循环)在Java中的实现方式。 3.1 一个简单的Java应用程序 看下面这段简单的代码,它的功能是打印 “We will not use ‘Hello, World!’”

weixin_53443823的博客 697

相位编码脉冲压缩信号的理论研究与 Matlab 实现

通过实际的代码示例,我们展示了如何生成信号、进行相位编码、传输信号、相位解码和脉冲压缩的步骤。相位编码脉冲压缩信号是通过在发射端对信号进行相位编码,并在接收端对信号进行相位解码来实现的。其主要原理是在发射端将信号的频率进行调制,使得信号具有宽带特性,然后在接收端通过匹配滤波器对信号进行解调和压缩,从而提高信号的分辨率和抗干扰能力。相位编码脉冲压缩信号是一种在信号处理中常用的技术,用于提高信号的分辨率和抗干扰能力。可以使用 Matlab 中的信号生成函数生成一个宽带脉冲信号,例如矩形脉冲信号或高斯脉冲信号。

CyberWizarDD的博客 901

【雷达通信】雷达信号处理仿真【含Matlab源码 2509期】

雷达信号处理仿真 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 903

Java核心技术 卷1 基础知识 学习笔记——第三章 java的基本程序设计结构

1. 一个正整数除以0的结果为正无穷大,0/0或者负数的平方根的结果为NaN(不是一个数字); if(x==Double.NaN)//is never true,所有非数值的值都认为是不同的 if(Double.isNaN(x))//检查x是否为不是一个数字 2. System.out.println(2.0-1.1); 输出的值为0.8999999999999999,浮点数值采用二进制系统表示,...

qq_31683033的博客 267

华为OD面试八股文嵌入式C语言基础问题及答案(一)

本文总结了C语言编程中的10个关键知识点:1.宏定义MIN的实现方法;2.嵌入式无限循环的两种写法;3.变量a的8种不同定义方式;4.static关键字的三种作用;5.const关键字的含义和使用场景;6.volatile关键字的含义及三个应用实例;7.变量存储位置(栈区、静态区、堆区);8.32位系统指针位数;9.局部与全局变量重名规则;10.引用与指针的三点区别。这些内容涵盖了宏定义、变量声明、存储类别、指针等C语言核心概念,对嵌入式开发和系统编程具有重要参考价值。

m0_50382756的博客 160

java核心类设计_Java核心技术 卷1 基础知识 学习笔记——第三章 java的基本程序设计结构...

1. 一个正整数除以0的结果为正无穷大,0/0或者负数的平方根的结果为NaN(不是一个数字);if(x==Double.NaN)//is never true,所有非数值的值都认为是不同的if(Double.isNaN(x))//检查x是否为不是一个数字2. System.out.println(2.0-1.1);输出的值为0.8999999999999999,浮点数值采用二进制系统表示,无法精确...

weixin_33305349的博客 342

OV9734 DATASHEET,完整规格书

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

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

《Java面向对象程序设计》学习笔记

备考某学校的 817程序设计Java 专业课,在学习耿祥义老师的《Java面向对象程序设计(第3版)-微课视频版》。 发一些自己的学习笔记到专栏(一篇文章对应书上一章),可能不会及时更新,见谅。 笔记可能有错误,看看就得,现在懒得浓缩精炼了,以后再说吧🧐

奇妙方程式的博客 9973

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Java程序设计的基本结构(1)

本文将介绍Java中的基本概念,包括:java入门案例HelloWorld、数据类型、变量与常量、运算符、字符串、输入与输出、控制流程,数组。笔者也会介绍一些经典的案例、进行源代码的解读。本文部分示例代码参考了Java经典入门书籍:《Java核心技术》第十二版第三章中的内容。

deng1204的博客 1740

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

《Java程序设计》实验报告——Java的基本程序设计结构

浙江理工大学 《Java程序设计》 实验报告 20 19~20 20学年第 1学期 学 院 信息学院 班 级 计算机科学技术18(3) 姓 名 申屠志刚 学 号 2018329621200 任...

无限迭代中...... 7212

Java程序设计的基本结构

--------------------------------------------------------------------------本系列文档配合前面的《JBuilder开发实践者之路》系列文章推出,站在语言本身的层次上供大家学习Java程序设计语言。主要参考Java在线文档,以及《Java2核心技术》。文章定位和读者对象主要是针对零起点的读者。基本上针对初级读者逐步辅导走上Jav

myali88的专栏 1441

《Java面向对象程序设计》学习笔记——知识、概念、定义及作用(简答)

类是面向对象程序设计的基本构建单元,它是一种用户自定义的数据类型。类定义了对象的属性(成员变量)和行为(方法)。可以通过关键字class来定义一个类,类可以包含构造方法、成员方法和静态方法等。结构化程序设计(Structured Programming)是一种编程范式,通过使用顺序、选择和循环等结构化控制语句,以及模块化的程序组织方式,来提高程序的可读性、可维护性和可靠性。顺序结构(Sequence):按照语句的顺序执行,一条接一条执行,没有跳转和分支。

奇妙方程式的博客 5541

Java程序设计的基本结构 - 循环结构

本文关键字:基本结构、循环结构、while、do-while、for。为了讲解方便,我们可以将循环结构划分为四个部分来进行描述。当然,这四个部分并不是都要出现,甚至在都不出现时也可以构成一个循环结构。并且,对于不同的循环结构,每个部分的相对位置也不同。

微光点亮星辰 9955

Java基本程序设计结构

java的基本程序设计结构 一个简单的Java应用程序 下面看一个最简单的Java应用程序,它只发送一条消息到控制台窗口中: public class FirstSample { public static void main(String[] args) { System.out.println("we will not use 'Hello World!'"); } }

hungry_bug的博客 1065

Java程序设计的基本结构 - 选择结构

文本关键字:基本结构、选择结构、if、else、switch、case。

微光点亮星辰 1万+

Java程序设计的基本结构 选择自 myali88 的 Blog

本系列文档配合前面的《JBuilder开发实践者之路》系列文章推出,站在语言本身的层次上供大家学习Java程序设计语言。主要参考Java在线文档,以及《Java2核心技术》。文章定位和读者对象主要是针对零起点的读者。基本上针对初级读者逐步辅导走上Java程序设计高手的道路。                                    曾毅  于  计算机软件理论实验室----------

962

《深入理解<Java核心技术>第三章:Java的基本程序设计结构》

java基础知识

wertuiop_的博客 2004

【Java】基本程序设计结构(一)

现在,假定已经成功安装了JDK,并且能够运行上篇示例程序。本篇将开始介绍Java程序中的基本设计结构,其中包括:一个简单的Java应用,注释,数据类型,变量与常量,运算符,字符串,输入输出,控制流,大数,数组。这些内容将分为上下两篇,希望大家持续关注!

2301_80827065的博客 1376

Java学习(1)——基本程序设计结构

Java 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录Java前言一、数据类型1.整数类型二、使用步骤1.引入库2.读入数据总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面案例可供参考

鲸鱼的博客 175
上一篇: 【STM32 + HAL库】倒立摆
下一篇: 【Java】打印本月日历
WilliamCode
博客等级 码龄11年 118粉丝 105原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值