当前位置: 首页 > 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.lryc.cn/news/610100.html

相关文章:

  • 使用1panel将http升级至https的过程
  • javacc学习笔记 03、编译原理实践 - JavaCC解析表达式并生成抽象语法树
  • 深入解析线程同步中WaitForSingleObject的超时问题
  • 【Java基础知识 17】面向对象编程
  • Adobe Experience Manager (AEM) Assets|企业级数字资产管理平台(DAM)
  • javacc学习笔记 01、JavaCC本地安装与测试
  • TorchDynamo源码解析:从字节码拦截到性能优化的设计与实践
  • 厄米系统(Hermitian System)
  • Go 函数选项模式
  • 模型学习系列之考试
  • day15 SPI
  • 疏老师-python训练营-Day35模型可视化推理
  • Golang中的`io.Copy()`使用场景
  • #C语言——刷题攻略:牛客编程入门训练(四):运算(二)
  • 网站从HTTP升级到HTTPS网址方法
  • 北京JAVA基础面试30天打卡01
  • 【多智能体cooragent】CoorAgent 系统中 5 个核心系统组件分析
  • 力扣-1.两数之和
  • 腾讯混元重磅开源:四款小尺寸模型全面发布
  • Git如何为多平台配置密钥和用户信息?
  • 互联网医院整体项目套表整理过程文档全流程分析
  • 【MySQL基础篇】:MySQL常用内置函数以及实用示例
  • Flask + HTML 项目开发思路
  • MySQL中COUNT(\*)、COUNT(1)和COUNT(column),到底用哪个?
  • 从零认识OpenFlow
  • 【SAM】Segment Anything 论文翻译笔记
  • opencv引入libavif
  • 模拟IC设计提高系列8-运算跨导放大器OTA Operational Transconduct Amplifiers
  • 家事速配西安项目启动会圆满举行,开启社区服务新篇章
  • 决策树(回归树)全解析:原理、实践与应用