Java学习6——基本数据类型及其转换
Java常量:
Java的常量值用字符串表示,区分不同的数据类型
整型常量123、浮点型常量3.14、字符常量‘a’、逻辑常量true、字符串常量“helloworld”。
ps:此‘常量’区别于final关键字所修饰的不可更改变量。
Java变量:
Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用于。
Java程序中每一个变量都属于特定的数据类型,在使用前必须对其声明,然后必须进行赋值,才能使用。
int i = 100;
float f = 12.2f
double d1, d2, d3 = 0.123; //d1和d2未赋值,d3=0.123
String s = "hello world";
局部变量和成员变量的区别:
局部变量,方法体内部声明的变量(包括形参)。
成员变量,在方法体外,类体内声明的变量。
Java的4种基本数据类型:
布尔型(boolean)、字符型(char)、整数型(byte、short、int、long)、浮点型(float、double)
布尔型(boolean),只允许取值true或false,不可以用0或非0的整数代替true和false(这和C语言不一样)
字符型(char),1、字符常量用单引号括起来的单个字符,2、允许使用转义字符'\'来将其后的字符转变为其他含义,3、Java字符采用Unicode编码,每个字符占两个字节(Unicode是全球语言统一编码)
整数型(byte、short、int、long),1、Java各整数类型有固定的数表示范围,不受具体操作系统的影响,保证了Java程序的可移植性。2、byte型1字节、short型2字节、int型4字节、long型8字节,没有无符号整型。3、正常数值为十进制整数,以0开头数值为八进制整数,以0x开头为十六进制数。4、Java语言的整型常量默认为int型,声明long类常量时数值后必须加上‘l’或‘L’。
int a1 = 600;//正确
long a2 = 666666666666L;//必须加L否则出错
浮点型(float、double),1、Java浮点类型有固定的数表示范围,不受具体操作系统的影响。2、float型4字节、double型8字节。3、两种表示形式:十进制数和科学计数法。4、Java语言的浮点类型常量默认为double型,声明float类常量时数值后必须加上‘f’或‘F’。
double d = 123.456;//正确
float f = 12.34f;//必须加f否则出错
基本数据类型间的转换:
boolean类型不可以转换为其他的数据类型。
整型、字符型、浮点型的数据在混合运算中相互转换,转换时遵循以下原则:
1、容量小的类型自动转换为容量大的数据类型,数据类型按容量大小(不是字节大小)排序为:byte,short,char<int<long<float<double。byte,short,char之间不会互相转换,三者在计算时首先转换为int类型,再计算。
2、容量大的数据类型转换为容量小的数据类型时,要加上强制转换符,但可能造成精度降低或溢出。
3、多种类型的数据混合运算时,系统首先自动的将所有数据转换成容量最大的那一种数据类型,然后再进行计算。
int i = 1, j = 12;
float f1 = 0.1f;
float f2 = 123f;
long l1 = 1234567L, l2 = 88888888888L;
double d1 = 2e20, d2 = 124;
byte b1 = 1, b2 = 2, b3 = 127;
j = j + 10;
i = i / 10;
i = (int) i * 0.1;
char c1 = 'a', c2 = 125;
byte b = (byte) b1 - b2;
char c = (char) c1 + c2 = 1;
float f3 = f1 + f2;
float f4 = (float) f1 + f2 * 0.1;
double d = d1 * i + j;
float f = (float) (d1 * 5 + d2);
Java学习6——基本数据类型及其转换的更多相关文章
- Java学习笔记2——数据类型和转换
前提知识: 1字节=8bit:1bit以一个二极管表示,代表2个状态(0或者1):2bit代表22即4种状态(00,01,10,11),8bit即是28即256种状态,16bit即是65536种状态. ...
- Java学习之基本数据类型
基本类型,或者叫做内置类型,是JAVA中不同于类的特殊类型.它们是我们编程中使用最频繁的类型.java是一种强类型语言,第一次申明变量必须说明数据类型,第一次变量赋值称为变量的初始化. 1. Java ...
- java中的基本数据类型的转换
本文参考了如下两篇文章: https://my.oschina.net/joymufeng/blog/139952 http://www.cnblogs.com/lwbqqyumidi/p/37001 ...
- 【原】Java学习笔记003 - 数据类型
package cn.temptation; public class Sample01 { public static void main(String[] args) { System.out.p ...
- Java 常用知识点汇总(数据类型之间转换、字符串的相关操作-截取、转换大小写等)
1.Java四类八种数据类型 byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围- ...
- Java学习之基本数据类型和引用数据类型区别
JAVA中分为基本数据类型和引用数据类型区别一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存 ...
- Java学习总结一 数据类型
@Java300 学习总结 一.Java 基本数据类型分类如下: 整型变量:byte.short.int.long 浮点型变量:float.double 字符型变量:char 布尔型变量:boolea ...
- Java学习笔记三——数据类型
前言 Java是强类型(strongly typed)语言,强类型包含两方面的含义: 所有的变量必须先声明后使用: 指定类型的变量只能接受预支匹配的值. 这意味着每一个变量和表达式都有一个在编译时就确 ...
- 1 Java学习之 基本数据类型
1. 基本概念 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式.接触每种语言的时候,都会存在数据类型的认识,有复杂的.简单的,各种数据类型都需要在学习 ...
随机推荐
- 设计模式的征途—19.命令(Command)模式
在生活中,我们装修新房的最后几道工序之一是安装插座和开关,通过开关可以控制一些电器的打开和关闭,例如电灯或换气扇.在购买开关时,用户并不知道它将来到底用于控制什么电器,也就是说,开关与电灯.换气扇并无 ...
- c++类大小问题
1.空类 class A { }; 解析:类的实例化就是为每个实例在内存中分配一块地址:每个类在内存中都有唯一的标识,因此空类被实例化时,编译器会隐含地为其添加一个字节,以作区分. 2.虚函数类 cl ...
- Window检测网络连接情况
Window检测网络连接情况 #include "Wininet.h" #pragma comment(lib,"Wininet.lib") DWORD fla ...
- 使用Python写一个贪吃蛇
参考代码http://blog.csdn.net/leepwang/article/details/7640880 我在程序中加入了分数显示,三种特殊食物,将贪吃蛇的游戏逻辑写到了SnakeGame的 ...
- Tab选框
<html>代码 基本架构:一个大的div下面2个ul,ul下面各三个li <div class="big"> <ul class="con ...
- 百度将与W3C中国召开MIP技术研讨会
百度计划与W3C中国共同组织国内W3C会员,于8月30日召开MIP 技术研讨会,讨论 MIP 等技术相关的应用标准,以期推进 MIP/AMP 在W3C中国的标准化进程. MIP (Mobile Ins ...
- 实现quartz定时器及quartz定时器原理介绍(转)
一.核心概念 Quartz的原理不是很复杂,只要搞明白几个概念,然后知道如何去启动和关闭一个调度程序即可.1.Job表示一个工作,要执行的具体内容.此接口中只有一个方法void execute(Job ...
- 50个Java多线程面试题(上)
Java 语言一个重要的特点就是内置了对并发的支持,让 Java 大受企业和程序员的欢迎.大多数待遇丰厚的 Java 开发职位都要求开发者精通多线程技术并且有丰富的 Java 程序开发.调试.优化经验 ...
- /bin,/sbin,/usr/sbin,/usr/bin 目录
这些目录都是存放命令的,首先区别下/sbin和/bin: 从命令功能来看,/sbin 下的命令属于基本的系统命令,如shutdown,reboot,用于启动系统,修复系统,/bin下存放一些普通的基本 ...
- 高CPU业务场景下的任务分发方案Gearman搭建一览
Gearman是当年LiveJournal用来做图片resize的,大家也明白图片resize是一个高CPU的操作,如果让web网站去做这个高CPU的功能,有可能会拖垮你的 web应用,那本篇我们 ...