Java基础学习(一):类名规范、返回值、注释、数据类型

目录

  • 一、类名规范
  • 二、返回值
  • 三、注释
  • 四、数据类型
    • 1. 基本类型
    • 2. 引用类型
    • 3. 强制数据类型转换
    • 4. 进制
    • 5. 进制的转换
    • 6. 超范围运算

相关文章

  • Java基础学习(二):Java中的变量和常量、final(重点)、运算、字符串

了解一些关于Java的术语:

缩写术语名作用
JDKJava Development Kit编写Java程序
JREJava Runtime Environment运行Java程序
SEStandard EditionJava的一些核心语法规则,用于桌面或简单服务器应用的Java平台
EEEnterprise EditionJava的web开发,用于复杂服务器应用的Java平台
MEMicro Edition手机开发
SDKSoftware Development Kit用于描述1998~2006年间的JDK

一、类名规范

规范示例作用于
大驼峰FirstSample多个单词,每个单词首字母大写类名
小驼峰firstSample多个单词,第一个单词首字母小写,剩下的单词首字母大写变量名、方法名、文件名、文件夹名
全大写FIRSTSAMPLE字母全大写一般用作常量,只能第一次赋值,后续不能在赋值,永远不变,如Π:PI=3.14

二、返回值

  • void:没有返回值
    public static void sort(int[] arr) {
    }
    
  • int:要有返回return的数据
    public static int g(int x) {return 3*x-8;
    }
    

三、注释

  • //:单行注释
  • /* */:多行注释,/*开始,*/结束
    /*
    * 这是一个多行注释
    * 可以跨越多行
    */
    
  • /** */:文档注释,/**开始,*/结束
    • 代码作者
    • 最后一次维护
    • 联系邮箱
    • 此类作用
      /*** 这是一个文档注释* 通常用于描述类、方法或字段的功能* * @param name 用户名* @return 欢迎消息*/
      

四、数据类型

1. 基本类型

8种四类

类型种类占几字节占几bit取值范围
整数byte1字节8bit282^828-128~127
整数short2字节16bit2162^16216-322768~32767
整数int4字节32bit-2147483648~2147483647(超过20亿)
整数long8字节64bit
浮点数float4字节32bit
浮点数double8字节64bit
布尔型boolean
字符串char

注意:

  1. 1字节=8bit
  2. 取值范围中0归为正数
  3. int型不能存手机号

整数

  • int默认值为0
  • 第一位表示符号位,剩余的表示数值位。
  • 符号位中:0代表正数,1代表负数。
  • byte、short、int、long后续做运算,默认转换为int类型,所以需要进行强制类型转换
    byte a = 125;
    byte b = (byte) (a+1);
    //long x = 1000L;
    

浮点数

  • 浮点数默认值为0.0
  • float:第一位表示符号位,8位表示阶位,23表示数值位;
    • 表示小数:设阶位为x(256),数值位为y,2(x-127) *y,阶位的值小于127可表示小数
    • float a=0.25Ffloat b=0.75f
  • double:第一位表示符号位,11位表示阶位,52表示数值位。
    • 表示小数:设阶位为x(256),数值位为y,2(x-1023) *y,阶位的值小于1023可表示小数
    • double c=1.56Ddouble d=1.89d
  • 浮点数中,数据默认转换为double类型存储。

问题1:float和int谁的精度更高?
数值越小float精度越高,数值越大int精度越高。
问题2:float和double谁的精度更高?
double表示的浮点数的数值精度是float的两倍。绝大部分程序采用的是double类型。

char类型:字符

  • char类型默认值为空字符
  • 要用单引号括起来

布尔型

  • 布尔类型默认值为false
  • 有两个值:true或false,用来判断逻辑条件
  • 整数值和布尔值之间不能进行转换

2. 引用类型

  • 引用类型默认值为空
  • 除了基本类型的8中四类之外,剩下的都是引用类型,如:Byte、Long、String等。

3. 强制数据类型转换

基本语法:

目标类型 变量名 = (目标类型) 要转换的值或变量;

示例:

//将double类型数据转换成int类型
double d = 3.1415926;
int i = (int) d;//截断小数部分
System.out.println(i)//输出结果:3

