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. heoi2020树

    _ _01trie树合并 _ _ 在考场上一直想用数据结构维护,还花了好长时间算 $(a+1)^(b+1)$,现在看来当时好像在犯傻........ 异或有个神奇的工具是 01trie 树,此题就用此 ...

  2. NOI2018屠龙勇士(扩展CRT + splay(multiset))

    QWQ 一到假期就颓废 哎 今年新鲜出炉的NOI题,QwQ同步赛的时候写的,后来交了一发洛谷,竟然过了 首先 根据题目,我们很容易得到,假设对应每一条龙的剑的攻击力是\(atk\)的话 \[a_i-x ...

  3. HAOI2012高速公路bzoj2752 (线段树,数学)

    题目大意: 给定一个长度为n的链,一共m次操作 对于每次操作 \(C\ l\ r\ x\)表示将第l个点到第r个点之间的所有道路的权值增加v \(Q\ l\ r\)在第l个到第r个点里等概率随机取出两 ...

  4. vue 2.0源码学习笔记—new Vue ( Vue 初始化过程 )

    new Vue(Vue 初始化) 一个vue实例化到底经历了什么?已下是博主自己的总结,不正确的地方请指出,谢谢~ 一.简述 从使用角度来看,挂载的顺序如下 1. $slots 2. $scopedS ...

  5. TypeScript中将函数中的局部变量“导出”的方法

    首先是在模块a.js中声明一个可导出(export)的数据结构,例如: export class ModelInfo{ id: string; name:string; } 其次是在模块b中声明可导出 ...

  6. linux中文件查找、whereis、which、输出命令

    1.文件查找(find):find是最常⻅和最强⼤的查找命令 格式:find / -name  文件名,比如:find / -name mysql.  (1).模糊查找:*是代表所有的,?是代表⼀个字 ...

  7. .Net Core中使用ElasticSearch(一)

    一.安装配置 在官网下载Es,注意版本号,不同大版本号之间差异很大.我安装的是7.14.0版本 1.1 安装成服务 cmd 进入bin目录下执行 elasticsearch-service.bat i ...

  8. Redis:学习笔记-03

    Redis:学习笔记-03 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 7. Redis配置文件 启动 ...

  9. Git浅析

    Git浅析 索引 Git的常用命令 GitHub的使用 Git版本创建和回退 Git的工作区和暂存区 Git分支管理 1-Git的常用命令 01.创建一个版本库--进入相应的目录 git init 可 ...

  10. Noip模拟62 2021.9.26

    T1 Set 真就随机化拿了$90$?? 不过还是有依据的,毕竟这道题出解的几率很大,随出答案的概率也极大 所以不妨打一个随机化 1 #include<bits/stdc++.h> 2 # ...