一、进制转换
10^n被称为权  10称为基数  
计算机中正数和负数的关系是取反加一, 如: ~3+1=-3
补码边界运算有溢出风险
32位二进制补码最多表示2^32个数, -2G~2G
1,计算机中的一个二进制数, 00001111,它的10进制为:
0000 1111 = 15  正数直接转换
2, 1111 1001,10进制数是多少
1111 1001
0000 0110  按位取反
0000 0111  末尾加1
7
-7
1111 1001 = -7;
上面两个例子是从计算机中2进制转10进制,
下面是从10进制转计算机中2进制
1,正数取源码直接转
2,负数按位取反末尾加1
十六进制是2进制的简写,方便专业人员书写2进制数据
-----------------------------------------------------------
package pack01;

public class HexBie {
public static void main(String[] args){
int i = 192;
System.out.println(Integer.toBinaryString(i));
System.out.println(Integer.toHexString(i));
i = 0xf4;
System.out.println(i);
System.out.println(Integer.toHexString(i));
System.out.println(Integer.toBinaryString(i));
i = 072;
System.out.println(i);
}
}
---------------
11000000
c0
244
f4
11110100
58
-----------------------------------------------------------
java中,int类型能表示的数据范围最大为2G-1,最小为-2G.
i = 0x7fffffff;  //整数的最大值
i = 0x80000000;  //整数的最小值
二、数据类型
1,基本数据类型(8个)
  byte(1) short(2) char(2) int(4) long(8) float(4) double(8) boolean
  整型: byte, short, int, long
  浮点型: float, double
  字符型: char
  Boolean型: boolean
2,float: 1位为符号位(0,1),指数8位,尾数23位(精确度是23位)
  所以说int的精确度比float要大,但是int表示的范围小。
  float类型因为精度过低,所以一般很少使用,一般会使用double
3,double:1位符号位,11位指数,52位尾数。
------------------------------------------------------
package pack01;

public class HexBie {
public static void main(String[] args){
int a = 0x7fffffff;
int b = 0x7ffffff0;

float fa = a;  //精度不够
float fb = b;

System.out.println(a);
System.out.println(b);
System.out.println(fa);
System.out.println(fb);
System.out.println(fa == a);
System.out.println(fb == b);
System.out.println(a == b);
System.out.println(fa == fb);
}
}
------------------
2147483647
2147483632
2.14748365E9
2.14748365E9
true
true
false
true
------------------------------------------------------
4,字符型char**
字符类型是一个16位无符号整数,是一个2进制数,是一个unicode编码值。
java char的范围0~65535不能表示全部unicode,但是可以表示unicode最
常用部分,足够用了。
1,什么是编码?
 用二进制数表示10进制数或字母
unicode编码中英文部分与ASCII码兼容。
------------------------------------------------------
package pack01;

public class HexBie {
public static void main(String[] args){
char c;
c = 97;
System.out.println(c);
System.out.println((int)c);
}
}
--------------
a
97
------------------------------------------------------
package pack01;

public class HexBie {
public static void main(String[] args){
char c1,c2,c3;
c1 = 97;
c2 = '\n';
c3 = 98;
System.out.print(c1);
System.out.print(c2);
System.out.print(c3);
}
}
------------
a
b
------------------------------------------------------
//并不是所有字符都可见,比如"\u0000"一般作为c++字符串结束字符
package pack01;

public class HexBie {
public static void main(String[] args){
char c;
c = '\u0000';
System.out.println(c);
}
}

------------------------------------------------------
各类数值型数据间的混合运算
double <--- float
  ^
  |
long
  ^
  |
unsigned
  ^
  |
 int <---  char,short,byte
 横向表示必定转换,纵向表示当运算对象为不同类型是转换方向

Java学习笔记(1)——基本数据类型的更多相关文章

  1. Java学习笔记二:数据类型II

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一  Java中的数据类型 Java ...

  2. Java学习笔记 01 基本数据类型、标识符、关键字和运算符

    一.基本数据类型 基本数据类型 数据类型 内存空间(8位等于1字节) 取值范围 备注 byte 8位 -128~127   short 16位 -32768~32767   int 32位 -2147 ...

  3. Core Java 学习笔记——2.基本数据类型&类型转换

    数据类型(8种基本类型:int/short/long/byte/float/double/char/boolean) 整型 int 4字节 -2 147 483 648~2 147 483 647 s ...

  4. Java学习笔记(基本数据类型和变量命名规则)

    java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...

  5. java学习笔记04-基本数据类型

    编写一款可用的软件,离不开对数据的操作(经常有人说:程序=数据+算法).数据可能有很多类型,比如对于年龄来说,数据就是整数. 对于金额来,数据是带小数的.在java中,可以分为内置数据类型和引用数据类 ...

  6. Java学习笔记一:数据类型I

    GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/IntPractice1.java https://github.com ...

  7. Java学习笔记day03_引用数据类型

    1.引用数据类型 步骤: 1. 导包   2. 创建引用类型变量 类型 变量名 = new 类型名();   3. 使用数据类型的功能 变量名.功能名(); 如Scanner类: import jav ...

  8. Java学习笔记----打印基本数据类型范围

    /** * Created by N3verL4nd on 2016/11/10. */ public class HelloWorld { public static void main(Strin ...

  9. Java学习笔记(04)

    Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...

  10. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

随机推荐

  1. Vitamio 多媒体框架 介绍

    功能 Vitamio 是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染.Vitamio 凭借其简洁易用的 API 接口赢得了全球众多开发者的青睐.到目前 ...

  2. sql 判断表、列、视图等是否存在

    1 判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名')     drop database [数据库名] 2 判 ...

  3. RecyclerView更通用——listView的onItemClick,onLongItemClick,addHeaderView,addFooterView

    一.点击事件 setOnItemClickListener,setOnItemLongClickListener RecyclerView中虽然没有提供上面这两个接口,但是给我们提供了另外一个接口:O ...

  4. Android开发手记(10) 下拉菜单Spinner

    1.自定义Spinner 首先,定义Spinner要显示的项目列表/res/values/arrays.xml <?xml version="1.0" encoding=&q ...

  5. dp、sp 转换为 px 的工具类

    public class DisplayUtil { /** * 将px值转换为dip或dp值,保证尺寸大小不变 * * @param pxValue (DisplayMetrics类中属性densi ...

  6. 运维监控利器smokeping 500报错处理

    检查apache日志发现有以下错误: No such file or directory: exec of '/usr/local/smokeping/htdocs/smokeping.cgi' fa ...

  7. Hadoop源码解析之 rpc通信 client到server通信

    rpc是Hadoop分布式底层通信的基础,无论是client和namenode,namenode和datanode,以及yarn新框架之间的通信模式等等都是采用的rpc方式. 下面我们来概要分析一下H ...

  8. angularjs不同页面间controller传参方式,使用service封装sessionStorage

    这里分享一个我在实际项目中,使用service封装的一个依赖sessionStorage的传参服务. 这里先说下大背景,在我们的实际开发中,登陆之后一般会存在一个token,这个token将会贯穿全场 ...

  9. C#01

    C#语言 求4名同学三门成绩的平均值 using System; using System.Collections.Generic; using System.Linq; using System.T ...

  10. STL 之 vector 用法

    一.头文件 #include<vector> 二.常用方法: // 在这个向量的尾部插入x的考贝,平均时间为常数,最坏时间为O(n): 1: void push_back(const T& ...