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

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.xdnf.cn/news/17003.html

相关文章:

  • C++面试题及详细答案100道( 01-10 )
  • 【数据结构】排序(sort) -- 插入排序
  • 【深度学习新浪潮】近三年城市级数字孪生的研究进展一览
  • 【数据结构入门】链表
  • Vue3核心语法进阶(生命周期)
  • 【教学类-52-17】20250803动物数独_空格尽量分散_只有一半关卡数(N宫格通用版3-10宫格)0图、1图、2图、6图、有答案、无答案 组合版24套
  • 华为OD机考2025C卷 - 分配土地 (Java Python JS C++ C )
  • 【Spring AI快速上手 (二)】Advisor实现对话上下文管理
  • 体验Java接入langchain4j运用大模型OpenAi
  • 30天入门Python(基础篇)——第31天:标准库学习之re模块
  • 如何给Word和WPS文档添加密码或取消密码
  • 【回眸】香橙派zero2 阿里云机器视觉分拣系统
  • odoo reportbro 拖拽式报表设计
  • 广东省省考备考(第六十六天8.4)——言语、常识(强化训练)
  • 【笔记】重学单片机(51)(下)
  • Git基础玩法简单描述
  • 【Django】-3- 处理HTTP响应
  • 二值图针对内部轮廓腐蚀膨胀
  • 网安学习NO.21
  • GaussDB 数据库架构师(十二) 资源规划
  • 基于鼠标位置的相机缩放和平移命令的实现(原理+源码)
  • 下面是修正后的完整版 doit_effects.c,已经做了三大关键修复(文件开头也有注释说明)
  • [激光原理与应用-135]:光学器件 - 透镜的本质是利用材料对光的折射特性,通过特定形状的表面设计,实现对光线的会聚、发散或成像控制的光学元件
  • 决策树(回归树)全解析:原理、实践与应用
  • 区块链基础之Merkle B+树
  • 人工智能简述
  • Assistant API——构建基于大语言模型的智能体应用
  • 【C#】操作Execl和Word文件-2
  • mongodb源代码分析创建db流程分析
  • HTTP GET 请求教程