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. HCNP Routing&Switching之路由引入导致的问题及解决方案

    前文我们了解了路由引入相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15359902.html:今天我们来讨论下由于路由引入所导致的问题以及怎么避免此 ...

  2. 数据结构与算法——克鲁斯卡尔(Kruskal)算法

    目录 应用场景-公交站问题 克鲁斯卡尔算法介绍 克鲁斯卡尔算法图解 克鲁斯卡尔算法分析 如何判断回路? 代码实现 无向图构建 克鲁斯卡尔算法实现 获取一个点的终点解释 应用场景-公交站问题 某城市新增 ...

  3. 深入理解Java虚拟机之JVM内存布局篇

    内存布局**** ​ JVM内存布局规定了Java在运行过程中内存申请.分配.管理的策略,保证了JVM的稳定高效运行.不同的JVM对于内存的划分方式和管理机制存在部分差异.结合JVM虚拟机规范,一起来 ...

  4. gin 跨域问题

    package middlewares import ( "github.com/gin-gonic/gin" "net/http" ) func Cors() ...

  5. CF1082G Petya and Graph(最小割,最大权闭合子图)

    QWQ嘤嘤嘤 感觉是最水的一道\(G\)题了 顺便记录一下第一次在考场上做出来G qwqqq 题目大意就是说: 给你n个点,m条边,让你选出来一些边,最大化边权减点权 \(n\le 1000\) QW ...

  6. Canal的简单使用

    Canal的简单实用 一.背景 二.canal的工作原理 三.安装canal 1.mysql配置相关 1.检测binlog是否开启 2.mysql开启binlog 3.创建canal用户 2.cana ...

  7. Java High Level REST Client 使用地理位置查询

    Java High Level REST Client 使用地理位置查询 一.需求 二.对应的query语句 三.对应java代码 1.引入 jar 包 2.创建 RestHighLevelClien ...

  8. cadence 技巧

    pcb中如何选中完整的一条网络? 1 edit  properties  右边 find nets 2 cadence 选中不同的网络高亮 display--->assign color在opt ...

  9. Python课程笔记(六)

    今天上课补上了上次未学完比较重点的鼠标和键盘事件,同时开始学习运用turtle进行绘图. 本次课程的代码: https://gitee.com/wang_ming_er/python_course_l ...

  10. [CSP-S 2021] 廊桥分配 题解

    写篇题解来纪念我炸掉的CSP 唯一会做的题代码写挂了(痛苦面具 思路 我看到这道题第一眼想到的是线段树,感觉可以用线段树维护飞机入站到出战的这段时间,想了半天想不到代码怎么写. 国内机场与国外机场要分 ...