java学习笔记04-基本数据类型
编写一款可用的软件,离不开对数据的操作(经常有人说:程序=数据+算法)。数据可能有很多类型,比如对于年龄来说,数据就是整数。
对于金额来,数据是带小数的。在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-基本数据类型的更多相关文章
- Java学习笔记二:数据类型II
GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一 Java中的数据类型 Java ...
- Java学习笔记 01 基本数据类型、标识符、关键字和运算符
一.基本数据类型 基本数据类型 数据类型 内存空间(8位等于1字节) 取值范围 备注 byte 8位 -128~127 short 16位 -32768~32767 int 32位 -2147 ...
- Core Java 学习笔记——2.基本数据类型&类型转换
数据类型(8种基本类型:int/short/long/byte/float/double/char/boolean) 整型 int 4字节 -2 147 483 648~2 147 483 647 s ...
- Java学习笔记(基本数据类型和变量命名规则)
java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...
- Java学习笔记一:数据类型I
GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/IntPractice1.java https://github.com ...
- Java学习笔记day03_引用数据类型
1.引用数据类型 步骤: 1. 导包 2. 创建引用类型变量 类型 变量名 = new 类型名(); 3. 使用数据类型的功能 变量名.功能名(); 如Scanner类: import jav ...
- Java学习笔记:04面向对象-内部类_访问修饰符_final
04面向对象-内部类/访问修饰符/final 1.static的介绍 static:关键字,静态的 static的作用是用来修饰类中的成员 2.访问一个类中的某一个成员变量 方法一: _1.创建对象 ...
- Java学习笔记 04 类和对象
一.类和对象的概念 类 >>具有相同属性和行为的一类实体 对象 >>实物存在的实体.通常会将对象划分为两个部分,即静态部分和动态部分.静态部分指的是不能动的部分,被称为属性,任 ...
- 【8-22】java学习笔记04
java基础类库 Scanner类(java.util.scanner) Scanner对象.hasNextXxx(),hasNext()默认方法为字符串://Returns true if this ...
随机推荐
- python中可变与不可变类型变量中一些较难理解的地方
当函数内部引用一个全局变量时,如果此全局变量为可变类型,那么函数内部是可以改变此全局变量的值,用不用globale申明全局变量都一样.但是如果想给此变量重新赋值则必须要使用global. l = [] ...
- RB-Tree插入过程详解
红黑树具有很优秀的特性,其自平衡性特性,局部调整特性使得红黑树插入,删除,以查找,以及这些过程的内存资源的占用,的综合性能是非常高的(通常我们会拿红黑树和AVL树进行对比). 对于红黑树的这些特性,在 ...
- [Alpha阶段]发布说明
[Alplha阶段]发布说明 小小易校园小程序发布说明 版本功能 [Alpha版本]功能说明 1.注册及登录功能 2.修改密码功能 3.自动登录.退出登录功能 4.个人资料修改及简历模板功能 5.查看 ...
- Photoshop快速给美女人像换头发
今天给大家带来的教程是应用PS来抠出人物图片的发丝和修改头发的颜色. OK开始今天的教程 1.将素材文件拖拽进PS,CTRL+J复制一层. 2.应用快速选择工具大致的将头发部分选区出来,不需要太过仔细 ...
- sql是最成功的第四代语言
SQL发展的前世今生 很多年前,两名年轻的IBM研究员将一门关系型语言带到了数据库领域,旨在使用声明性的方式来操作数据.从Don Chamberlin和Ramond Boyce发表"SEQU ...
- nginx的配置与应用
Nginx在应用程序中主要有以下作用(应用):1.解决跨域.2.请求过滤.3.配置Gzip.4.负载均衡.5.静态资源服务器. Nginx的配置结构 Nginx主要是通过修改配置文件nginx.con ...
- C#给字符串赋予字面值——字符串插入、转义序列的使用
1.占位符.字符串插入 给字符串赋予字面值时,经常遇见在字符串中包含变量的情况,用连接符进行拼接.转换的方式比较麻烦.还容易出错.C#提供了较为便捷的处理方式,即‘占位符’,以及C#6的新功能‘插入字 ...
- P2447 [SDOI2010]外星千足虫 (高斯消元)
题目 P2447 [SDOI2010]外星千足虫 解析 sol写到自闭,用文字描述描述了半个小时没描述出来,果然还是要好好学语文 用高斯消元求解异或方程组. 因为 \(奇数\bigoplus奇数=偶数 ...
- HTML&CSS_基础03
一.Meta标签: 1.可以设置网页的关键字 2.用来指定网页描述 3.可以用来网页重定向 具体参数参见:http://www.w3school.com.cn/html5/tag_meta.asp 二 ...
- 【BZOJ3997】[TJOI2015]组合数学(动态规划)
[BZOJ3997][TJOI2015]组合数学(动态规划) 题面 BZOJ 洛谷 题解 相当妙的一道题目.不看题解我只会暴力网络流 先考虑要求的是一个什么东西,我们把每个点按照\(a[i][j]\) ...