一、进制转换
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. 如何完全退出android应用程序

    当一个android应用程序包含多个activity时,要完全退出android应用程序,便要销毁掉所有的activity,下面是一种网上流传的比较经典完美的方法: 首先要定义一个继承Applicat ...

  2. 【转】AFNetworking之于https认证

    转自:http://www.cocoachina.com/ios/20161220/18393.html 写在开头: 本来这篇内容准备写在AFNetworking到底做了什么?(三)中的,但是因为我想 ...

  3. C#Linq的使用

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. HTML 控件和web控件 OnClientClick和OnClick OnServerClick区别

      ^_^ 本来对html控件,服务器控件的知识模模糊糊的.今天特地查了相关的知识. 下面是我写代码总结的. 这些事件   主要用于在客户端执行验证,然后决定是否执行服务端事件   (没接触之前就为此 ...

  5. 开启Mysql慢查询来优化mysql

    开启Mysql慢查询来优化mysql 优化sql语句是优化数据库的一个很重要的方面,那么怎么发现那些耗时耗资源的sql语句呢,开启Mysql慢查询! 1.查看是否开启慢查询,默认情况下是关闭的.你的m ...

  6. String or binary data would be truncated

    在使用Typed Dataset进行数据的插入时,会报这样的错:String or binary data would be truncated. 我碰到的原因是 数据库中字段的长度过段,插入时内容被 ...

  7. shell 中 2>&1 的使用

    一 相关知识 1)默认地,标准的输入为键盘,但是也可以来自文件或管道(pipe |). 2)默认地,标准的输出为终端(terminal),但是也可以重定向到文件,管道或后引号(backquotes ` ...

  8. 修改SELinux设置,使vsftp在enforcing security enhance模式下正常运行

    开了SELinux和防火墙,没想到引出了vsftp的问题.FTP登录报错:500 OOPS: cannot change directory.下面来看看产生这个问题的原因和对策. 首先,分析一下冲突原 ...

  9. java(try块语句变量,和匿名类变量生存时间

    在try块定义的变量不能作用于快外 // int a=2; try{ int a=3; System.out.println(a); } catch(Exception e){} System.out ...

  10. C++拾遗(六)函数相关(1)

    返回值 C++规定返回值不能是 数组.但可以是其它任何类型(包括结构体和对象). 通常,函数将返回值复制到指定的CPU寄存器或内存单元中,然后调用函数调用该内存单元的值. 函数原型 参数列表中可以不包 ...