1.程序的本质实际上就是在于数据的处理上。

  JAVA中的数据类型有两类

    基本数据类型:是进行内容的操作而不是内存的操作

    数值型:
      整型:byte(-128 ~ 127),short(-32768 ~ 32767),int(-2147482648 ~ 2147482647),long(-9223372036854775808 ~ 9223372036854775807)  默认值:0
      浮点型:flost(-3.4E38 ~ 3.4E38),double(-1.7E308 ~ 1.7E308)  默认值:0.0
      字符型:char  默认值:‘\u000’
      布尔型:boolean  默认值:false),true

    引用数据类型:在数据交互过程中会占用内存空间指向

    分为:数组,类,接口;默认值:null
 
 System.out.println(Integer.toBinaryString(a)); //二进制转换
System.out.println(Integer.toOctalString(a)); //八进制转换
System.out.println(Integer.toHexString(a)); //十六进制转换
BigDecimel 大小数
BigIwteger 大整数
 
 long a7 = 11123213232L;
long l = 3;
long l2 = l+3; //L问题
  使用环境

    表示整数首先考虑的就是int,

    表示小数玩使用double

    表示日期时间数字,文件,内存大小使用long(单位:字节);

    进行编码转换,数据传输使用byte类型;

    处理中文使用char类型;

    处理逻辑使用boolean类型;

2.0整型

  在JAVA中有一个特点:默认的一个整数,其对应的类型永恒是int。

 //定义变量的语法:数据类型 变量名称=默认值:int num=10; 定义一个num变量,其内容为10;

  变量的内容在开发中是允许修改的,常量是不行的

int a=lnteger.MAX_VALUE;//int的最大值

         .MIN_VALUE;//int的最小值

  +1后会出现数据溢出的问题

  之所以会出现数据溢出操作,那么本质的问题是在于数据类型的操作位数太短了,那么在这种情况下(正常代码基本不会出现),所以想要解决此时溢出的问题,那么就必须扩展操作类型,

问题!怎么从int变量或者是常量变成了更大的量呢?

  将int变量转为long:(long)int变量;或者是常量后面加个L。如果小范围的数据类型变量或者是常量与大范围的变量或常量计算时,先转换到大范围数据类型。

   在JAVA中,由于byte类型比较特殊,那么进行赋值处理时,如果设置的整型数据(局限于常量)在byte范围内那么它会帮助用户自动转型,如果超过了byte的范围,那么则需要进行向下的强制转换

  浮点型

    JAVA中小数默认:double

    任何的数据类型与double类型进行数学计算时都会自动转换为double类型。

    默认值现在在方法面前没有用处

    整型常量计算除法出来的小数不保留,

    最好避免比较中使用浮点数

//double d = 3.14; //浮点数常量默认类型是double。
//float f = 6.28F;
double d2 = 314e-2; //采用科学计数法的写法
System.out.println(d2); float f = 0.1f;
double d = 1.0/10;
System.out.println(f==d); //false

  字符型

    char主要保存单个字符,并且单个字符要用 ’ 声明

    以后只要是使用了单引号声明的内容都表示单个字符

    char可以保存中文

    char 是在0~65535范围运算时直接当作整数来运算。(ASCII 表)

 

  常用字符范围

    大写字母:‘A’(65)~‘Z’(90);

    小写字母:‘a’(97)~‘z’(122);

    数字字母:‘0’(48)~‘9’(57);

  大写字母和小写字母的编码之间差了32个内容;(保存的是编码)
 
 

  布尔型

      boolean 表示的是布尔型数据类型,所谓的布尔类型就是有两个的内容概念,true(真),false(假);一般情况下boolean类型往往都是要结合判断语句完成处理

      0 是false 其他或者是1 是true

  字符串:String

    利用char只能够保存单个字符,这很大程度上是有限制的,所以如果想要表示多个字符,就可以利用String完成。Strong是个类,这个类的使用较为特殊,可以像基本数据类型,那样完成。在程序中使用双引号声明的数据,就是字符串。

/*
//字符串相连:加号两边只要有一个为字符串,则变为字符串连接符,整个结果为字符串。
System.out.println(4+"5");
*/
public class Test{
public static boid main(String args[]){
int x = 10;
double y = 20.3;
// 所有的数据类型与String进行 + 操作中都会自动变为String类型
// 字符串 + double 变为字符串 + int 变为字符串
String str1 = '计算结果:' + y + x; // 计算结果:20.310
String str2 = '计算结果:' + (y + x); // 计算结果:30.3
System.out.println(str1);
System.out.println(str2);
}
}

  例外一点,在程序中还存在有转义字符,包括:“\n”,“\\”,“\‘’”,“\‘”,“\t”……

Java常量的声明和使用

    常量就是从程序开始运行到结束都不变的量。在 Java 程序设计中,使用关键字“final”来声明一个常量,例如下面的程序代码。
///这里的 x 是一个常量,但是是在某个方法内的常量,也可以称为成员常量(作者给它取的名字)
public class var{
public static void main(String args[]){
var m=new var();
final int X=20;
System.out.println("常量 X=" + X);
  }
}
// 结果: 常量X = 20
  如果要声明一个类常量,就需要使用关键字“static”和“final”的组合,例如下面的例子。
