当前位置: 首页 > news >正文

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

目录

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

了解一些关于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.dtcms.com/a/314886.html

相关文章:

  • 【QT】安装与配置
  • 应急响应复现
  • Java 课程,每天解读一个简单Java之正整数分解质因数
  • 字符集选择utf8mb4
  • android内存作假通杀补丁(4GB作假8GB)
  • 自动寻迹小车介绍、原理及应用场景
  • GoLand 项目从 0 到 1:第四天 —— 技术选型落地与方案设计
  • onnxruntime配置开启ACL加速Arm上的模型推理
  • 《Python 实用项目与工具制作指南》· 3.2 实战·开发密码管理器
  • 【教学类-52-17】20250803动物数独_空格尽量分散_只有一半关卡数(N宫格通用版3-10宫格)0图、1图、2图、6图、有答案、无答案 组合版24套
  • JavaScript 中的流程控制语句详解
  • JS-第二十天-事件(二)
  • 股票的涨跌原理
  • Flink从Kafka读取数据的完整指南
  • ref和reactive的区别
  • 图的存储方式-邻接表
  • 燃气末端天然气加臭剂四氢噻吩监测方案
  • lwIP 代码解析:sys_arch.c
  • 从 0 到 1 构建高质量微调数据集:大模型落地的基石
  • 单向链表练习
  • Linux Shell:常用命令汇总
  • 邻近标记技术:研究蛋白互作的利器(一)
  • 论文Review LIO Multi-session Voxel-SLAM | 港大MARS出品!体素+平面特征的激光SLAM!经典必读!
  • 简要探讨大型语言模型(LLMs)的发展历史
  • 每天学一个Linux命令(38):vi/vim
  • 决策树(回归树)全解析:原理、实践与应用
  • Excel商业智能分析报表 【销售管理分析仪】
  • 编译 Paddle 遇到 flashattnv3 段错误问题解决
  • PostgreSQL——表的基本操作
  • 前端接入通义千问(各大模型接入方法类似)