Javase知识-数据类型

Javase知识(一)



前言

提示:这里可以添加本文要记录的大概内容:

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、数据类型

1.1 整型

类型存储需求
int4字节
short2字节
long8字节
byte1字节

例如,int类型4个字节表示的数据范围是 -2^31 -> 2^31-1 , 也就大概是 -21亿 到 +21亿
查看数据范围代码如下

代码如下(示例):查看int类型数据范围(其他类型都可类似查看)

public class Demo {
    public static void main(String[] args) {
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
    }
}

结果如下:
在这里插入图片描述
在Java中,整型的范围与运行Java代码的机器无关,解决了软件从一个平台移植到另外一个平台的问题。

1.2 浮点类型

类型存储需求
float4字节
double8字节

float类型的数值有一个后缀F或f(例如 3.14F)。没有后缀F的浮点类型默认为double类型。

1.3 char类型

  1. Java 中使用 单引号 + 单个字母 的形式表示字符字面值.
  2. 计算机中的字符本质上是一个整数. 在 C 语言中使用 ASCII 表示字符, 而 Java 中使用 Unicode 表示字符. 因此一
    个字符占用两个字节, 表示的字符种类更多, 包括中文.

1.4.boolean类型

  1. boolean 类型的变量只有两种取值, true 表示真, false 表示假.
  2. Java 的 boolean 类型和 int 不能相互转换, 不存在 1 表示 true, 0 表示 false 这样的用法.
  3. boolean 类型有些 JVM 的实现是占 1 个字节, 有些是占 1 个比特位, 这个没有明确规定.

二、变量

2.1 变量的作用域

也就是该变量能生效的范围, 一般是变量定义所在的代码块 (大括号)

代码如下(示例):

class Test {
public static void main(String[] args) {
    {
     int x = 10;
     System.out.println(x);   // 编译通过;
    }
    System.out.println(x);  // 编译失败, 找不到变量 x.
  }
 }

2.2 变量的命名规则

硬性指标:

  1. 一个变量名只能包含数字, 字母, 下划线
  2. 数字不能开头.
  3. 变量名是大小写敏感的. 即 num 和 Num 是两个不同的变量.
    注意: 虽然语法上也允许使用中文/美元符($)命名变量, 但是 强烈不推荐这样做

软性指标:

  1. 变量命名要具有描述性, 见名知意.
  2. 变量名不宜使用拼音(但是不绝对).
  3. 变量名的词性推荐使用名词.
  4. 变量命名推荐 小驼峰命名法, 当一个变量名由多个单词构成的时候, 除了第一个单词之外, 其他单词首字母都大写.

三、常量

上面讨论的都是各种规则的变量, 每种类型的变量也对应着一种相同类型的常量。常量指的是运行时类型不能发生改变。常量主要有以下两种体现形式:
1. 字面值常量

10   // int 字面值常量(十进制)
010     // int 字面值常量(八进制) 由数字 0 开头. 010 也就是十进制的 8
0x10    // int 字面值常量(十六进制) 由数字 0x 开头. 0x10 也就是十进制的 16
10L     // long 字面值常量. 也可以写作 10l (小写的L)
1.0     // double 字面值常量. 也可以写作 1.0d 或者 1.0D
1.5e2   // double 字面值常量. 科学计数法表示. 相当于 1.5 * 10^2
1.0f    // float 字面值常量, 也可以写作 1.0F
true    // boolen 字面值常量, 同样的还有 false
'a'     // char 字面值常量, 单引号中只能有一个字符
"abc"   // String 字面值常量, 双引号中可以有多个字符
  

2. final 关键字修饰的常量

final int a = 10;
a = 20;    // 编译出错. 提示 无法为最终变量a分配值

常量不能在程序运行过程中发生修改.

四、类型转换

Java 作为一个强类型编程语言, 当不同类型之间的变量相互赋值的时候, 会有教严格的校验.
例如int 和 long/double 相互赋值

int a = 10;
long b = 20;
a = b;         // 编译出错, 提示可能会损失精度.
b = a;         // 编译通过.
int a = 10;
double b = 1.0;
a = b;       // 编译出错, 提示可能会损失精度.
b = a;      // 编译通过.

long 表示的范围更大, 可以将 int 赋值给 long, 但是不能将 long 赋值给 int.
double 表示的范围更大, 可以将 int 赋值给 double, 但是不能将 double 赋值给 int.

结论: 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型, 反之则不行.

int 和 boolean 相互赋值

int a = 10;
boolean b = true;
b = a;               // 编译出错, 提示不兼容的类型
a = b;    // 编译出错, 提示不兼容的类型

结论: int 和 boolean 是毫不相干的两种类型, 不能相互赋值.

类型转换小结

  1. 不同数字类型的变量之间赋值, 表示范围更小的类型能隐式转换成范围较大的类型.
  2. 如果需要把范围大的类型赋值给范围小的, 需要强制类型转换, 但是可能精度丢失.
  3. 将一个字面值常量进行赋值的时候, Java 会自动针对数字范围进行检查.

总结

Java 类型汇总
在这里插入图片描述

数据类型是学习java的基础,在后面涉及各类属性时,都要合理利用声明各类数据,因此我们得踏实学习其相关的知识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值