菜鸡的Java笔记第二 - java 数据类型
1.程序的本质实际上就是在于数据的处理上。
基本数据类型:是进行内容的操作而不是内存的操作
引用数据类型:在数据交互过程中会占用内存空间指向
System.out.println(Integer.toBinaryString(a)); //二进制转换
System.out.println(Integer.toOctalString(a)); //八进制转换
System.out.println(Integer.toHexString(a)); //十六进制转换
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中小数默认: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);
布尔型
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常量的声明和使用
///这里的 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
///这里的 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 数据类型的更多相关文章
- 转 Java笔记:Java内存模型
Java笔记:Java内存模型 2014.04.09 | Comments 1. 基本概念 <深入理解Java内存模型>详细讲解了java的内存模型,这里对其中的一些基本概念做个简单的笔记 ...
- 菜鸡的Java笔记 第二十八 - java 包的定义
包的主要作用以及定义 包的导入操作 系统常见的开发包 jar 程序命令 包的定义 在任何的操作系统之中都有一个统一的共识:同一个目录下不能够存在有相同的文 ...
- 菜鸡的Java笔记 简单JAVA 类的开发原则以及具体实现
/* 现在要求定义一个雇员信息类 在这个类之中包含有雇员编号 姓名 职位 基本工资 佣金等信息 对于此时给定要求实际上就是描述一类事物,而这样的程序类在在java之中可以将其称为简单java类 ...
- java 笔记(4) —— java I/O 流、字节流、字符流
Java中使用流来处理程序的输入和输出操作,流是一个抽象的概念,封装了程序数据于输入输出设备交换的底层细节.JavaIO中又将流分为字节流和字符流,字节流主要用于处理诸如图像,音频视频等二进制格式数据 ...
- Java笔记:Java集合概述和Set集合
本文主要是Java集合的概述和Set集合 1.Java集合概述 1)数组可以保存多个对象,但数组长度不可变,一旦在初始化数组时指定了数组长度,这个数组长度就是不可变的,如果需要保存数量变化的数据,数组 ...
- Mysql技术内幕-笔记-第二章 数据类型
第二章 数据类型 Mysql中尽量不要使用UNSIGNED,因为可能会带来一些意想不到的效果 SHOW CREATE TABLE tablename\G;查看表的创建语句 ZEROFILL会将宽度小于 ...
- Java笔记:Java 流(Stream)、文件(File)和IO
更新时间:2018-1-7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html java.io 包几乎包含了所有操作输入.输出需要的 ...
- 菜鸡的Java笔记 第二十五 wrapperClass 包装类
wrapperClass 包装类 1.包装类的特点 2.装箱与拆箱操作 3.数据转型处理 内容 Object 类可以接收 ...
- 菜鸡的Java笔记 第二十七 - java 链表基本概念
链表基本概念 1.链表的基本形式 2.单向链表的完整实现 认识链表 链表= 可变长的对象数组,属于动态对象数组的范畴 链表 ...
随机推荐
- 关于布隆过滤器,手写你真的知其原理吗?让我来带你手写redis布隆过滤器。
说到布隆过滤器不得不提到,redis, redis作为现在主流的nosql数据库,备受瞩目:它的丰富的value类型,以及它的偏向计算向数据移动属性减少IO的成本问题.备受开发人员的青睐.通常我们使用 ...
- MySQL where子句的使用
MySQL WHERE 子句 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中. 语法 以下是 ...
- JDK源码阅读(4):HashMap类阅读笔记
HashMap public class HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>, ...
- C++学习 3 结构体
结构体基本概念: 结构体属于用户自定义的数据类型,允许用户存储不同的数据类型: 结构体定义和使用: 语法:struct 结构体名 { 结构体成员列表 }: 通过结构体创建变量名的方式有三种: ...
- bzoj1858SCOI 序列操作 (线段树)
题目大意: 给定一个长度为n的01序列为,现在有m种操作 \(0\ a\ b\) 把\([a,b]\)的数全部修改为0 \(1\ a\ b\) 把\([a,b]\)的数全部修改为1 \(2\ a\ b ...
- java链接并操作数据库
链接准备 MySQL数据库驱动(连接器).mysql-connector-java-x.x.xx.jar会在MySQL安装时提供,若Mysql是默认安装路径,则连接器在:C:\Program File ...
- 数据库已经存在表, django使用inspectdb反向生成model实体类
1.通过inspectdb处理类,可以将现有数据库里的一个或者多个.全部数据库表生成Django model实体类 python manage.py inspectdb --database defa ...
- js--标签语法的使用
前言 在日常开发中我们经常使用到递归.break.continue.return等语句改变程序运行的位置,其实,在 JavaScript 中还提供了标签语句,用于标记指定的代码块,便于跳转到指定的位置 ...
- FastAPI 学习之路(十三)Cookie 参数,Header参数
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...
- Go语言核心36讲(Go语言进阶技术一)--学习笔记
07 | 数组和切片 我们这次主要讨论 Go 语言的数组(array)类型和切片(slice)类型. 它们的共同点是都属于集合类的类型,并且,它们的值也都可以用来存储某一种类型的值(或者说元素). 不 ...