实心箭头表示无信息丢失的转换;虚箭头表示可能有精度损失的转换。
数值之间的转换

  • 数值类型之间的强制转换
    • double - > int
    • long - > int
    • int - > byte
  • 浮点数和整数之间的转换
    • float - > int
    • double - > float
    • int - > float(自动转换)
  • char类型的强制转换
    • int - > char
    • char - > int(不需要强制转换)
  • 对象类型的强制转换
  • 自动装箱和拆箱中的强制转换
    // 基本类型 -> 包装类 (自动装箱)
    Integer integer = 100;// 包装类 -> 基本类型 (自动拆箱)
    int i = integer;// 强制转换示例
    Double d = 123.456;
    int i2 = (int) (double) d;  // 先拆箱为double,再强制转换为int
    System.out.println(i2);  // 输出: 123
    

注意:布尔类型不能于其他基本类型相互强制转换。

4. 进制

计算机底层存储的是二进制数据。

  • 十进制:平常使用的是十进制数据,0~9,逢十进一;
  • 二进制:数据前加0b,0~1,逢二进一;
  • 八进制:数据前加0,0~7,逢八进一;
  • 十六进制:数据前加0x,0~f(a=10,b=11,c=12,d=13,e=14,f=15),逢十六进一;
int x1 = 10;//十进制
int x2 = 0b11;//二进制
int x3 = 07654;//八进制
int x4 = 0x4ac;//十六进制

5. 进制的转换

任意进制转换为十进制: 数字乘进制的多少次方在相加
十进制拆解:2412=2∗103+4∗102+1∗101+2∗1002412 = 2*10^3 + 4*10^2 + 1*10^1 + 2*10^02412=2103+4102+1101+2100
二进制转换为十进制:1011=1∗23+0∗22+1∗21+1∗20=111011 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 111011=123+022+121+120=11

十进制转换任意进制: 数据除进制取余,直到商为0,倒序取余数
十进制转换成二进制:10 = 1010
过程:

10 ÷ 2 = 50
5 ÷ 2 = 21
2 ÷ 2 = 10
1 ÷ 2 = 01

6. 超范围运算

计算机底层存储的是二进制数据。
反码: 正数和源码一样,负数符号位不变,其余取反
补码: 正数和源码一样,负数补码是反码+1
计算机底层使用的是补码做运算。

byte x1 = 127;//01111111 + 00000001 = 10000000
byte x2 = (byte)(x1+1);
System.out.println(x2);//输出结果:-128

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

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

相关文章

Nginx相关实验(2)

nginx的一些高级配置 nginx状态页 基于nginx 模块 ngx_http_stub_status_module 实现, 在编译安装nginx的时候需要添加编译参数 --with-http_stub_status_module 否则配置完成之后监测会是提示语法错误 #检查模块是否配置 如果不存在需要添加模块重新编译 nginx …

2.Java和C++有什么区别

2.Java和C有什么区别 1.在C中,支持操作符重载,而在Java里是不允许的 2.C支持多继承,而Java不可以,但Java可以单继承多实现 3.Java内置多线程机制,而C没有 4.Java里面自带了垃圾回收机制,可以自动清理缓存等…

MLIR Introduction

简介 MLIR 项目是一个构建可重用和可扩展编译器基础设施创新项目,旨在解决软件碎片化问题,显著降低构建特定领域编译器的成本。 基于MLIR,可以实现: 数据流图表达(如TensorFlow),包含dynamic…

[找出字符串中第一个匹配项的下标]

代码思路分析: 1. 边界情况处理 代码中没有显式处理以下边界情况,但逻辑已隐含支持: needle 为空字符串:应返回 0(但题目通常保证 needle 非空)。haystack 比 needle 短:直接返回 -1&#xff08…

深入剖析RT-Thread串口驱动:基于STM32H750的FinSH Shell全链路Trace分析与实战解密(上)

0. 概述 这是cherryusb代码trace分析系列文章之七。 RT-Thread串口驱动框架与FinSH Shell运行机制深度解析:针对STM32H750 ART-PI平台,本文独辟蹊径采用创新的代码trace分析方法,破解庞大串口框架下的复杂运行逻辑。通过精确trace日志与drv_u…

Python与C++通信教程:C++打包dll,供Python调用(1)

目录 1,新建一个工程 math_functions.cpp内容: 先编译一下看是否可以正常运行: 2,编译成dll,并用Python调用 有两种方式: 命令 1(使用静态链接): 可移植性: 命令 2(动态链接): 可移植性: 这里我使用的是静态链接的方式: python调用实例 test_dll.py 1,…