///这里的 x 是类常量,所以无论是哪个对象的引用,它的值终究不变
public class var{
static final int X = 20;
public static void main(String args[]){
System.out.println(" 打印数据 X="+X);
}
}
/*结果是:
打印数据 X=20
*/
  从上面的例子可以看出,如果这个常量是类常量,那么无需再构造对象,可以直接引用这个常量。前一个例子声明的常量是一般常量,不是类常量,所以一定要构造对象,通过对象来引用这个常量,所以切记类常量和一般常量的区别所在。
 

  表示年龄使用int,表示成绩使用double,表示姓名使用String,表示逻辑使用boolesn。

(如有错误一定改!)

菜鸡的Java笔记第二 - java 数据类型的更多相关文章

  1. 转 Java笔记:Java内存模型

    Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记 ...

  2. 菜鸡的Java笔记 第二十八 - java 包的定义

    包的主要作用以及定义    包的导入操作    系统常见的开发包    jar 程序命令        包的定义        在任何的操作系统之中都有一个统一的共识:同一个目录下不能够存在有相同的文 ...

  3. 菜鸡的Java笔记 简单JAVA 类的开发原则以及具体实现

    /*  现在要求定义一个雇员信息类 在这个类之中包含有雇员编号 姓名 职位 基本工资 佣金等信息    对于此时给定要求实际上就是描述一类事物,而这样的程序类在在java之中可以将其称为简单java类 ...

  4. java 笔记(4) —— java I/O 流、字节流、字符流

    Java中使用流来处理程序的输入和输出操作,流是一个抽象的概念,封装了程序数据于输入输出设备交换的底层细节.JavaIO中又将流分为字节流和字符流,字节流主要用于处理诸如图像,音频视频等二进制格式数据 ...

  5. Java笔记:Java集合概述和Set集合

    本文主要是Java集合的概述和Set集合 1.Java集合概述 1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组 ...

  6. Mysql技术内幕-笔记-第二章 数据类型

    第二章 数据类型 Mysql中尽量不要使用UNSIGNED,因为可能会带来一些意想不到的效果 SHOW CREATE TABLE tablename\G;查看表的创建语句 ZEROFILL会将宽度小于 ...

  7. Java笔记:Java 流(Stream)、文件(File)和IO

    更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...

  8. 菜鸡的Java笔记 第二十五 wrapperClass 包装类

    wrapperClass 包装类         1.包装类的特点        2.装箱与拆箱操作        3.数据转型处理            内容        Object 类可以接收 ...

  9. 菜鸡的Java笔记 第二十七 - java 链表基本概念

    链表基本概念        1.链表的基本形式        2.单向链表的完整实现            认识链表        链表= 可变长的对象数组,属于动态对象数组的范畴        链表 ...

随机推荐

  1. RabbitMQ 3.9.7 镜像模式集群与Springboot 2.5.5 整合

    1. 概述 老话说的好:做人要懂得变通,善于思考,有时稍微转个弯,也许问题就解决了. 言归正传,之前我们聊了 RabbitMQ 3.9.7 镜像模式集群的搭建,今天我们来聊聊 RabbitMQ 3.9 ...

  2. NOIP 模拟五 考试总结

    T1string T1开的不错,看到这个题很激动,类似与HEOI2016排序,好像还要更简单一些,于是迅速冲了个桶排.因为洛谷上排序那道题是用桶排水的,所以我觉得没必要打线段树了,极端大数据20秒冲过 ...

  3. C++ Primer 查漏补缺 —— C++ 中的各种初始化

    初学者在刚开始读 C++ Primer 的时候,总是容易被书中各种初始化搞得头大:默认初始化.列表初始化.值初始化.类内初始值.构造函数初始值列表.new int 和 new int() 的区别... ...

  4. DL4J实战之三:经典卷积实例(LeNet-5)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  5. Editing Tools(编辑工具)

    编辑工具 # Process: 修剪线 arcpy.TrimLine_edit("", "", "DELETE_SHORT") # Proc ...

  6. 洛谷2805 [NOI2009]植物大战僵尸 (拓扑排序+最小割)

    坚决抵制长题面的题目! 首先观察到这个题目中,我们会发现,我们对于原图中的保护关系(一个点右边的点对于这个点也算是保护) 相当于一种依赖. 那么不难看出这个题实际上是一个最大权闭合子图模型. 我们直接 ...

  7. Golang通脉之接口

    接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节. 接口类型 在Go语言中接口(interface)是一种类型,一种抽象的类型. interface是 ...

  8. Java版人脸检测详解上篇:运行环境的Docker镜像(CentOS+JDK+OpenCV)

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. Gitlab Burndown Chart

    一.说明 通过调用gitlab api直接获取相应project的所有issues,然后对其进行统计以制作燃尽图 二.方法 1.生成 Personal access token Gitlab > ...

  10. 需求存在,功能存在——Alpha阶段性总结

    0.Alpha开发成果 题士Alpha发布报告 题士开发记录 1.任务划分 Alpha阶段大致将任务划分为Design,Develop和Test三类 Design型任务包含页面UI设计和接口API设计 ...