编写一款可用的软件,离不开对数据的操作(经常有人说:程序=数据+算法)。数据可能有很多类型,比如对于年龄来说,数据就是整数。

对于金额来,数据是带小数的。在java中,可以分为内置数据类型和引用数据类型

一、内置数据类型

java提供了八种基本类型。六个数字类型(四个整数型,两个浮点型),一种字符型,一种布尔型

不同的类型存储不同的值,在使用这些类型之前,我们需要创建这种类型的变量去存储这些数据。

声明变量的方式是:数据 变量名

给变量赋值的方式是:变量名=值

也可以把声明和初始化放在一起

        int i;//声明
i = 1;//初始化
int j = 3;//声明+初始化

不同的数据类型可以存储不同的数据:如下

    public static void main(String[] args) {
byte my_byte = -50;
short my_short = 20;
int my_int = 5000;
long my_long = 10000000L;//存储比较大的整数,L大小写都一样,但是最好大写
//上面四个都是整数,只是存储在内存的大小不一样
float my_float = 234.5f;//默认是0.0f,单精度,32位
double my_double = 123.4;//默认是0.0d,双精度,64位
//上面两个都是小数
boolean my_boolean = true;//布尔型,true或flase,注意是小写
char my_char = 'a';//字符型变量可以存储单个字符 System.out.println(my_byte);
System.out.println(my_short);
System.out.println(my_int);
System.out.println(my_long);
System.out.println(my_float);
System.out.println(my_double);
System.out.println(my_boolean);
System.out.println(my_char); }

在数值类型中,大范围的类型可以存储小范围类型的数据

byte,short,char—>int—>long—>float—>double(从低到高)

    public static void main(String[] args) {
float f = 1;//float接收int型的数据
f= 12.3f;//重新初始化
double dl = f;//double接收一个float类型的数据
System.out.println(dl); }

另外char类型的数据也可以用int型接收

    public static void main(String[] args) {
char ch = 'A';
int i = ch;
System.out.println(i); }

char类型的数据被int型接收后,会按照ASCII码转换成数字

强制类型转换:可以使用小范围的数据类型去存储大范围类型的数据,但是数据类型一定是要兼容的

    public static void main(String[] args) {
int i = 127;
byte b = (byte)i;
System.out.print(b);
}

不过转换过程可能导致溢出或损失精度,可以把上面127改成128,byte类型是8位,最大值是127,当int型强制转换成btye型时,128会导致溢出

当小数型转换为整数的时候,是直接把小数位去掉的,不是四舍五入的。

    public static void main(String[] args) {
float f = 12.8f;
int i =(int)f;
System.out.print(i);
}

二、引用类型

在Java中,引用类型的变量非常类似于C/C++的指针。引用类型指向一个对象,指向对象的变量是引用变量。这些变量在声明时被指定为一个特定的类型,比如 Employee、Puppy 等。变量一旦声明后,类型就不能被改变了。

对象、数组都是引用数据类型。

所有引用类型的默认值都是null。

一个引用变量可以用来引用任何与之兼容的类型。

例子:Site site = new Site("Runoob")。

java学习笔记04-基本数据类型的更多相关文章

  1. Java学习笔记二:数据类型II

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一  Java中的数据类型 Java ...

  2. Java学习笔记 01 基本数据类型、标识符、关键字和运算符

    一.基本数据类型 基本数据类型 数据类型 内存空间(8位等于1字节) 取值范围 备注 byte 8位 -128~127   short 16位 -32768~32767   int 32位 -2147 ...

  3. Core Java 学习笔记——2.基本数据类型&类型转换

    数据类型(8种基本类型:int/short/long/byte/float/double/char/boolean) 整型 int 4字节 -2 147 483 648~2 147 483 647 s ...

  4. Java学习笔记(基本数据类型和变量命名规则)

    java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...

  5. Java学习笔记一:数据类型I

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/IntPractice1.java https://github.com ...

  6. Java学习笔记day03_引用数据类型

    1.引用数据类型 步骤: 1. 导包   2. 创建引用类型变量 类型 变量名 = new 类型名();   3. 使用数据类型的功能 变量名.功能名(); 如Scanner类: import jav ...

  7. Java学习笔记:04面向对象-内部类_访问修饰符_final

    04面向对象-内部类/访问修饰符/final 1.static的介绍 static:关键字,静态的 static的作用是用来修饰类中的成员 2.访问一个类中的某一个成员变量 方法一: _1.创建对象 ...

  8. Java学习笔记 04 类和对象

    一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...

  9. 【8-22】java学习笔记04

    java基础类库 Scanner类(java.util.scanner) Scanner对象.hasNextXxx(),hasNext()默认方法为字符串://Returns true if this ...

随机推荐

  1. Linux下网络配置与修改Centos7为列

    一.基础知识 手动绑定: 命令 一般是临时的修改,重启后失效,如:ifconfig.route.ip addr等. 修改配置文件 修改文件配置,永久有效,但是可能不能立即生效,需要重启服务 (serv ...

  2. 【zabbix教程系列】三、zabbix 3.4 在centos 7 上安装详细步骤

    一.环境准备 [root@ltt01 ~]# ip a : lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN qlen ...

  3. C++编程音视频库ffmpeg的pts时间换算方法

    ffmpeg中的pts,dts,duration时间记录都是基于timebase换算,我们主要分析下pts的时间怎么换算,其它的是一样的换算.ffmpeg的时间换算对许多新接触同学算是一个大坑,很多刚 ...

  4. react-redux的基本用法

    注意:读懂本文需要具备redux基础知识, 注明:本文旨在说明如何在实际项目中快速使用react-redux,限于篇幅,本文对具体的原理并未做分析,请参考redux官网 我一直以为我写了一篇关于rea ...

  5. 加载hive-jdbc driver时报错:java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration

    这是因为缺少一个hadoop-common包,引入即可: <dependency> <groupId>org.apache.hadoop</groupId> < ...

  6. Monte Carlo Method(蒙特·卡罗方法)

    0-故事: 蒙特卡罗方法是计算模拟的基础,其名字来源于世界著名的赌城——摩纳哥的蒙特卡罗. 蒙特卡罗一词来源于意大利语,是为了纪念王子摩纳哥查理三世.蒙特卡罗(MonteCarlo)虽然是个赌城,但很 ...

  7. Linux lvs三种模式工作原理

    LVS:Linux Virtual Sevser,Linux虚拟服务器,由章文嵩先生成立的有关负载均衡的开源项目.基于Linux内核.优化后并发量可以达到百万级. NAT模式: NAT(Network ...

  8. Curl请求慢

    背景原因:测试环境发现一个连接内网访问和外网访问延迟差别很大,内网访问很快.外网访问很慢.于是我们用curl来诊断问题所在的区域! 命令如下: 1 curl -o /dev/null -s -w %{ ...

  9. 课下作业MyCP的分析

    目录 MyCP 题目 截图 代码 相关知识 出现的问题 代码托管 参考资料 MyCP 题目 编写MyCP.java 实现类似Linux下cp XXX1 XXX2的功能,要求MyCP支持两个参数: ja ...

  10. ES6-Babel-Browserify使用教程

    ES6-Babel-Browserify使用教程 定义package.json文件 { "name" : "es6-babel-browserify", &qu ...