编程与数学 03-002 计算机网络 19_网络新技术研究

编程与数学 03-002 计算机网络 19_网络新技术研究一、软件定义网络(SDN)(一)SDN的基本原理与架构(二)SDN的应用场景与优势二、网络功能虚拟化(NFV)(一)NFV的概…

uniapp 跨端开发

一、创建uniapp项目 1. 项目架构2. 初始化项目3. pages.json 和 tabBar 案例4. uni-app和原生小程序开发区别5. 用命令行创建uni-app项目 官网链接:https://uniapp.dcloud.net.cn/quickstart-cli.html#创建uni-app6. 用vscode开发uni-app在uni-app中只有manifest.js…

区块链支付技术的核心原理

区块链支付利用分布式账本技术(DLT)实现点对点的价值转移,无需传统银行或支付网关的中介。核心特点是去中心化、透明、可追溯。• 基本流程:1. 用户发起交易:通过加密货币钱包发送支付请求(例如用ETH支付&a…

linux中 多进程 导致cuda错误的问题解决

问题总结与解决方案 核心问题 在使用 Linux 系统时,多进程并行计算中加载模型到 GPU 时出现错误:_MODEL SentenceTransformer( model_path, device "cuda" if torch.cuda.is_available() else "cpu" )根本原因: CUDA 上…

智能感知的新入口:AIGC 与低延迟视频通路的深度融合

✳️ 引言:AIGC,正在重构视觉智能的“生成逻辑” AI生成内容(AIGC)正在从“内容创作工具”跃升为计算机视觉系统的新引擎。它不再只是“文生图”、“图生文”的演示技术,而是实实在在地改变着我们构建、处理和理解视觉…

Ubuntu 内网多台服务器时间同步方案(适用于临时能上外网的环境)

哎,最近项目是运行在内网环境下的,出现了由于时间不同步导致的bug。一般来讲,几台服务器的时间不一致,会带来很多问题,比如日志时间对不上、分布式服务出现异常,等等。项目上现在有三台服务器,其…

延长电池寿命的低Iq技术

本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。一、概述随着电池供电型应用的激增,人们对质优价廉的电池和电池包的需求持续猛涨。电池制造商们不断采用新的化学物…

QT 如何实现enum与字符串的互转

将enum中定义的枚举值,以字符串的形式写入文件,同时也能从字符串转为枚举值。举例说明: ColorSelector中的Colors枚举,我们希望 kColorRed 这个写入到本地文件时,可以直接保存“kColorRed”,而非kColorRed对…

SLAM卷不动了,机器人还有哪些方向能做?

关注gongzhonghao【CVPR顶会精选】众所周知,机器人因复杂环境适应性差、硬件部署成本高,对高效泛化一直需求迫切。再加上多传感器协同难题、真实场景数据获取不易,当下对迁移学习 机器人智能融合的研究也就更热烈了。不过显然,这…

H.266 vs H.265/AV1/H.264:从工程落地看下一代视频系统的技术演进

一、背景:编解码标准演进背后的技术驱动 视频编码标准的更迭,从未只是一次简单的技术升级,而是对码率压缩效率、编码复杂度与画质质量三者之间平衡点的持续探索。在 H.264 成为全平台事实标准的十余年里,它成功支撑了 SD 至 1080…

Javascript面试题及详细答案150道之(031-045)

《前后端面试题》专栏集合了前后端各个知识模块的面试题,包括html,javascript,css,vue,react,java,Openlayers,leaflet,cesium,mapboxGL,threejs&…

Git如何同步本地与远程仓库并解决冲突

在团队协作开发中,保持本地仓库与远程仓库同步是至关重要的。本文将详细介绍如何使用 Git 更新本地仓库至最新远程版本,并深入解析冲突的产生原因及解决方法。一、同步本地与远程仓库1. 检查远程仓库配置首先,确保本地仓库已正确关联远程仓库…

Hadoop MapReduce 3.3.4 讲解~

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

1、【数学】【硬币悖论】旋转硬币问题

问题描述: 两个相同的硬币,半径都是 rrr。一个硬币(称为“动硬币”)沿着另一个固定不动的硬币(“静硬币”)的外边缘无滑动地滚动一圈,回到起始位置。问:动硬币自身旋转了几圈&#x…