笔记3:java数据类型划分
2016-10-04 15:44
274 查看
个人选择数据类型原则(99%通用)
内置数据类型分类(6种数值类型,1种字符类型,1种布尔型)
byte(1个字节)
short(2个字节)
int(4个字节)
long(8个字节)
float(4个字节)
double(8个字节)
char(2个字节)
boolean
NOTE:对于数值类型的基本取值范围,我们无需去强制记忆,因为他们的值都已经以常量的形式定义在对应的包装类中了。
包装类
java数据类型-int
变量和常量:常量不可以变化,而变量是可以变化的
数据溢出:每一种数据类型都有其对应的数据类型的保存范围,那么就有可能在执行代码的时候数据溢出,面对数据溢出,怎么解决?
运行结果
2147483647
-2147483648//这里发生了数据溢出
-2147483648
2147483647//这里也发生了数据溢出
解决办法:只能够通过扩大数据范围的方式来实现,那么比int更大的是long数据类型
数据类型转换(有以下规律)
数据范围小的数据与数据范围大的数据进行数学计算的时候,自动向大数据转换
public class TestForInt {
public static void main(String [] args){
double num = 10 + 10.1;
System.out.println(num);
}
}
运行结果
20.1
数据范围大的数据要变为数据范围小的数据,那么必须采用强制转换
如果是常量进行强制转换,有两种方式:100L,(long)100
int变量+int常量=int型数据
int变量+long常量=long型数据
long变量+int常量=long型数据
在哪种情况下,我们会遇到数据溢出?
只要你写的代码属于正常可以使用的代码,基本上数据溢出的情况就很少见
NOTE:所有的变量在使用的时候一定不要去相信默认值,都需要设置具体内容,最标准的做法是在申明变量的时候直接赋值,int num = 0;
运行结果
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
The local variable num may not have been initialized //没有进行初始化
at TestForInt.main(TestForInt.java:5)
java数据类型划分-浮点型
double是保存范围最广的数据类型,在java中只要使用小数,我们都用double
java数据类型划分-char
byte是属于字节,一个字节=两个字符,对于字符除了与字节有一些关系外,最主要的关系在于int型变量的转换
在计算机的世界里面一切都是编码的形式出现的,java使用的是16进制的unicode编码,此类编码可以保存任意文字,但是这个编码在设计的过程之中,考虑到与其他语言的结合问题(C,C++),那么在此编码里面包含了ascii码的部分编码,所以如果你之前有过类似的开发,那么这里就可以完全无缝连接
字符可以和int型相互转换
传统的编程语言之中,字符里面只能够保存一些英文文字,但是在java中,我们可以保存任意的文字,因为java使用的是unicode编码
java数据类型划分-布尔型(boolean)
布尔型是一种逻辑结果,主要保存两类数据,true,false
在许多的语言之中,由于设计的初期没有考虑到布尔型的问题,那么就使用数字0表示false,非数值0表示true,但是这样的设计对于代码开发比较混乱,java里面是不允许的,在java中只能有false和true两个值
java数据类型划分-String类型
与其他基本类型相比,String属于
字符串变量和字符串常量
在String操作里面,可以使用“+”进行字符串的连接操作
String型数据+int型数据+double型数据=字符串型数据
任何的数据类型都是向范围大的数据类型进行转换
int+int+String=》加号是从左到右的执行顺序
java里面也支持多种转义字符的使用:
\n:换行 \r:回车 \f:换页符 \b:退格 \s:空格 \t:制表符 \”:双引号 \’:单引号 \:反斜杠 \ddd:八进制字符
\uxxxx:16进制Unicode字符
1. 如果要想表示整数就用int,表示小数就用double 2. 如果要描述日期时间数字或者表示文件(或内存)大小使用long 3. 如果要实现内容传递或者编码转换使用byte描述 4. 如果要想使用中文,使用char可以避免乱码问题 5. 数据表示范围:byte<int<long<double
内置数据类型分类(6种数值类型,1种字符类型,1种布尔型)
byte(1个字节)
short(2个字节)
int(4个字节)
long(8个字节)
float(4个字节)
double(8个字节)
char(2个字节)
boolean
NOTE:对于数值类型的基本取值范围,我们无需去强制记忆,因为他们的值都已经以常量的形式定义在对应的包装类中了。
包装类
import javax.swing.plaf.synth.SynthSeparatorUI; public class BasicDataTypes { public static void main(String[] args) { //byte System.out.println("基本类型byte 二进制位数"+ Byte.SIZE); System.out.println("包装类:java。lang。Byte"); System.out.println("最小值:Byte。MIN_VALUE="+ Byte.MIN_VALUE); System.out.println("最大值:Byte.MAX_VALUE=" + Byte.MAX_VALUE); System.out.println(); //short System.out.println("基本数据类型short 二进制位数:" + Short.SIZE); System.out.println("包装类:java。lang。Byte"); System.out.println("最小值:Short。MIN_VALUE=" + Short.MIN_VALUE); System.out.println("最大值:Byte。Max_VALUE=" + Short.MAX_VALUE); System.out.println(); //int System.out.println("基本类型int 二进制位数:" + Integer.SIZE); System.out.println("包装类:java.lang.Integer"); System.out.println("最小值:Integer。MIN_VALUE=" + Integer.MIN_VALUE); System.out.println("最大值:Integer。Max_VALUE=" + Integer.MAX_VALUE); System.out.println(); //long System.out.println("基本数据类型long 二进制位数:" + Long.SIZE); System.out.println("包装类:java.lang.Long"); System.out.println("最小值:Long.MIN_VALUE=" + Long.MIN_VALUE); System.out.println("最大值:Long.MAX_VALUE=" + Long.MAX_VALUE); System.out.println(); //float System.out.println("基本数据类型float 二进制位数:" + Float.SIZE); System.out.println("包装类:java.lang.Float"); System.out.println("最小值:Float.MIN_VALUE=" + Float.MIN_VALUE); System.out.println("最大值:Float。MAX_VALUE=" + Float.MAX_VALUE ); System.out.println(); //double System.out.println("基本数据类型double 二进制位数" + Double.SIZE); System.out.println("包装类:java.lang.Double"); System.out.println("最小值:Double。MIN_VALUE=" + Double.MIN_VALUE); System.out.println("最大值:Double.MAX_VALUE=" + Double.MAX_VALUE); System.out.println(); //char System.out.println("基本数据类型char 二进制位数" + Character.SIZE); System.out.println("包装类:java。lang。Character"); System.out.println("最小值:Character,MIN_VALUE=" + (int)Character.MIN_VALUE); System.out.println("最大值:Character.MAX_VALUE=" + (int)Character.MAX_VALUE); System.out.println(); } }
java数据类型-int
变量和常量:常量不可以变化,而变量是可以变化的
数据溢出:每一种数据类型都有其对应的数据类型的保存范围,那么就有可能在执行代码的时候数据溢出,面对数据溢出,怎么解决?
public class TestForInt { public static void main(String [] args){ int max_value = Integer.MAX_VALUE; int min_value = Integer.MIN_VALUE; System.out.println(max_value); System.out.println(max_value+1); System.out.println(min_value); System.out.println(min_value-1); } }
运行结果
2147483647
-2147483648//这里发生了数据溢出
-2147483648
2147483647//这里也发生了数据溢出
解决办法:只能够通过扩大数据范围的方式来实现,那么比int更大的是long数据类型
数据类型转换(有以下规律)
数据范围小的数据与数据范围大的数据进行数学计算的时候,自动向大数据转换
public class TestForInt {
public static void main(String [] args){
double num = 10 + 10.1;
System.out.println(num);
}
}
运行结果
20.1
数据范围大的数据要变为数据范围小的数据,那么必须采用强制转换
public class TestForInt { public static void main(String [] args){ int num = 10 + (int)10.1;//强制转换,丢失精度 System.out.println(num);//结果为20 } }
如果是常量进行强制转换,有两种方式:100L,(long)100
int变量+int常量=int型数据
int变量+long常量=long型数据
long变量+int常量=long型数据
在哪种情况下,我们会遇到数据溢出?
只要你写的代码属于正常可以使用的代码,基本上数据溢出的情况就很少见
NOTE:所有的变量在使用的时候一定不要去相信默认值,都需要设置具体内容,最标准的做法是在申明变量的时候直接赋值,int num = 0;
public class TestForInt { public static void main(String [] args){ int num; System.out.println(num); } }
运行结果
Exception in thread “main” java.lang.Error: Unresolved compilation problem:
The local variable num may not have been initialized //没有进行初始化
at TestForInt.main(TestForInt.java:5)
java数据类型划分-浮点型
double是保存范围最广的数据类型,在java中只要使用小数,我们都用double
默认的小数类型就是double,所以如果使用了float表示需要将double型变为float型,需要采用强制转换
java数据类型划分-char
byte是属于字节,一个字节=两个字符,对于字符除了与字节有一些关系外,最主要的关系在于int型变量的转换
在计算机的世界里面一切都是编码的形式出现的,java使用的是16进制的unicode编码,此类编码可以保存任意文字,但是这个编码在设计的过程之中,考虑到与其他语言的结合问题(C,C++),那么在此编码里面包含了ascii码的部分编码,所以如果你之前有过类似的开发,那么这里就可以完全无缝连接
字符可以和int型相互转换
传统的编程语言之中,字符里面只能够保存一些英文文字,但是在java中,我们可以保存任意的文字,因为java使用的是unicode编码
java数据类型划分-布尔型(boolean)
布尔型是一种逻辑结果,主要保存两类数据,true,false
在许多的语言之中,由于设计的初期没有考虑到布尔型的问题,那么就使用数字0表示false,非数值0表示true,但是这样的设计对于代码开发比较混乱,java里面是不允许的,在java中只能有false和true两个值
java数据类型划分-String类型
与其他基本类型相比,String属于
引用数据类型(属于类,在java里面只要是类名称,每一个单词的首字母都是大写的),但是这个类的使用比较特殊。String表示的是一个字符串,即,多个字符的集合,使用双引号包括起来
字符串变量和字符串常量
在String操作里面,可以使用“+”进行字符串的连接操作
public class TestForInt { public static void main(String [ 4000 ] args){ String str01 = "my";//String创建方式1 String str02 = new String("love");//String创建方式2 String str03 = str01 + str02;//使用“+”进行字符串的连接操作 System.out.println(str03); } }
String型数据+int型数据+double型数据=字符串型数据
任何的数据类型都是向范围大的数据类型进行转换
int+int+String=》加号是从左到右的执行顺序
java里面也支持多种转义字符的使用:
\n:换行 \r:回车 \f:换页符 \b:退格 \s:空格 \t:制表符 \”:双引号 \’:单引号 \:反斜杠 \ddd:八进制字符
\uxxxx:16进制Unicode字符
相关文章推荐
- Java学习笔记-数据类型划分
- java学习笔记(二) ----基本数据类型应用
- Java数据类型的划分
- Java笔记:第2章 数据类型
- [笔记][Java 4 Android][001~006] Java4android 环境配置、变量、基本数据类型
- Java学习笔记---2.Java标识符和基本数据类型
- Java学习笔记(一) Java基础以及数据类型介绍
- Java基础学习笔记(一)环境变量配置,数据类型,运算符,控制语句,循环语句
- C\C++ 程序员从零开始学习Android - 个人学习笔记(四) - java基础 - 数据类型、变量、字符串、数组
- My_Java之笔记(2)-基本数据类型对象包装类
- Java学习笔记---2.Java标识符和基本数据类型
- Java基础学习笔记(一)基本数据类型
- 浪潮优派培训Java笔记:第2章 数据类型
- 温习Java笔记(2):理解java语言的数据类型
- J2SE学习笔记3 — Java基本语法(2)基本数据类型
- Java笔记之语言基础_基本数据类型
- [张龙老师Java课程笔记]Java SE第二课 原生数据类型
- JAVA数据类型的划分
- java学习笔记---数据类型、运算符和控制语句
- (JAVA SE 学习笔记)Java.SE.第003讲.原生数据类型使用陷阱.Pitfall.of.Primitive.Data.Type