Java学习笔记(1)——基本数据类型
一、进制转换
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)——基本数据类型的更多相关文章
- Java学习笔记二:数据类型II
GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/Intpractice3.java 一 Java中的数据类型 Java ...
- Java学习笔记 01 基本数据类型、标识符、关键字和运算符
一.基本数据类型 基本数据类型 数据类型 内存空间(8位等于1字节) 取值范围 备注 byte 8位 -128~127 short 16位 -32768~32767 int 32位 -2147 ...
- Core Java 学习笔记——2.基本数据类型&类型转换
数据类型(8种基本类型:int/short/long/byte/float/double/char/boolean) 整型 int 4字节 -2 147 483 648~2 147 483 647 s ...
- Java学习笔记(基本数据类型和变量命名规则)
java基本数据类型 变量 1.变量就是可变的量. 2.常量就是不可变的量. 3.字面量:Java的变量和常量中存放的具体的数据成为字面量. 变量 命名规则: (1)首字母是英文字母.$或下划线,由字 ...
- java学习笔记04-基本数据类型
编写一款可用的软件,离不开对数据的操作(经常有人说:程序=数据+算法).数据可能有很多类型,比如对于年龄来说,数据就是整数. 对于金额来,数据是带小数的.在java中,可以分为内置数据类型和引用数据类 ...
- Java学习笔记一:数据类型I
GitHub代码练习地址:https://github.com/Neo-ML/JavaPractice/blob/master/IntPractice1.java https://github.com ...
- Java学习笔记day03_引用数据类型
1.引用数据类型 步骤: 1. 导包 2. 创建引用类型变量 类型 变量名 = new 类型名(); 3. 使用数据类型的功能 变量名.功能名(); 如Scanner类: import jav ...
- Java学习笔记----打印基本数据类型范围
/** * Created by N3verL4nd on 2016/11/10. */ public class HelloWorld { public static void main(Strin ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
随机推荐
- myqltransactionRollbackexception deadlock found when trying to get lock
linux 下远程连接mysq 命令: mysql -h "1.0.0.1" -u username -p 1 获 取锁等待情况 可以通过检查 table_locks_waited ...
- Windows与自定义USB HID设备通信说明.
1 . 所使用的典型 Windows API CreateFile ReadFile WriteFile 以下函数是 DDK 的内容: HidD_SetFeature HidD_GetFeatur ...
- Centos6 安装vnc
Centos6 安装vnc 1. 安装 使用yum方式安装 yum install tigervnc-server tigervnc #启动 vncserver #重启动 /etc/init.d/vn ...
- Android应用清单文件:AndroidManifest.xml
AndroidMainfest.xml清单文件是每个Android项目所必需的,它是整个Android应用的全家描述文件. <?xml version="1.0" encod ...
- VS2010 C++ 优化配置
个人感觉VC6.0太土了,而且有很多bug存在,且微软早就不对其更新.所以,在选择C++编程的时候.使用IDE,VC6.0一段时间以后,我毅然决然的放弃了,觉得还是使用VS2010比较有前途. 但是当 ...
- 若后台的Activity被系统回收...
你后台的Activity被系统回收怎么办?如果后台的Activity由于某种原因被系统回收了,如何在被系统回收之前保存当前状态? 除了在栈顶的Activity,其他的Activity都有可能在内存不足 ...
- thinkphp M 和模板用法
<?phpnamespace Home\Controller;use Think\Controller;class IndexController extends Controller { pu ...
- Canvas前端游戏开发——FlappyBird详解
一直想自己做点小东西,直到最近看了本<HTML5游戏开发>,才了解游戏开发中的一点点入门知识. 本篇就针对学习的几个样例,自己动手实践,做了个FlappyBird,源码共享在度盘;也可以参 ...
- CentOS下安装vsftpd架设ftp服务器
什么是vsftpd vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序.特点是小巧轻快,安全易用. 首先安装vsftpd这个软件,命令是,yum install vsftpd servi ...
- jquery判断滚动条到底
$(document).scroll(function(){ var dHeight = $(document).height(); var wHeight = $(window).height(); ...